# License for the specific language governing permissions and limitations
# under the License.
-import eventlet
-eventlet.monkey_patch()
+from neutron.common import eventlet_utils
+
+eventlet_utils.monkey_patch()
--- /dev/null
+# Copyright (c) 2015 Cloudbase Solutions.
+# 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.
+
+from neutron.plugins.openvswitch.agent import ovs_neutron_agent
+
+
+def main():
+ ovs_neutron_agent.main()
--- /dev/null
+# Copyright (c) 2015 Cloudbase Solutions.
+# 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 os
+
+import eventlet
+
+
+def monkey_patch():
+ if os.name == 'nt':
+ # eventlet monkey patching the os and thread modules causes
+ # subprocess.Popen to fail on Windows when using pipes due
+ # to missing non-blocking IO support.
+ #
+ # bug report on eventlet:
+ # https://bitbucket.org/eventlet/eventlet/issue/132/
+ # eventletmonkey_patch-breaks
+ eventlet.monkey_patch(os=False, thread=False)
+ else:
+ eventlet.monkey_patch()
import sys
import time
-import eventlet
-eventlet.monkey_patch()
-
import netaddr
from oslo_config import cfg
from oslo_log import log as logging
# License for the specific language governing permissions and limitations
# under the License.
-import eventlet
-eventlet.monkey_patch()
+from neutron.common import eventlet_utils
+
+eventlet_utils.monkey_patch()
neutron-netns-cleanup = neutron.cmd.netns_cleanup:main
neutron-ns-metadata-proxy = neutron.cmd.eventlet.agents.metadata_proxy:main
neutron-nvsd-agent = neutron.plugins.oneconvergence.agent.nvsd_neutron_agent:main
- neutron-openvswitch-agent = neutron.plugins.openvswitch.agent.ovs_neutron_agent:main
+ neutron-openvswitch-agent = neutron.cmd.eventlet.plugins.ovs_neutron_agent:main
neutron-ovs-cleanup = neutron.cmd.ovs_cleanup:main
neutron-restproxy-agent = neutron.plugins.bigswitch.agent.restproxy_agent:main
neutron-server = neutron.cmd.eventlet.server:main