N1Kv: remove trunk & segment range support
Nexus 1000V network profiles in Liberty do not support trunk profile creation. Additionally, segment range is no longer allocated by the network profile, but by the ML2 type driver Change-Id: Ibddd444a1027d212f117320322fc2c67007a520b Closes-Bug: 1489206
This commit is contained in:
parent
86b0bce8cf
commit
5c0ef31b31
|
@ -47,8 +47,7 @@ class CreateNetworkProfile(forms.SelfHandlingForm):
|
|||
label=_("Name"))
|
||||
segment_type = forms.ChoiceField(label=_('Segment Type'),
|
||||
choices=[('vlan', _('VLAN')),
|
||||
('overlay', _('Overlay')),
|
||||
('trunk', _('Trunk'))],
|
||||
('overlay', _('Overlay'))],
|
||||
widget=forms.Select
|
||||
(attrs={'class': 'switchable',
|
||||
'data-slug': 'segtype'}))
|
||||
|
@ -64,27 +63,6 @@ class CreateNetworkProfile(forms.SelfHandlingForm):
|
|||
'data-switch-on': 'segtype',
|
||||
'data-segtype-overlay':
|
||||
_("Sub Type")}))
|
||||
# Sub type options available for Trunk segment type
|
||||
sub_type_trunk = forms.ChoiceField(label=_('Sub Type'),
|
||||
choices=[('vlan', _('VLAN'))],
|
||||
required=False,
|
||||
widget=forms.Select
|
||||
(attrs={'class': 'switched',
|
||||
'data-switch-on': 'segtype',
|
||||
'data-segtype-trunk':
|
||||
_("Sub Type")}))
|
||||
segment_range = forms.CharField(max_length=255,
|
||||
label=_("Segment Range"),
|
||||
required=False,
|
||||
widget=forms.TextInput
|
||||
(attrs={'class': 'switched',
|
||||
'data-switch-on': 'segtype',
|
||||
'data-segtype-vlan':
|
||||
_("Segment Range"),
|
||||
'data-segtype-overlay':
|
||||
_("Segment Range")}),
|
||||
help_text=_("1-4093 for VLAN; "
|
||||
"5000 and above for Overlay"))
|
||||
multicast_ip_range = forms.CharField(max_length=30,
|
||||
label=_("Multicast IP Range"),
|
||||
required=False,
|
||||
|
@ -124,8 +102,6 @@ class CreateNetworkProfile(forms.SelfHandlingForm):
|
|||
self.fields['project'].choices = get_tenant_choices(request)
|
||||
|
||||
def clean(self):
|
||||
# If sub_type is 'other' or 'trunk' then
|
||||
# assign this new value for sub_type
|
||||
cleaned_data = super(CreateNetworkProfile, self).clean()
|
||||
|
||||
segment_type = cleaned_data.get('segment_type')
|
||||
|
@ -136,11 +112,6 @@ class CreateNetworkProfile(forms.SelfHandlingForm):
|
|||
cleaned_data['sub_type'] = other_subtype
|
||||
LOG.debug('subtype is now %(params)s',
|
||||
{'params': other_subtype})
|
||||
elif segment_type == 'trunk':
|
||||
sub_type_trunk = cleaned_data.get('sub_type_trunk')
|
||||
cleaned_data['sub_type'] = sub_type_trunk
|
||||
LOG.debug('subtype is now %(params)s',
|
||||
{'params': sub_type_trunk})
|
||||
|
||||
return cleaned_data
|
||||
|
||||
|
@ -151,7 +122,6 @@ class CreateNetworkProfile(forms.SelfHandlingForm):
|
|||
params = {'name': data['name'],
|
||||
'segment_type': data['segment_type'],
|
||||
'sub_type': data['sub_type'],
|
||||
'segment_range': data['segment_range'],
|
||||
'physical_network': data['physical_network'],
|
||||
'multicast_ip_range': data['multicast_ip_range'],
|
||||
'tenant_id': data['project']}
|
||||
|
@ -181,7 +151,6 @@ class UpdateNetworkProfile(CreateNetworkProfile):
|
|||
|
||||
self.fields['segment_type'].widget.attrs['readonly'] = 'readonly'
|
||||
self.fields['sub_type'].widget.attrs['readonly'] = 'readonly'
|
||||
self.fields['sub_type_trunk'].widget.attrs['readonly'] = 'readonly'
|
||||
self.fields['other_subtype'].widget.attrs['readonly'] = 'readonly'
|
||||
self.fields['physical_network'].widget.attrs['readonly'] = 'readonly'
|
||||
self.fields['project'].widget.attrs['readonly'] = 'readonly'
|
||||
|
@ -191,7 +160,6 @@ class UpdateNetworkProfile(CreateNetworkProfile):
|
|||
LOG.debug('request = %(req)s, params = %(params)s',
|
||||
{'req': request, 'params': data})
|
||||
params = {'name': data['name'],
|
||||
'segment_range': data['segment_range'],
|
||||
'multicast_ip_range': data['multicast_ip_range']}
|
||||
profile = api.neutron.profile_update(
|
||||
request,
|
||||
|
|
|
@ -64,7 +64,6 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
net_profile = self.net_profiles.first()
|
||||
params = {'name': net_profile.name,
|
||||
'segment_type': net_profile.segment_type,
|
||||
'segment_range': net_profile.segment_range,
|
||||
'physical_network': net_profile.physical_network,
|
||||
'tenant_id': net_profile.project,
|
||||
# vlan profiles have no sub_type or multicast_ip_range
|
||||
|
@ -79,7 +78,6 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
|
||||
form_data = {'name': net_profile.name,
|
||||
'segment_type': net_profile.segment_type,
|
||||
'segment_range': net_profile.segment_range,
|
||||
'physical_network': net_profile.physical_network,
|
||||
'project': net_profile.project}
|
||||
form_data.update(form_data_no_overlay())
|
||||
|
@ -98,7 +96,6 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
net_profile = self.net_profiles.list()[1]
|
||||
params = {'name': net_profile.name,
|
||||
'segment_type': net_profile.segment_type,
|
||||
'segment_range': net_profile.segment_range,
|
||||
'multicast_ip_range': net_profile.multicast_ip_range,
|
||||
'sub_type': net_profile.sub_type,
|
||||
'tenant_id': net_profile.project,
|
||||
|
@ -113,7 +110,6 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
|
||||
form_data = {'name': net_profile.name,
|
||||
'segment_type': net_profile.segment_type,
|
||||
'segment_range': net_profile.segment_range,
|
||||
'multicast_ip_range': net_profile.multicast_ip_range,
|
||||
'sub_type': net_profile.sub_type,
|
||||
'project': net_profile.project}
|
||||
|
@ -133,7 +129,6 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
net_profile = self.net_profiles.list()[2]
|
||||
params = {'name': net_profile.name,
|
||||
'segment_type': net_profile.segment_type,
|
||||
'segment_range': net_profile.segment_range,
|
||||
'sub_type': net_profile.other_subtype,
|
||||
'tenant_id': net_profile.project,
|
||||
# overlay 'other' profiles have no multicast_ip_range
|
||||
|
@ -149,7 +144,6 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
|
||||
form_data = {'name': net_profile.name,
|
||||
'segment_type': net_profile.segment_type,
|
||||
'segment_range': net_profile.segment_range,
|
||||
'sub_type': net_profile.sub_type,
|
||||
'other_subtype': net_profile.other_subtype,
|
||||
'project': net_profile.project}
|
||||
|
@ -162,40 +156,6 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
reverse
|
||||
('horizon:cisco:nexus1000v:index'))
|
||||
|
||||
@test.create_stubs({api.neutron: ('profile_create',),
|
||||
api.keystone: ('tenant_list',)})
|
||||
def test_create_trunk_net_profile(self):
|
||||
tenants = self.tenants.list()
|
||||
net_profile = self.net_profiles.list()[3]
|
||||
params = {'name': net_profile.name,
|
||||
'segment_type': net_profile.segment_type,
|
||||
'sub_type': net_profile.sub_type_trunk,
|
||||
'tenant_id': net_profile.project,
|
||||
# trunk profiles have no multicast_ip_range,
|
||||
# no segment_range or no physical_network type
|
||||
'multicast_ip_range': '',
|
||||
'segment_range': '',
|
||||
'physical_network': ''}
|
||||
|
||||
api.neutron.profile_create(IsA(http.HttpRequest),
|
||||
**params).AndReturn(net_profile)
|
||||
api.keystone.tenant_list(
|
||||
IsA(http.HttpRequest)).AndReturn([tenants, False])
|
||||
self.mox.ReplayAll()
|
||||
|
||||
form_data = {'name': net_profile.name,
|
||||
'segment_type': net_profile.segment_type,
|
||||
'sub_type_trunk': net_profile.sub_type_trunk,
|
||||
'project': net_profile.project}
|
||||
form_data.update(form_data_no_overlay())
|
||||
url = reverse('horizon:cisco:nexus1000v:create_network_profile')
|
||||
res = self.client.post(url, form_data)
|
||||
|
||||
self.assertNoFormErrors(res)
|
||||
self.assertRedirectsNoFollow(res,
|
||||
reverse
|
||||
('horizon:cisco:nexus1000v:index'))
|
||||
|
||||
@test.create_stubs({api.neutron: ('profile_get',
|
||||
'profile_bindings_list'),
|
||||
api.keystone: ('tenant_list',)})
|
||||
|
@ -234,7 +194,6 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
net_profile_binding = self.network_profile_binding.list()
|
||||
# vlan profiles can only update name and segment_range
|
||||
params = {'name': net_profile.name,
|
||||
'segment_range': net_profile.segment_range,
|
||||
# vlan profiles have no multicast_ip_range
|
||||
'multicast_ip_range': ''}
|
||||
|
||||
|
@ -257,7 +216,6 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
form_data = {'profile_id': net_profile.id,
|
||||
'name': net_profile.name,
|
||||
'segment_type': net_profile.segment_type,
|
||||
'segment_range': net_profile.segment_range,
|
||||
'physical_network': net_profile.physical_network,
|
||||
'project': net_profile.project}
|
||||
form_data.update(form_data_no_overlay())
|
||||
|
@ -279,9 +237,8 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
net_profile = self.net_profiles.get(name="net_profile_test2")
|
||||
net_profile_binding = self.network_profile_binding.list()
|
||||
# overlay profiles can only update
|
||||
# name, segment_range and multicast_ip_range
|
||||
# name and multicast_ip_range
|
||||
params = {'name': net_profile.name,
|
||||
'segment_range': net_profile.segment_range,
|
||||
'multicast_ip_range': net_profile.multicast_ip_range}
|
||||
|
||||
api.neutron.profile_update(
|
||||
|
@ -303,7 +260,6 @@ class Nexus1000vTest(test.BaseAdminViewTests):
|
|||
form_data = {'profile_id': net_profile.id,
|
||||
'name': net_profile.name,
|
||||
'segment_type': net_profile.segment_type,
|
||||
'segment_range': net_profile.segment_range,
|
||||
'multicast_ip_range': net_profile.multicast_ip_range,
|
||||
'sub_type': net_profile.sub_type,
|
||||
'project': net_profile.project}
|
||||
|
|
|
@ -161,7 +161,6 @@ class UpdateNetworkProfileView(forms.ModalFormView):
|
|||
project_name = getattr(project, 'name', project_id)
|
||||
return {'profile_id': profile['id'],
|
||||
'name': profile['name'],
|
||||
'segment_range': profile['segment_range'],
|
||||
'segment_type': profile['segment_type'],
|
||||
'physical_network': profile['physical_network'],
|
||||
'sub_type': profile['sub_type'],
|
||||
|
|
Loading…
Reference in New Issue