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
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to