Comment 7 for bug 1012144

Revision history for this message
Joe T (joe-topjian-v) wrote :

Hi Mark,

I ran some tests.

Let my nova-network node be called "cloud" and let my compute node be called "c02".

I have two projects, everything hosted on "c02" at the moment (I have c01, but I will not introduce that yet).

I have both fixed and floating IPs on two instances in project1 and one instance in project2.

hairpin is off on both cloud and c02 (cat /sys/class/net/vlan300 returns 0).

project1 can ping project2 via floating ip.

project1 vm1 cannot ping project1 vm2.

cloud can ping both vm1 and vm2 via floating and fixed ip.

hairpin is set on cloud for vlan300, there are no changes.

Odd: If I leave ping running on cloud, and then ping vm2 from vm1, ping on cloud stops. I must kill both pings in order for the initial ping on cloud to resume.

I then set hairpin on c02, no change and at times I even saw packet loss.

Eventually from doing tests, I lost total connectivity to one vm and had to reboot. After more time, I was unable to reboot or create new instances because the instances could not reach dhcp on cloud. I turned hairpin off on cloud and things are back to "normal".

Let me know if you need clarifications on any certain tests or if I can provide output of anything.

Regarding the "for loop" output, I'm sure you can visualize the output from the above descriptions but just for reference:

before setting hairpin:

cloud:
/sys/class/net/bond0
/sys/class/net/bonding_masters
/sys/class/net/br300
/sys/class/net/br301
/sys/class/net/eth0
/sys/class/net/eth1
/sys/class/net/eth2
/sys/class/net/eth3
/sys/class/net/lo
/sys/class/net/vlan20
/sys/class/net/vlan30
/sys/class/net/vlan300 0
/sys/class/net/vlan301 0

c02:
/sys/class/net/bond0
/sys/class/net/bonding_masters
/sys/class/net/br300
/sys/class/net/br301
/sys/class/net/eth0
/sys/class/net/eth1
/sys/class/net/eth2
/sys/class/net/eth3
/sys/class/net/lo
/sys/class/net/virbr0
/sys/class/net/vlan30
/sys/class/net/vlan300 0
/sys/class/net/vlan301 0
/sys/class/net/vnet0 1
/sys/class/net/vnet1 1
/sys/class/net/vnet2 0

After hairpin was set, the only change was that vlan300 was set to 1.