Skip to content

Instantly share code, notes, and snippets.

@amarao
Last active February 6, 2023 14:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amarao/3f894326707e85ebd08b7af06059f758 to your computer and use it in GitHub Desktop.
Save amarao/3f894326707e85ebd08b7af06059f758 to your computer and use it in GitHub Desktop.
Feb 06 14:24:10 infra2 nova-api-wsgi[82345]: 2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi [None req-96870c4e-a5fc-48d0-9ce1-a6e370f4f2da d991fc9b15754c53905754ee78368243 5f98bd21f329455d94d8a304747e840d - - default default] Unexpected exception in API method: nova.exception.NovaException: None of the segments of network 3b434226-e2d9-4ba3-b264-b370285cc169 prov>
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi Traceback (most recent call last):
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi File "/openstack/venvs/nova-26.0.0/lib/python3.9/site-packages/nova/api/openstack/wsgi.py", line 664, in wrapped
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi return f(*args, **kwargs)
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi File "/openstack/venvs/nova-26.0.0/lib/python3.9/site-packages/nova/api/validation/__init__.py", line 110, in wrapper
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi return func(*args, **kwargs)
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi File "/openstack/venvs/nova-26.0.0/lib/python3.9/site-packages/nova/api/validation/__init__.py", line 110, in wrapper
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi return func(*args, **kwargs)
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi File "/openstack/venvs/nova-26.0.0/lib/python3.9/site-packages/nova/api/validation/__init__.py", line 110, in wrapper
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi return func(*args, **kwargs)
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi [Previous line repeated 10 more times]
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi File "/openstack/venvs/nova-26.0.0/lib/python3.9/site-packages/nova/api/openstack/compute/servers.py", line 784, in create
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi instances, resv_id = self.compute_api.create(
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi File "/openstack/venvs/nova-26.0.0/lib/python3.9/site-packages/nova/compute/api.py", line 2206, in create
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi return self._create_instance(
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi File "/openstack/venvs/nova-26.0.0/lib/python3.9/site-packages/nova/compute/api.py", line 1682, in _create_instance
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi ) = self._validate_and_build_base_options(
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi File "/openstack/venvs/nova-26.0.0/lib/python3.9/site-packages/nova/compute/api.py", line 1116, in _validate_and_build_base_options
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi result = self.network_api.create_resource_requests(
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi File "/openstack/venvs/nova-26.0.0/lib/python3.9/site-packages/nova/network/neutron.py", line 2347, in create_resource_requests
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi physnet, tunneled_ = self._get_physnet_tunneled_info(
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi File "/openstack/venvs/nova-26.0.0/lib/python3.9/site-packages/nova/network/neutron.py", line 2155, in _get_physnet_tunneled_info
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi raise exception.NovaException(message=msg)
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi nova.exception.NovaException: None of the segments of network 3b434226-e2d9-4ba3-b264-b370285cc169 provides a physical_network
2023-02-06 14:24:10.387 82345 ERROR nova.api.openstack.wsgi
Feb 06 14:24:10 infra2 nova-api-wsgi[82345]: 2023-02-06 14:24:10.396 82345 INFO nova.api.openstack.wsgi [None req-96870c4e-a5fc-48d0-9ce1-a6e370f4f2da d991fc9b15754c53905754ee78368243 5f98bd21f329455d94d8a304747e840d - - default default] HTTP exception thrown: Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
<class 'nova.exception.NovaException'>
Source code:
def _get_physnet_tunneled_info(self, context, neutron, net_id):
"""Retrieve detailed network info.
:param context: The request context.
:param neutron: The neutron client object.
:param net_id: The ID of the network to retrieve information for.
:return: A tuple containing the physnet name, if defined, and the
tunneled status of the network. If the network uses multiple
segments, the first segment that defines a physnet value will be
used for the physnet name.
"""
if self.has_multi_provider_extension(client=neutron):
network = neutron.show_network(net_id,
fields='segments').get('network')
segments = network.get('segments', {})
for net in segments:
# NOTE(vladikr): In general, "multi-segments" network is a
# combination of L2 segments. The current implementation
# contains a vxlan and vlan(s) segments, where only a vlan
# network will have a physical_network specified, but may
# change in the future. The purpose of this method
# is to find a first segment that provides a physical network.
# TODO(vladikr): Additional work will be required to handle the
# case of multiple vlan segments associated with different
# physical networks.
physnet_name = net.get('provider:physical_network')
if physnet_name:
return physnet_name, False
# Raising here as at least one segment should
# have a physical network provided.
if segments:
msg = (_("None of the segments of network %s provides a "
"physical_network") % net_id)
raise exception.NovaException(message=msg)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment