Public bug reported:
Hi,
Our CI which is testing against "master" has caught the following:
```
2025-02-21 00:44:05.008 188 INFO neutron.common.config [-]
/var/lib/openstack/bin/neutron-ovn-metadata-agent version 26.0.0.0b3.dev235
2025-02-21 00:44:05.013 188 CRITICAL neutron [-] Unhandled error:
oslo_config.cfg.ConfigFileValueError: Value for option ovsdb_connection from
LocationInfo(location=<Locations.user: (4, True)>,
detail='/etc/neutron/ovn_metadata_agent.ini') is not valid: Value
'unix:/run/openvswitch/db.sock' doesn't match regex '^(tcp|tls|ssl):.+'
2025-02-21 00:44:05.013 188 ERROR neutron Traceback (most recent call last):
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
2931, in _do_get
2025-02-21 00:44:05.013 188 ERROR neutron return (convert(val), alt_loc)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
2900, in convert
2025-02-21 00:44:05.013 188 ERROR neutron return self._convert_value(
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
3028, in _convert_value
2025-02-21 00:44:05.013 188 ERROR neutron return opt.type(value)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/types.py", line
154, in __call__
2025-02-21 00:44:05.013 188 ERROR neutron raise ValueError("Value %r
doesn't match regex %r" %
2025-02-21 00:44:05.013 188 ERROR neutron ValueError: Value
'unix:/run/openvswitch/db.sock' doesn't match regex '^(tcp|tls|ssl):.+'
2025-02-21 00:44:05.013 188 ERROR neutron
2025-02-21 00:44:05.013 188 ERROR neutron During handling of the above
exception, another exception occurred:
2025-02-21 00:44:05.013 188 ERROR neutron
2025-02-21 00:44:05.013 188 ERROR neutron Traceback (most recent call last):
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/bin/neutron-ovn-metadata-agent", line 8, in <module>
2025-02-21 00:44:05.013 188 ERROR neutron sys.exit(main())
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/neutron/cmd/agents/ovn_metadata.py",
line 24, in main
2025-02-21 00:44:05.013 188 ERROR neutron metadata_agent.main()
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/neutron/agent/ovn/metadata_agent.py",
line 42, in main
2025-02-21 00:44:05.013 188 ERROR neutron utils.log_opt_values(LOG)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/neutron/common/utils.py", line
133, in log_opt_values
2025-02-21 00:44:05.013 188 ERROR neutron cfg.CONF.log_opt_values(log,
logging.DEBUG)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
2826, in log_opt_values
2025-02-21 00:44:05.013 188 ERROR neutron _sanitize(opt,
getattr(group_attr, opt_name)))
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
3377, in __getattr__
2025-02-21 00:44:05.013 188 ERROR neutron return self._conf._get(name,
self._group)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
2868, in _get
2025-02-21 00:44:05.013 188 ERROR neutron value, loc = self._do_get(name,
group, namespace)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
2947, in _do_get
2025-02-21 00:44:05.013 188 ERROR neutron raise
ConfigFileValueError(message)
2025-02-21 00:44:05.013 188 ERROR neutron oslo_config.cfg.ConfigFileValueError:
Value for option ovsdb_connection from LocationInfo(location=<Locations.user:
(4, True)>, detail='/etc/neutron/ovn_metadata_agent.ini') is not valid: Value
'unix:/run/openvswitch/db.sock' doesn't match regex '^(tcp|tls|ssl):.+'
2025-02-21 00:44:05.013 188 ERROR neutron
```
Now, this file has the following contents:
```
[DEFAULT]
metadata_proxy_shared_secret = 0ZkuhKWVMhNIrMBXYasBP5sHnZzqBZGA
metadata_proxy_socket = /var/lib/neutron/openstack-helm/metadata_proxy
metadata_workers = 2
nova_metadata_host = nova-metadata.openstack.svc.cluster.local
nova_metadata_port = 8775
[cache]
backend = dogpile.cache.memcached
enabled = true
memcache_servers = memcached.openstack.svc.cluster.local:11211
[ovs]
ovsdb_connection = unix:/run/openvswitch/db.sock
```
So in this case, it seems to not be picking up this:
https://github.com/openstack/neutron/blob/03a976d933865b45f481ba1539b61e199aab7446/neutron/conf/agent/ovn/metadata/config.py
but instead picking up this:
https://github.com/openstack/neutron/blob/03a976d933865b45f481ba1539b61e199aab7446/neutron/conf/agent/ovsdb_api.py#L23
The neutron metadata ovn agent _should_ be able to talk over the unix
socket on the local system to ovs, so it shouldn't be an issue for that
to be set, i think this is probably just something that was missed in
this commit:
https://review.opendev.org/c/openstack/neutron/+/931562
** Affects: neutron
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2099450
Title:
Incorrect ovsdb_connection validation
Status in neutron:
New
Bug description:
Hi,
Our CI which is testing against "master" has caught the following:
```
2025-02-21 00:44:05.008 188 INFO neutron.common.config [-]
/var/lib/openstack/bin/neutron-ovn-metadata-agent version 26.0.0.0b3.dev235
2025-02-21 00:44:05.013 188 CRITICAL neutron [-] Unhandled error:
oslo_config.cfg.ConfigFileValueError: Value for option ovsdb_connection from
LocationInfo(location=<Locations.user: (4, True)>,
detail='/etc/neutron/ovn_metadata_agent.ini') is not valid: Value
'unix:/run/openvswitch/db.sock' doesn't match regex '^(tcp|tls|ssl):.+'
2025-02-21 00:44:05.013 188 ERROR neutron Traceback (most recent call last):
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
2931, in _do_get
2025-02-21 00:44:05.013 188 ERROR neutron return (convert(val), alt_loc)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
2900, in convert
2025-02-21 00:44:05.013 188 ERROR neutron return self._convert_value(
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
3028, in _convert_value
2025-02-21 00:44:05.013 188 ERROR neutron return opt.type(value)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/types.py", line
154, in __call__
2025-02-21 00:44:05.013 188 ERROR neutron raise ValueError("Value %r
doesn't match regex %r" %
2025-02-21 00:44:05.013 188 ERROR neutron ValueError: Value
'unix:/run/openvswitch/db.sock' doesn't match regex '^(tcp|tls|ssl):.+'
2025-02-21 00:44:05.013 188 ERROR neutron
2025-02-21 00:44:05.013 188 ERROR neutron During handling of the above
exception, another exception occurred:
2025-02-21 00:44:05.013 188 ERROR neutron
2025-02-21 00:44:05.013 188 ERROR neutron Traceback (most recent call last):
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/bin/neutron-ovn-metadata-agent", line 8, in <module>
2025-02-21 00:44:05.013 188 ERROR neutron sys.exit(main())
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/neutron/cmd/agents/ovn_metadata.py",
line 24, in main
2025-02-21 00:44:05.013 188 ERROR neutron metadata_agent.main()
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/neutron/agent/ovn/metadata_agent.py",
line 42, in main
2025-02-21 00:44:05.013 188 ERROR neutron utils.log_opt_values(LOG)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/neutron/common/utils.py", line
133, in log_opt_values
2025-02-21 00:44:05.013 188 ERROR neutron cfg.CONF.log_opt_values(log,
logging.DEBUG)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
2826, in log_opt_values
2025-02-21 00:44:05.013 188 ERROR neutron _sanitize(opt,
getattr(group_attr, opt_name)))
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
3377, in __getattr__
2025-02-21 00:44:05.013 188 ERROR neutron return self._conf._get(name,
self._group)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
2868, in _get
2025-02-21 00:44:05.013 188 ERROR neutron value, loc = self._do_get(name,
group, namespace)
2025-02-21 00:44:05.013 188 ERROR neutron File
"/var/lib/openstack/lib/python3.10/site-packages/oslo_config/cfg.py", line
2947, in _do_get
2025-02-21 00:44:05.013 188 ERROR neutron raise
ConfigFileValueError(message)
2025-02-21 00:44:05.013 188 ERROR neutron
oslo_config.cfg.ConfigFileValueError: Value for option ovsdb_connection from
LocationInfo(location=<Locations.user: (4, True)>,
detail='/etc/neutron/ovn_metadata_agent.ini') is not valid: Value
'unix:/run/openvswitch/db.sock' doesn't match regex '^(tcp|tls|ssl):.+'
2025-02-21 00:44:05.013 188 ERROR neutron
```
Now, this file has the following contents:
```
[DEFAULT]
metadata_proxy_shared_secret = 0ZkuhKWVMhNIrMBXYasBP5sHnZzqBZGA
metadata_proxy_socket = /var/lib/neutron/openstack-helm/metadata_proxy
metadata_workers = 2
nova_metadata_host = nova-metadata.openstack.svc.cluster.local
nova_metadata_port = 8775
[cache]
backend = dogpile.cache.memcached
enabled = true
memcache_servers = memcached.openstack.svc.cluster.local:11211
[ovs]
ovsdb_connection = unix:/run/openvswitch/db.sock
```
So in this case, it seems to not be picking up this:
https://github.com/openstack/neutron/blob/03a976d933865b45f481ba1539b61e199aab7446/neutron/conf/agent/ovn/metadata/config.py
but instead picking up this:
https://github.com/openstack/neutron/blob/03a976d933865b45f481ba1539b61e199aab7446/neutron/conf/agent/ovsdb_api.py#L23
The neutron metadata ovn agent _should_ be able to talk over the unix
socket on the local system to ovs, so it shouldn't be an issue for
that to be set, i think this is probably just something that was
missed in this commit:
https://review.opendev.org/c/openstack/neutron/+/931562
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2099450/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp