Bug 1087647
Summary: | Neutron Open vSwitch agent init script assumes use of Open vSwitch plug-in | ||
---|---|---|---|
Product: | [Community] RDO | Reporter: | Matt Kassawara <mkassawara> |
Component: | openstack-neutron | Assignee: | Ihar Hrachyshka <ihrachys> |
Status: | CLOSED NOTABUG | QA Contact: | Ofer Blaut <oblaut> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | unspecified | CC: | apevec, chrisw, ihrachys, kchamart, majopela, mkassawara, racedoro, robert.vanleeuwen, yeylon |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-09-30 11:46:47 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Matt Kassawara
2014-04-14 23:16:55 UTC
I just checked on a systemd-based system, I think I can confirm what you're seeing: I checked with this package version -- openstack-neutron-2014.1.1-1.fc21 $ cat /usr/lib/systemd/system/neutron-openvswitch-agent.service | grep Service -A5 [Service] Type=simple User=neutron ExecStart=/usr/bin/neutron-openvswitch-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini --log-file /var/log/neutron/openvswitch-agent.log PrivateTmp=true $ cat /usr/lib/systemd/system/neutron-server.service | grep Service -A5 [Service] Type=simple User=neutron ExecStart=/usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --log-file /var/log/neutron/server.log PrivateTmp=true However, I don't see a trace (in/var/log/neutron/openvswitch-agent.log) similar to you when I restart Neutron OVS agent. This, I tested with openstack-neutron-openvswitch-2013.2.3-7.fc20.noarch FYI: the bug was discussed by RDO packaging neutron team, and it was pointed out that: - current approach, not ideal in any way, still works; - any change like that will require synchronised effort on both neutron and installers' (packstack, foreman, ...) side; - we will need to cope with any upgrade issues (people configuring their agent via old config file missing their configuration after upgrade to new plugin.ini -> ml2 symlink. That said, it was pushed further in the future. And another point: if you're interested in smooth installation, I recommend you to use available installers (packstack being the most mature). Just hit this issue. As it currently is the documented setup (with symlinking the /etc/neutron/plugin.ini file to the appropriate location) of the old/ml2 config does not work. Documentation: http://docs.openstack.org/icehouse/install-guide/install/yum/content/neutron-ml2-controller-node.html Could we please make sure the docs actually work? We could always fallback to the old location if /etc/neutron/plugin.ini does not exist for backwards compatibility... Now it needs troubleshooting and a ugly hack to get it to work (making and maintaining our own the init script or symlinking plugins/openvswitch/ovs_neutron_plugin.ini to the ml2.ini) Ok, there is some confusion on what daemon uses what. It appears that, although ml2 is configured, for openvswitch the openvswitch.ini file should still be used. The symlink for plug.ini to ml2.ini is just used for the server part? Documentation should be a bit more clear on this. At least according to this mailthread: http://www.gossamer-threads.com/lists/openstack/operators/39745 (In reply to robert.vanleeuwen from comment #5) > Ok, there is some confusion on what daemon uses what. > It appears that, although ml2 is configured, for openvswitch the > openvswitch.ini file should still be used. > > The symlink for plug.ini to ml2.ini is just used for the server part? > Documentation should be a bit more clear on this. > > At least according to this mailthread: > http://www.gossamer-threads.com/lists/openstack/operators/39745 I agree with robert here. It's common that you have a network node, and this network node doesn't require ML2 installed (ml2 is only mandatory to the controller). In that case the missing setting should be added to the ovs ini file, which our deployment tools do (or used to do for icehouse at least): BTW, same upstream: https://github.com/openstack/neutron/blob/master/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini#L154 Probably looks like a bug in neutron itself needing to declare a default firewall_driver in the ovs_neutron_plugin.ini Read thru the forum thread, and the puppet patch [1]. Here is a brief summary of my understanding: - ML2 plugin may not be present on Compute/Networker node; - using explicit ovs_neutron_plugin.ini is the right thing to do (same for other agents); - upstream documentation is wrong when it suggests to set OVS specific configuration in ml2_conf.ini [2]; - upstream documentation is also wrong when saying: "Due to a packaging bug, the Open vSwitch agent initialization script explicitly looks for the Open vSwitch plug-in configuration file rather than a symbolic link /etc/neutron/plugin.ini pointing to the ML2 plug-in configuration file." It's not a bug, and if other distributions (Ubuntu?) use ML2 file to set OVS agent, they are doing it wrong. So we do not need to apply any changes for our service units, but we need to make sure the documentation is correct. [1]: https://review.openstack.org/#/c/106144/7 [2]: http://docs.openstack.org/icehouse/install-guide/install/yum/content/neutron-ml2-network-node.html Since we assume this is not a bug, I'm closing it. I've also created an upstream bug for documentation (see external tracker link above). |