Option to enable network-segment-range support
To let operators add an additional and optional service plugin into the deployment configuration as "network_segment_range". https://docs.openstack.org/neutron/latest/admin/config-network-segment-ranges.html Closes-Bug: #1965229 Change-Id: Id0ac7c397874ad2c51935e8c0eab64f1ef4f6fd3
This commit is contained in:
parent
1c88770e9b
commit
c411b90d2d
@ -807,3 +807,9 @@ options:
|
||||
If True, on Stein or later attribute 'propagate_uplink_status' will be
|
||||
available to port. This attribute can be implemented for VF port to
|
||||
indicate if the VF link state should follow the state of the PF.
|
||||
enable-network-segment-range:
|
||||
type: boolean
|
||||
default: False
|
||||
description: |
|
||||
Setting this to True will enable network segment ranges (Stein and
|
||||
later).
|
||||
|
@ -317,6 +317,27 @@ def is_fwaas_enabled(cmp_release=None):
|
||||
return False
|
||||
|
||||
|
||||
def is_network_segment_range_enabled():
|
||||
"""
|
||||
Check if Network segment ranges feature should be enabled.
|
||||
|
||||
returns: True if enable-network-segment-range config is True,
|
||||
otherwise False.
|
||||
:rtype: boolean
|
||||
"""
|
||||
if config('enable-network-segment-range'):
|
||||
|
||||
if CompareOpenStackReleases(os_release('neutron-server')) < 'stein':
|
||||
log("The network segment ranges option is"
|
||||
"only supported on Stein or later",
|
||||
ERROR)
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
def is_vlan_trunking_requested_and_valid():
|
||||
"""Check whether VLAN trunking should be enabled by checking whether
|
||||
it has been requested and, if it has, is it supported in the current
|
||||
@ -715,6 +736,9 @@ class NeutronCCContext(context.NeutronContext):
|
||||
if is_port_forwarding_enabled():
|
||||
ctxt['service_plugins'].append('port_forwarding')
|
||||
|
||||
if is_network_segment_range_enabled():
|
||||
ctxt['service_plugins'].append('network_segment_range')
|
||||
|
||||
if is_qos_requested_and_valid():
|
||||
ctxt['service_plugins'].append('qos')
|
||||
|
||||
|
@ -294,6 +294,21 @@ class GeneralTests(CharmTestCase):
|
||||
self.test_config.set('enable-fwaas', False)
|
||||
self.assertFalse(context.is_fwaas_enabled())
|
||||
|
||||
def test_is_network_segment_range_enabled(self):
|
||||
# Test pre-stein release
|
||||
self.os_release.return_value = 'rocky'
|
||||
self.test_config.set('enable-network-segment-range', True)
|
||||
self.assertFalse(context.is_network_segment_range_enabled())
|
||||
self.test_config.set('enable-network-segment-range', False)
|
||||
self.assertFalse(context.is_network_segment_range_enabled())
|
||||
|
||||
# Test stein release
|
||||
self.os_release.return_value = 'stein'
|
||||
self.test_config.set('enable-network-segment-range', True)
|
||||
self.assertTrue(context.is_network_segment_range_enabled())
|
||||
self.test_config.set('enable-network-segment-range', False)
|
||||
self.assertFalse(context.is_network_segment_range_enabled())
|
||||
|
||||
|
||||
class IdentityServiceContext(CharmTestCase):
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user