def tenant_network_types(self, neutron_tenant_network_types=None):
"""Provide list of tenant network types for current OpenStack release.
The ``network_types`` class variable dfines which types to
prepend and must be set in the release specific charm classes.
:param neutron_tenant_network_types: Comma separated list of tenant network types from Neutron.
:type neutron_tenant_network_types: Optional[str]
:returns: List of tenant network types
:rtype: List[str]
""" neutron_tenant_network_types = neutron_tenant_network_types or ''
return self.network_types + [ network_type
for network_type in neutron_tenant_network_types.split(',')
]
self.network_types = ['geneve'] as a default.
To fix this, we have to float the default-default-tenant-network-type into the plugin relation-data and then make use of it in the plugin.
Triaged: High
Confirmed that the ovn plugin doesn't get the default- tenant- network- type and forces 'geneve' as the first item here:
https:/ /github. com/openstack/ charm-neutron- api-plugin- ovn/blob/ c78ae6f8f307d34 a29f9c9b810c7c4 4205c39e29/ src/lib/ charm/openstack /neutron_ api_plugin_ ovn.py# L228
def tenant_ network_ types(self, neutron_ tenant_ network_ types=None) :
"""Provide list of tenant network types for current OpenStack release.
The ``network_types`` class variable dfines which types to
prepend and must be set in the release specific charm classes.
:param neutron_ tenant_ network_ types: Comma separated list of tenant
network types from Neutron. tenant_ network_ types: Optional[str]
neutron_ tenant_ network_ types = neutron_ tenant_ network_ types or ''
network_ type tenant_ network_ types.split( ',')
:type neutron_
:returns: List of tenant network types
:rtype: List[str]
"""
return self.network_types + [
for network_type in neutron_
]
self.network_types = ['geneve'] as a default.
To fix this, we have to float the default- default- tenant- network- type into the plugin relation-data and then make use of it in the plugin.