RDO tickets are now tracked in Jira https://issues.redhat.com/projects/RDO/issues/
Bug 1019487 - neutron-dhcp-agent fails to start without openstack-neutron-openvswitch installed
Summary: neutron-dhcp-agent fails to start without openstack-neutron-openvswitch insta...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RDO
Classification: Community
Component: openstack-neutron
Version: unspecified
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
: ---
Assignee: Ihar Hrachyshka
QA Contact: Ofer Blaut
URL:
Whiteboard: network
Depends On:
Blocks: 1070113
TreeView+ depends on / blocked
 
Reported: 2013-10-15 20:43 UTC by Aron Parsons
Modified: 2016-04-26 18:10 UTC (History)
6 users (show)

Fixed In Version: openstack-neutron-2014.1.1-7.el6 openstack-neutron-2014.1.1-7.el7 openstack-neutron-2014.1.1-7.fc21 openstack-neutron-2013.2.3-10.el6 openstack-neutron-2013.2.3-12.fc20
Clone Of:
: 1070113 (view as bug list)
Environment:
Last Closed: 2016-03-30 23:11:38 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1271449 0 None None None Never

Description Aron Parsons 2013-10-15 20:43:41 UTC
Description of problem:
neutron-dhcp-agent always tries to import openvswitch.common, but it may not be installed if you opted to not use openvswitch in your packstack answer file.

Version-Release number of selected component (if applicable):
openstack-neutron-2013.2-0.12.rc1.el6.noarch

How reproducible:
always

Steps to Reproduce:
1. install openstack via packstack without openvswitch support
2. service neutron-dhcp-agent start

Actual results:
neutron-dhcp-agent fails to start

Expected results:
neutron-dhcp-agent starts

Additional info:
-bash-4.1$ rpm -qa | grep neutron | sort
openstack-neutron-2013.2-0.12.rc1.el6.noarch
openstack-neutron-bigswitch-2013.2-0.12.rc1.el6.noarch
openstack-neutron-brocade-2013.2-0.12.rc1.el6.noarch
openstack-neutron-cisco-2013.2-0.12.rc1.el6.noarch
openstack-neutron-hyperv-2013.2-0.12.rc1.el6.noarch
openstack-neutron-linuxbridge-2013.2-0.12.rc1.el6.noarch
openstack-neutron-mellanox-2013.2-0.12.rc1.el6.noarch
openstack-neutron-metaplugin-2013.2-0.12.rc1.el6.noarch
openstack-neutron-midonet-2013.2-0.12.rc1.el6.noarch
openstack-neutron-ml2-2013.2-0.12.rc1.el6.noarch
openstack-neutron-nec-2013.2-0.12.rc1.el6.noarch
openstack-neutron-nicira-2013.2-0.12.rc1.el6.noarch
openstack-neutron-plumgrid-2013.2-0.12.rc1.el6.noarch
openstack-neutron-ryu-2013.2-0.12.rc1.el6.noarch
openstack-neutron-vpn-agent-2013.2-0.12.rc1.el6.noarch
python-neutron-2013.2-0.12.rc1.el6.noarch
python-neutronclient-2.3.1-1.el6.noarch

-bash-4.1$ neutron-dhcp-agent -h
Traceback (most recent call last):
  File "/usr/bin/neutron-dhcp-agent", line 6, in <module>
    from neutron.agent.dhcp_agent import main
  File "/usr/lib/python2.6/site-packages/neutron/agent/dhcp_agent.py", line 27, in <module>
    from neutron.agent.linux import interface
  File "/usr/lib/python2.6/site-packages/neutron/agent/linux/interface.py", line 25, in <module>
    from neutron.agent.linux import ovs_lib
  File "/usr/lib/python2.6/site-packages/neutron/agent/linux/ovs_lib.py", line 27, in <module>
    from neutron.plugins.openvswitch.common import constants
ImportError: No module named openvswitch.common

-bash-4.1$ sudo yum -q -y install openstack-neutron-openvswitch
[sudo] password for parsonsa: 

-bash-4.1$ neutron-dhcp-agent -h
usage: neutron-dhcp-agent [-h] [--config-dir DIR] [--config-file PATH]
                          [--debug] [--log-config PATH]
                          [--log-date-format DATE_FORMAT] [--log-dir LOG_DIR]
...

Comment 1 Lars Kellogg-Stedman 2014-01-15 16:05:25 UTC
Can you confirm that this is still an issue with the updated packages currently in RDO?

Comment 2 Aron Parsons 2014-01-16 21:11:43 UTC
Yes, the Requires: is still not there in openstack-neutron-2013.2.1-1.el6.noarch.rpm

Comment 3 Lars Kellogg-Stedman 2014-01-16 22:27:19 UTC
Behavior is as described, and is caused by the following in neutron/agent/linux_ovs_lib.py:

  #  TODO(JLH) Should we remove the explicit include of the ovs plugin here
  from neutron.plugins.openvswitch.common import constants

This import still exists in neutron master, so for now we can just unilaterally include the openstack-neutron-openvswitch package unilaterally and add an appropriate Requires: to openstack-neutron.

Comment 4 Ihar Hrachyshka 2014-07-17 12:18:12 UTC
The fix is not to depend on openstack-neutron-openvswitch, but to move all python files back to python-neutron, so as to avoid any hidden import dependencies being broken by python code split among plugin packages.


Note You need to log in before you can comment on or make changes to this bug.