In a fresh jammy-antelope environment the metadata service is not available to the overcloud deployed instances, this is an environment using neutron-openvswitch environment (not OVN), when looking into the logs the stacktrace below is suspicious. The metadata service becomes available when restarting the services (e.g. juju config neutron-openvswitch debug=True)
[Impact]
In a fresh jammy-antelope environment the metadata service is not available to the overcloud deployed instances, this is an environment using neutron-openvswitch environment (not OVN), when looking into the logs the stacktrace below is suspicious. The metadata service becomes available when restarting the services (e.g. juju config neutron-openvswitch debug=True)
[Test Case]
``` /opendev. org/openstack/ charm-neutron- openvswitch openvswitch /review. opendev. org/c/openstack /charm- neutron- openvswitch/ +/873819
git clone https:/
cd charm-neutron-
git review -d https:/
tox -e build # make sure charmcraft-2.1 is installed before
tox -e func-target -- jammy-antelope
```
[Stacktrace]
2023-03-31 19:35:06.093 58625 DEBUG neutron. agent.dhcp. agent [-] Calling driver for network: 6d246d86- 11b5-4d5f- aa9c-c2bcbcc28b 62/seg= None action: get_metadata_ bind_interface _call_driver /usr/lib/ python3/ dist-packages/ neutron/ agent/dhcp/ agent.py: 242 agent.dhcp. agent [-] 'bool' object is not subscriptable: TypeError: 'bool' object is not subscriptable agent.dhcp. agent Traceback (most recent call last): agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ common/ utils.py" , line 182, in call agent.dhcp. agent return func(*args, **kwargs) agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ agent/dhcp/ agent.py" , line 434, in safe_configure_ dhcp_for_ network agent.dhcp. agent self.configure_ dhcp_for_ network( network) agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ osprofiler/ profiler. py", line 159, in wrapper agent.dhcp. agent result = f(*args, **kwargs) agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ agent/dhcp/ agent.py" , line 447, in configure_ dhcp_for_ network agent.dhcp. agent self.update_ isolated_ metadata_ proxy(network) agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ osprofiler/ profiler. py", line 159, in wrapper agent.dhcp. agent result = f(*args, **kwargs) agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ agent/dhcp/ agent.py" , line 763, in update_ isolated_ metadata_ proxy agent.dhcp. agent self.enable_ isolated_ metadata_ proxy(network) agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ osprofiler/ profiler. py", line 159, in wrapper agent.dhcp. agent result = f(*args, **kwargs) agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ agent/dhcp/ agent.py" , line 819, in enable_ isolated_ metadata_ proxy agent.dhcp. agent metadata_ driver. MetadataDriver. spawn_monitored _metadata_ proxy( agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ agent/metadata/ driver. py", line 244, in spawn_monitored _metadata_ proxy agent.dhcp. agent ip_lib. IpAddrCommand( agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ agent/linux/ ip_lib. py", line 609, in wait_until_ address_ ready agent.dhcp. agent common_ utils.wait_ until_true( agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ common/ utils.py" , line 744, in wait_until_true agent.dhcp. agent while not predicate(): agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ agent/linux/ ip_lib. py", line 594, in is_address_ready agent.dhcp. agent addr_info = self.list( to=address) [0] agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ agent/linux/ ip_lib. py", line 574, in list agent.dhcp. agent devices = get_devices_ with_ip( self._parent. namespace, name=self.name, agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ agent/linux/ ip_lib. py", line 431, in name agent.dhcp. agent return self._parent.name agent.dhcp. agent File "/usr/lib/ python3/ dist-packages/ neutron/ agent/linux/ ip_lib. py", line 416, in name agent.dhcp. agent return self._name[ :constants. DEVICE_ NAME_MAX_ LEN] agent.dhcp. agent TypeError: 'bool' object is not subscriptable agent.dhcp. agent agent.dhcp. agent [None req-4298bc12- 95ea-476c- 8503-7258e44547 21 - - - - - -] Synchronizing state complete
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.095 58625 ERROR neutron.
2023-03-31 19:35:06.099 58625 INFO neutron.