Hi list,
I'm working under Havana.
openstack-neutron.noarch
2013.2-1.el6 @openstack-havana
openstack-neutron-linuxbridge.noarch 2013.2-1.el6 @openstack-havana
openstack-neutron-openvswitch.noarch 2013.2-1.el6 @openstack-havana
python-neutron.noarch 2013.2-1.el6
@openstack-havana
python-neutronclient.noarch 2.3.1-2.el6
@openstack-havana
I met an issue here:
1. We have a network "vlan-1" working under VLAN mode.
2. For instance booted from network "vlan-1", on compute node, easy to
observed the vlan tag on the virtual port is "1":
ovs-vsctl show
b3ac6cf1-a2c1-4e64-9bf4-ac8e84814332
Bridge br-int
......
Port "qvod36113be-0f"
tag: 1
Interface "qvod36113be-0f"
......
3. Issue : the dhcp agent on network node, its virtual port's vlan id is
not "1":
ovs-vsctl show
34e0c8b4-315c-42c5-9d7d-183d3a6fbd83
......
Bridge br-int
Port "tapc14349df-c0"
tag: 4095
Interface "tapc14349df-c0"
......
I have learned that VLAN tag 4095 has special meaning that the port is "dead".
By searching bugs, I found this one:
https://bugs.launchpad.net/neutron/+bug/1269795
But, the biggest difference between my issue and this bug is:
even I removed everything from openvswitch, and restart
neutron-openvswitch-agent & neutron-dhcp-agent, the port is still not work.
While the bug reporter said if restart neutron-openvswitch-agent, things would
back to work.
I did some tests like this:
1. The init status on network node:
a. ip netns => empty
b. ovs-vsctl show => only br-int & br-eth4(phynet) exit
34e0c8b4-315c-42c5-9d7d-183d3a6fbd83
Bridge br-int
Port br-int
Interface br-int
type: internal
Bridge "br-eth4"
Port "br-eth4"
Interface "br-eth4"
type: internal
Port "eth4"
Interface "eth4"
ovs_version: "1.11.0"
2. Start neutron-openvswitch-agent
3. Start neutron-dhcp-agent
Then I noticed the log in openvswitch-agent.log:
2014-06-04 14:17:56.627 41763 DEBUG neutron.agent.linux.utils [-]
Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf',
'ovs-vsctl', '--timeout=2', '--', '--columns=external_ids,name,ofport', 'find',
'Interface', 'external_ids:iface-id="c14349df-c064-4731-ae50-de50dc0fef37"']
Exit code: 0
Stdout: 'external_ids : {attached-mac="fa:18:3e:9b:46:4d",
iface-id="c14349df-c064-4731-ae50-de50dc0fef37", iface-status=active}\nname
: "tapc14349df-c0"\nofport : 8\n'
Stderr: '' execute
/usr/lib/python2.6/site-packages/neutron/agent/linux/utils.py:60
2014-06-04 14:17:56.628 41763 DEBUG
neutron.plugins.openvswitch.agent.ovs_neutron_agent [-] Device
c14349df-c064-4731-ae50-de50dc0fef37 not defined on plugin treat_devices_added
/usr/lib/python2.6/site-packages/neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:931
2014-06-04 14:17:56.628 41763 DEBUG neutron.agent.linux.utils [-] Running
command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf',
'ovs-vsctl', '--timeout=2', 'set', 'Port', 'tapc14349df-c0', 'tag=4095']
execute /usr/lib/python2.6/site-packages/neutron/agent/linux/utils.py:43
2014-06-04 14:17:56.726 41763 DEBUG neutron.agent.linux.utils [-]
Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf',
'ovs-vsctl', '--timeout=2', 'set', 'Port', 'tapc14349df-c0', 'tag=4095']
Exit code: 0
Stdout: ''
.......
In function treat_devices_added , openvswitch-agent try to get details for this
port from RPC, so I checked neutron-server's log, and I get:
2014-06-04 06:35:56.603 78765 WARNING neutron.plugins.ml2.plugin [-] In
_notify_port_updated(), no bound segment for port
c14349df-c064-4731-ae50-de50dc0fef37 on network
c7e26ebc-078b-4375-b313-795a89a9d8bd
2014-06-04 06:35:57.695 78765 WARNING neutron.plugins.ml2.rpc [-] Device
c14349df-c064-4731-ae50-de50dc0fef37 requested by agent ovs36f40340c540 on
network c7e26ebc-078b-4375-b313-795a89a9d8bd not bound, vif_type: unbound
This log happens when I start neutron-dhcp-agent.
Obviously, currently, when dhcp-agent start, it try to use the already exist
port c1...37 (because the port used to work for dhcp).
Would/Should DHCP agent change the port status ?
But, why the port is still in "down" status ??
Looks like openvswitch-agent take this port as a dead port due to the wrong
status in database:
neutron port-show c14349df-c064-4731-ae50-de50dc0fef37
+-----------------------+------------------------------------------------------------------------------------+
| Field | Value
|
+-----------------------+------------------------------------------------------------------------------------+
| admin_state_up | True
|
| allowed_address_pairs |
|
| binding:capabilities | {"port_filter": false}
|
| binding:host_id |
|
| binding:vif_type | unbound
|
| device_id |
dhcpb5e69c7b-a9a1-5cb7-9d79-465144102f2a-c7e26ebc-078b-4375-b313-795a89a9d8bd
|
| device_owner | network:dhcp
|
| extra_dhcp_opts |
|
| fixed_ips | {"subnet_id": "22789dfc-e41e-412c-a325-10a210f176c5",
"ip_address": "30.1.100.19"} |
| id | c14349df-c064-4731-ae50-de50dc0fef37
|
| mac_address | fa:18:3e:9b:46:4d
|
| name |
|
| network_id | c7e26ebc-078b-4375-b313-795a89a9d8bd
|
| security_groups |
|
| status | DOWN
|
| tenant_id | 45c69667e2a64c889719ef8d8e0dd098
|
+-----------------------+------------------------------------------------------------------------------------+
Thanks,
-chen
_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev