Thanx Vish, On the name resolution: would you consider this a bug (I can file one if you would like) or a feature? Could this be fixed by changing the /usr/bin/nova-dhcpbridge script to load all mac, hostname, ip combinations for the database instead of just the physical hosts one? Or would this create other issues?
Security rules are setup correctly I guess, as all traffic to and from vm's running on the same host is not experiencing any issues. nova secgroup-list-rules default +-------------+-----------+---------+-----------+--------------+ | IP Protocol | From Port | To Port | IP Range | Source Group | +-------------+-----------+---------+-----------+--------------+ | icmp | -1 | -1 | 0.0.0.0/0 | | | tcp | 22 | 22 | 0.0.0.0/0 | | +-------------+-----------+---------+-----------+--------------+ The bonding might indeed be an issue, we are currently running a adaptive load balancing bond, thus the physical traffic can jump for one physical interface to the other at any time... I will try an disable the bonds and get back to you ass soon as I have done that. Kind regards bram On 1-jun-2012, at 09:04, Vishvananda Ishaya wrote: > Ideas inline. > > Vish > > On May 31, 2012, at 1:41 PM, Bram De Wilde wrote: > >> Hi all, >> >> Can I request some help in resolving a vlan networking issue we are >> encountering in the final stages of our openstack installation? >> >> We have installed a multi host vlan network configuration on 3 hosts all >> running ubuntu 12.04 (openstack essex ). >> >> One of these hosts is a "public" host running the compute and network >> services, the other 2 hosts are on a private vlan and are running compute >> and network as well as all other components of the openstack installation. >> All physical hosts have 2 nic's in a bond (for redundancy) configured with >> an ip in the 10.0.0.0/24 range as a private network. >> >> The vm networks we have created are in the 192.168.0.0/16 range and the >> appropriate vlan tagged networks have been created on the switch. >> >> All openstack components are running fine as we can create, run and live >> migrate instances with no issues. All vm's can contact all physical hosts in >> the 10.0.0.0/24 range as well as the outside word using a proxy running on >> the 10.0.0.254 ip. >> >> The problem arrises when we try to communicate in between vm's running on >> different hosts: >> - name resolution is not working for vm's running on different physical >> hosts ( I suppose dns should work, no? ) > > This is expected in multihost mode. The copy of dnsmasq that runs on each > host only knows about its own vms. You will need to set up a shared dns if > you really need this to work. > >> - all packages of communication performed using the ip of the vm directly ( >> ping, ssh, ...) are arriving on the bridge interface of the physical host >> running the vm we are tying to reach, but the vm itself is not picking up or >> responding to the requests... > > Have you set up security group rules to allow the traffic? That is the only > reason I can think that packets wouldn't be getting into the vnet if it is > showing up on the bridge. There is also a possiblity that bonding + bridging > + vlans has some sort of an issue. > >> >> The weird thing is, when we start 2 vm's on the same physical host, name >> resolution and networking are working fine. When we then live-migrate one of >> the vm's to a new physical host, the networking will continue to work for a >> varying amount of time after the live migration has completed! A variable >> amount of the packages start getting lost until we end up with no >> communication being possible in between the virtual machines. ( after new >> dhcp lease? arp table getting flushed?... ) >> >> As no errors are appearing in any of the nova logs (all on verbose...) or in >> the syslog (from the dnsmasq) I really have no clue as to what might be >> causing this issue... or is it a bug? >> >> My feeling is the per physical host vm gateway is not performing as it >> should and not routing the packages correctly in between physical hosts but >> I have no idea on how to check this other than capture the packages on the >> bridge interface and observe the requests not getting answered... >> Another option is the problem residing with the 2 physical interfaces in the >> network bond... but wireshark is showing all packages are arriving on the >> bridge interface where the vm we are trying to reach is residing so this >> seems unlikely? >> >> I have included the nova.conf the ifconfig and the iptables (+nat) of one of >> the physical hosts in this mail but can provide any other output if this >> might be helpful. >> >> Kind regards, >> Bram >> >> ################### >> # /etc/nova/nova.conf >> ################### >> >> --dhcpbridge_flagfile=/etc/nova/nova.conf >> --dhcpbridge=/usr/bin/nova-dhcpbridge >> --logdir=/var/log/nova >> --state_path=/var/lib/nova >> --lock_path=/var/lock/nova >> ##--force_dhcp_release >> ##--iscsi_helper=tgtadm >> --libvirt_use_virtio_for_bridges >> --connection_type=libvirt >> --root_helper=sudo nova-rootwrap >> --verbose >> --ec2_private_dns_show_ip >> --auth_strategy=keystone >> --rabbit_host=10.0.0.100 >> --nova_url=http://10.0.0.100:8774/v1.1/ >> --floating_range=999.999.999.0/24 >> --fixed_range=192.168.0.0/16 >> --routing_source_ip=10.0.0.103 >> --sql_connection=postgresql://clouddbadmin:[email protected]/nova >> --glance_api_servers=10.0.0.100:9292 >> --image_service=nova.image.glance.GlanceImageService >> --network_manager=nova.network.manager.VlanManager >> --vlan_interface=bond0 >> --public_interface=eth0 >> --multi-host=true >> >> ################### >> # ifconfig >> ################### >> >> bond0 Link encap:Ethernet HWaddr bc:30:5b:dd:0c:8a >> inet addr:10.0.0.103 Bcast:10.0.0.255 Mask:255.255.255.0 >> inet6 addr: fe80::be30:5bff:fedd:c8a/64 Scope:Link >> UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 >> RX packets:1400289 errors:0 dropped:67725 overruns:0 frame:0 >> TX packets:2414277 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:0 >> RX bytes:1288957456 (1.2 GB) TX bytes:3217320483 (3.2 GB) >> >> br1997 Link encap:Ethernet HWaddr fa:16:3e:50:1f:3f >> inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 >> inet6 addr: fe80::182b:5aff:feda:38f3/64 Scope:Link >> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> RX packets:8 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:58 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:0 >> RX bytes:488 (488.0 B) TX bytes:4940 (4.9 KB) >> >> br1998 Link encap:Ethernet HWaddr fa:16:3e:1e:4a:ab >> inet addr:192.168.0.4 Bcast:192.168.0.255 Mask:255.255.255.0 >> inet6 addr: fe80::5014:d5ff:fe05:93dd/64 Scope:Link >> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> RX packets:4200 errors:0 dropped:15 overruns:0 frame:0 >> TX packets:5024 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:0 >> RX bytes:433834 (433.8 KB) TX bytes:20260632 (20.2 MB) >> >> eth0 Link encap:Ethernet HWaddr bc:30:5b:dd:0c:86 >> inet addr:999.999.999.58 Bcast:999.999.999.255 Mask:255.255.255.0 >> inet6 addr: fe80::be30:5bff:fedd:c86/64 Scope:Link >> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> RX packets:38664 errors:0 dropped:246 overruns:0 frame:0 >> TX packets:27311 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:1000 >> RX bytes:5127536 (5.1 MB) TX bytes:28006322 (28.0 MB) >> Interrupt:36 Memory:d6000000-d6012800 >> >> eth1 Link encap:Ethernet HWaddr bc:30:5b:dd:0c:88 >> inet addr:157.193.229.69 Bcast:157.193.229.255 Mask:255.255.255.0 >> inet6 addr: fe80::be30:5bff:fedd:c88/64 Scope:Link >> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> RX packets:21745 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:1000 >> RX bytes:2593490 (2.5 MB) TX bytes:1312 (1.3 KB) >> Interrupt:48 Memory:d8000000-d8012800 >> >> eth2 Link encap:Ethernet HWaddr bc:30:5b:dd:0c:8a >> UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 >> RX packets:322566 errors:0 dropped:2 overruns:0 frame:0 >> TX packets:1132927 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:1000 >> RX bytes:171375115 (171.3 MB) TX bytes:1563837296 (1.5 GB) >> Interrupt:32 Memory:da000000-da012800 >> >> eth3 Link encap:Ethernet HWaddr bc:30:5b:dd:0c:8c >> UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 >> RX packets:1077723 errors:0 dropped:67478 overruns:0 frame:0 >> TX packets:1281350 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:1000 >> RX bytes:1117582341 (1.1 GB) TX bytes:1653483187 (1.6 GB) >> Interrupt:42 Memory:dc000000-dc012800 >> >> lo Link encap:Local Loopback >> inet addr:127.0.0.1 Mask:255.0.0.0 >> inet6 addr: ::1/128 Scope:Host >> UP LOOPBACK RUNNING MTU:16436 Metric:1 >> RX packets:342519 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:342519 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:0 >> RX bytes:3762417359 (3.7 GB) TX bytes:3762417359 (3.7 GB) >> >> virbr0 Link encap:Ethernet HWaddr ce:c0:87:1e:39:52 >> inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 >> UP BROADCAST MULTICAST MTU:1500 Metric:1 >> RX packets:0 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:0 >> RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) >> >> vlan1997 Link encap:Ethernet HWaddr fa:16:3e:50:1f:3f >> inet6 addr: fe80::f816:3eff:fe50:1f3f/64 Scope:Link >> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> RX packets:9 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:116 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:0 >> RX bytes:534 (534.0 B) TX bytes:7756 (7.7 KB) >> >> vlan1998 Link encap:Ethernet HWaddr fa:16:3e:1e:4a:ab >> inet6 addr: fe80::f816:3eff:fe1e:4aab/64 Scope:Link >> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> RX packets:482 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:497 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:0 >> RX bytes:34886 (34.8 KB) TX bytes:50938 (50.9 KB) >> >> vnet2 Link encap:Ethernet HWaddr fe:16:3e:6c:af:bc >> inet6 addr: fe80::fc16:3eff:fe6c:afbc/64 Scope:Link >> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> RX packets:383 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:280 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:500 >> RX bytes:84937 (84.9 KB) TX bytes:39749 (39.7 KB) >> >> >> ################### >> # sudo iptables -L >> ################### >> >> Chain INPUT (policy ACCEPT) >> target prot opt source destination >> nova-compute-INPUT all -- anywhere anywhere >> nova-network-INPUT all -- anywhere anywhere >> ACCEPT udp -- anywhere anywhere udp dpt:domain >> ACCEPT tcp -- anywhere anywhere tcp dpt:domain >> ACCEPT udp -- anywhere anywhere udp dpt:bootps >> ACCEPT tcp -- anywhere anywhere tcp dpt:bootps >> >> Chain FORWARD (policy ACCEPT) >> target prot opt source destination >> nova-filter-top all -- anywhere anywhere >> nova-compute-FORWARD all -- anywhere anywhere >> nova-network-FORWARD all -- anywhere anywhere >> ACCEPT all -- anywhere 192.168.122.0/24 state >> RELATED,ESTABLISHED >> ACCEPT all -- 192.168.122.0/24 anywhere >> ACCEPT all -- anywhere anywhere >> REJECT all -- anywhere anywhere reject-with >> icmp-port-unreachable >> REJECT all -- anywhere anywhere reject-with >> icmp-port-unreachable >> >> Chain OUTPUT (policy ACCEPT) >> target prot opt source destination >> nova-filter-top all -- anywhere anywhere >> nova-compute-OUTPUT all -- anywhere anywhere >> nova-network-OUTPUT all -- anywhere anywhere >> >> Chain nova-compute-FORWARD (1 references) >> target prot opt source destination >> >> Chain nova-compute-INPUT (1 references) >> target prot opt source destination >> >> Chain nova-compute-OUTPUT (1 references) >> target prot opt source destination >> >> Chain nova-compute-inst-97 (1 references) >> target prot opt source destination >> DROP all -- anywhere anywhere state INVALID >> ACCEPT all -- anywhere anywhere state >> RELATED,ESTABLISHED >> nova-compute-provider all -- anywhere anywhere >> ACCEPT udp -- 192.168.0.4 anywhere udp spt:bootps >> dpt:bootpc >> ACCEPT all -- 192.168.0.0/24 anywhere >> ACCEPT icmp -- anywhere anywhere >> ACCEPT tcp -- anywhere anywhere tcp dpt:ssh >> nova-compute-sg-fallback all -- anywhere anywhere >> >> Chain nova-compute-local (1 references) >> target prot opt source destination >> nova-compute-inst-97 all -- anywhere 192.168.0.40 >> >> Chain nova-compute-provider (1 references) >> target prot opt source destination >> >> Chain nova-compute-sg-fallback (1 references) >> target prot opt source destination >> DROP all -- anywhere anywhere >> >> Chain nova-filter-top (2 references) >> target prot opt source destination >> nova-compute-local all -- anywhere anywhere >> nova-network-local all -- anywhere anywhere >> >> Chain nova-network-FORWARD (1 references) >> target prot opt source destination >> ACCEPT all -- anywhere anywhere >> ACCEPT all -- anywhere anywhere >> ACCEPT udp -- anywhere 192.168.1.2 udp dpt:openvpn >> ACCEPT all -- anywhere anywhere >> ACCEPT all -- anywhere anywhere >> ACCEPT udp -- anywhere 192.168.0.2 udp dpt:openvpn >> >> Chain nova-network-INPUT (1 references) >> target prot opt source destination >> ACCEPT udp -- anywhere anywhere udp dpt:bootps >> ACCEPT tcp -- anywhere anywhere tcp dpt:bootps >> ACCEPT udp -- anywhere anywhere udp dpt:domain >> ACCEPT tcp -- anywhere anywhere tcp dpt:domain >> ACCEPT udp -- anywhere anywhere udp dpt:bootps >> ACCEPT tcp -- anywhere anywhere tcp dpt:bootps >> ACCEPT udp -- anywhere anywhere udp dpt:domain >> ACCEPT tcp -- anywhere anywhere tcp dpt:domain >> >> Chain nova-network-OUTPUT (1 references) >> target prot opt source destination >> >> Chain nova-network-local (1 references) >> target prot opt source destination >> >> ################### >> # sudo iptables -L -t nat >> ################### >> >> Chain PREROUTING (policy ACCEPT) >> target prot opt source destination >> nova-compute-PREROUTING all -- anywhere anywhere >> nova-network-PREROUTING all -- anywhere anywhere >> >> Chain INPUT (policy ACCEPT) >> target prot opt source destination >> >> Chain OUTPUT (policy ACCEPT) >> target prot opt source destination >> nova-compute-OUTPUT all -- anywhere anywhere >> nova-network-OUTPUT all -- anywhere anywhere >> >> Chain POSTROUTING (policy ACCEPT) >> target prot opt source destination >> nova-compute-POSTROUTING all -- anywhere anywhere >> nova-network-POSTROUTING all -- anywhere anywhere >> nova-postrouting-bottom all -- anywhere anywhere >> >> Chain nova-compute-OUTPUT (1 references) >> target prot opt source destination >> >> Chain nova-compute-POSTROUTING (1 references) >> target prot opt source destination >> >> Chain nova-compute-PREROUTING (1 references) >> target prot opt source destination >> >> Chain nova-compute-float-snat (1 references) >> target prot opt source destination >> >> Chain nova-compute-snat (1 references) >> target prot opt source destination >> nova-compute-float-snat all -- anywhere anywhere >> >> Chain nova-network-OUTPUT (1 references) >> target prot opt source destination >> DNAT udp -- anywhere 999.999.999.58 udp dpt:1000 >> to:192.168.1.2:1194 >> DNAT udp -- anywhere 999.999.999.58 udp dpt:1000 >> to:192.168.0.2:1194 >> >> Chain nova-network-POSTROUTING (1 references) >> target prot opt source destination >> ACCEPT all -- 192.168.0.0/16 999.999.999.58 >> ACCEPT all -- 192.168.0.0/16 10.128.0.0/24 >> ACCEPT all -- 192.168.0.0/16 192.168.0.0/16 ! ctstate DNAT >> >> Chain nova-network-PREROUTING (1 references) >> target prot opt source destination >> DNAT tcp -- anywhere 169.254.169.254 tcp dpt:http >> to:999.999.999.58:8775 >> DNAT udp -- anywhere 999.999.999.58 udp dpt:1000 >> to:192.168.1.2:1194 >> DNAT udp -- anywhere 999.999.999.58 udp dpt:1000 >> to:192.168.0.2:1194 >> >> Chain nova-network-float-snat (1 references) >> target prot opt source destination >> >> Chain nova-network-snat (1 references) >> target prot opt source destination >> nova-network-float-snat all -- anywhere anywhere >> SNAT all -- 192.168.0.0/16 anywhere to:10.0.0.103 >> >> Chain nova-postrouting-bottom (1 references) >> target prot opt source destination >> nova-compute-snat all -- anywhere anywhere >> nova-network-snat all -- anywhere anywhere >> _______________________________________________ >> Mailing list: https://launchpad.net/~openstack >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~openstack >> More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : [email protected] Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp

