[eventlet-removal] Use non-eventlet metadata proxy in OVN metadata agent
The new metadata proxy server implementation, used in the OVN agent, is now used in the OVN metadata agent. The same limitation applies: it is only possible to create a server inside a thread, running in the same process (same as with metadata_workers=0). The configuration variable metadata_workers no longer applies. Closes-Bug: #2087941 Change-Id: If5d74d6e21a22e4f4dbed27ed9be828adad857e8
This commit is contained in:
@@ -64,6 +64,16 @@ This implementation does not rely on ``neutron.api.wsgi.Server`` nor
|
|||||||
implementations will enable again this configuration variable.
|
implementations will enable again this configuration variable.
|
||||||
|
|
||||||
|
|
||||||
|
OVN metadata agent
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Metadata proxy
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The OVN metadata agent uses the same implementation as the OVN agent. The same
|
||||||
|
limitations apply.
|
||||||
|
|
||||||
|
|
||||||
Neutron API
|
Neutron API
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ from neutron.agent.linux import iptables_manager
|
|||||||
from neutron.agent.ovn.agent import ovn_neutron_agent
|
from neutron.agent.ovn.agent import ovn_neutron_agent
|
||||||
from neutron.agent.ovn.metadata import driver as metadata_driver
|
from neutron.agent.ovn.metadata import driver as metadata_driver
|
||||||
from neutron.agent.ovn.metadata import ovsdb
|
from neutron.agent.ovn.metadata import ovsdb
|
||||||
from neutron.agent.ovn.metadata import server as metadata_server
|
from neutron.agent.ovn.metadata import server_socket as metadata_server
|
||||||
from neutron.common.ovn import constants as ovn_const
|
from neutron.common.ovn import constants as ovn_const
|
||||||
from neutron.common.ovn import utils as ovn_utils
|
from neutron.common.ovn import utils as ovn_utils
|
||||||
from neutron.common import utils
|
from neutron.common import utils
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import testtools
|
|||||||
from neutron.agent.linux import iptables_manager
|
from neutron.agent.linux import iptables_manager
|
||||||
from neutron.agent.ovn.metadata import agent
|
from neutron.agent.ovn.metadata import agent
|
||||||
from neutron.agent.ovn.metadata import ovsdb
|
from neutron.agent.ovn.metadata import ovsdb
|
||||||
from neutron.agent.ovn.metadata import server as metadata_server
|
from neutron.agent.ovn.metadata import server_socket as metadata_server
|
||||||
from neutron.common.ovn import constants as ovn_const
|
from neutron.common.ovn import constants as ovn_const
|
||||||
from neutron.common import utils as n_utils
|
from neutron.common import utils as n_utils
|
||||||
from neutron.conf.agent.metadata import config as meta_config
|
from neutron.conf.agent.metadata import config as meta_config
|
||||||
@@ -453,7 +453,7 @@ class TestMetadataAgent(base.TestOVNFunctionalBase):
|
|||||||
|
|
||||||
def test_metadata_proxy_handler_idl(self):
|
def test_metadata_proxy_handler_idl(self):
|
||||||
# This test relies on the configuration option metadata_workers=0
|
# This test relies on the configuration option metadata_workers=0
|
||||||
proxy_sb_idl = self.agent._proxy.server._server._application.sb_idl
|
proxy_sb_idl = metadata_server.MetadataProxyHandler._sb_idl
|
||||||
agent_sb_idl = self.agent.sb_idl
|
agent_sb_idl = self.agent.sb_idl
|
||||||
self.assertEqual(agent_sb_idl, proxy_sb_idl)
|
self.assertEqual(agent_sb_idl, proxy_sb_idl)
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ console_scripts =
|
|||||||
neutron-status = neutron.cmd.status:main
|
neutron-status = neutron.cmd.status:main
|
||||||
neutron-ovn-agent = neutron.cmd.agents.ovn_neutron_agent:main
|
neutron-ovn-agent = neutron.cmd.agents.ovn_neutron_agent:main
|
||||||
neutron-ovn-maintenance-worker = neutron.cmd.eventlet.server:main_ovn_maintenance_eventlet
|
neutron-ovn-maintenance-worker = neutron.cmd.eventlet.server:main_ovn_maintenance_eventlet
|
||||||
neutron-ovn-metadata-agent = neutron.cmd.eventlet.agents.ovn_metadata:main
|
neutron-ovn-metadata-agent = neutron.cmd.agents.ovn_metadata:main
|
||||||
neutron-ovn-migration-mtu = neutron.cmd.ovn.migration_mtu:main
|
neutron-ovn-migration-mtu = neutron.cmd.ovn.migration_mtu:main
|
||||||
neutron-ovn-db-sync-util = neutron.cmd.ovn.neutron_ovn_db_sync_util:main
|
neutron-ovn-db-sync-util = neutron.cmd.ovn.neutron_ovn_db_sync_util:main
|
||||||
neutron-sanitize-port-binding-profile-allocation = neutron.cmd.sanitize_port_binding_profile_allocation:main
|
neutron-sanitize-port-binding-profile-allocation = neutron.cmd.sanitize_port_binding_profile_allocation:main
|
||||||
|
|||||||
@@ -247,3 +247,11 @@
|
|||||||
$NEUTRON_CONF:
|
$NEUTRON_CONF:
|
||||||
SECURITYGROUP:
|
SECURITYGROUP:
|
||||||
enable_ipset: false # Not compatible with nftables
|
enable_ipset: false # Not compatible with nftables
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: neutron-tempest-plugin-ovn-with-ovn-metadata-agent
|
||||||
|
parent: neutron-tempest-plugin-ovn
|
||||||
|
vars:
|
||||||
|
devstack_services:
|
||||||
|
q-ovn-metadata-agent: true
|
||||||
|
q-ovn-agent: false
|
||||||
|
|||||||
@@ -129,6 +129,7 @@
|
|||||||
- neutron-functional-with-oslo-master
|
- neutron-functional-with-oslo-master
|
||||||
- neutron-ovs-tempest-with-oslo-master
|
- neutron-ovs-tempest-with-oslo-master
|
||||||
- neutron-ovn-tempest-ovs-release-with-oslo-master
|
- neutron-ovn-tempest-ovs-release-with-oslo-master
|
||||||
|
- neutron-tempest-plugin-ovn-with-ovn-metadata-agent
|
||||||
experimental:
|
experimental:
|
||||||
jobs: *neutron-periodic-jobs
|
jobs: *neutron-periodic-jobs
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user