Enable Guru Meditation Reports for other refarch agents

OVS agent already supports GMR, but LinuxBridge and SR-IOV agents don't.
To enable them for those agents, we should move their main() entry
points under neutron/cmd/, so that __init__.py code that initializes
them is triggered on their invocation.

Since we put their entrypoints under neutron/cmd/eventlet/, there is now
also no need to explicitly monkey patch stdlib for eventlet in the
agents code (neutron/cmd/eventlet/__init__.py already does it for us).
With that, there is no more code in the tree that directly patches
stdlib except neutron/cmd/eventlet/__init__.py.

Also removed a way to execute agent modules as scripts since it's not a
supported way to invoke them (instead, stevedore generated console
scripts should always be used).

Change-Id: I9b823d07a41b575334e52065eed7e6be2741e79d
Implements: blueprint guru-meditation-report
This commit is contained in:
Ihar Hrachyshka 2015-12-17 14:38:08 +01:00
parent ab8adcf693
commit 60a40ffcca
5 changed files with 43 additions and 16 deletions

View File

@ -0,0 +1,21 @@
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import \
neutron.plugins.ml2.drivers.linuxbridge.agent.linuxbridge_neutron_agent \
as agent_main
def main():
agent_main.main()

View File

@ -0,0 +1,20 @@
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent \
as agent_main
def main():
agent_main.main()

View File

@ -22,9 +22,6 @@
import sys import sys
import time import time
import eventlet
eventlet.monkey_patch()
import netaddr import netaddr
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log as logging from oslo_log import log as logging
@ -1145,7 +1142,3 @@ def main():
LOG.info(_LI("Agent initialized successfully, now running... ")) LOG.info(_LI("Agent initialized successfully, now running... "))
launcher = service.launch(cfg.CONF, agent) launcher = service.launch(cfg.CONF, agent)
launcher.wait() launcher.wait()
if __name__ == "__main__":
main()

View File

@ -18,9 +18,6 @@ import socket
import sys import sys
import time import time
import eventlet
eventlet.monkey_patch()
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log as logging from oslo_log import log as logging
import oslo_messaging import oslo_messaging
@ -411,7 +408,3 @@ def main():
# Start everything. # Start everything.
LOG.info(_LI("Agent initialized successfully, now running... ")) LOG.info(_LI("Agent initialized successfully, now running... "))
agent.daemon_loop() agent.daemon_loop()
if __name__ == '__main__':
main()

View File

@ -48,7 +48,7 @@ console_scripts =
neutron-keepalived-state-change = neutron.cmd.keepalived_state_change:main neutron-keepalived-state-change = neutron.cmd.keepalived_state_change:main
neutron-ipset-cleanup = neutron.cmd.ipset_cleanup:main neutron-ipset-cleanup = neutron.cmd.ipset_cleanup:main
neutron-l3-agent = neutron.cmd.eventlet.agents.l3:main neutron-l3-agent = neutron.cmd.eventlet.agents.l3:main
neutron-linuxbridge-agent = neutron.plugins.ml2.drivers.linuxbridge.agent.linuxbridge_neutron_agent:main neutron-linuxbridge-agent = neutron.cmd.eventlet.plugins.linuxbridge_neutron_agent:main
neutron-linuxbridge-cleanup = neutron.cmd.linuxbridge_cleanup:main neutron-linuxbridge-cleanup = neutron.cmd.linuxbridge_cleanup:main
neutron-metadata-agent = neutron.cmd.eventlet.agents.metadata:main neutron-metadata-agent = neutron.cmd.eventlet.agents.metadata:main
neutron-netns-cleanup = neutron.cmd.netns_cleanup:main neutron-netns-cleanup = neutron.cmd.netns_cleanup:main
@ -63,7 +63,7 @@ console_scripts =
neutron-rootwrap-daemon = oslo_rootwrap.cmd:daemon neutron-rootwrap-daemon = oslo_rootwrap.cmd:daemon
neutron-usage-audit = neutron.cmd.eventlet.usage_audit:main neutron-usage-audit = neutron.cmd.eventlet.usage_audit:main
neutron-metering-agent = neutron.cmd.eventlet.services.metering_agent:main neutron-metering-agent = neutron.cmd.eventlet.services.metering_agent:main
neutron-sriov-nic-agent = neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent:main neutron-sriov-nic-agent = neutron.cmd.eventlet.plugins.sriov_nic_neutron_agent:main
neutron-sanity-check = neutron.cmd.sanity_check:main neutron-sanity-check = neutron.cmd.sanity_check:main
neutron.core_plugins = neutron.core_plugins =
ml2 = neutron.plugins.ml2.plugin:Ml2Plugin ml2 = neutron.plugins.ml2.plugin:Ml2Plugin