Send network name and uuid to subnet create
Added the network segment name and uuid parameters to the infomation sent to
Cisco N1kV during subnet creation to allow for proper association of the
subnet and network segment.
Conflicts:
neutron/tests/unit/cisco/n1kv/test_n1kv_plugin.py
Change-Id: I375d49ec43f79360189ecf5de0583873b8039db9
Closes-Bug: 1332713
(cherry picked from commit 779ddd17c5
)
This commit is contained in:
parent
c48db90ccd
commit
2a4153dc47
@ -331,6 +331,8 @@ class Client(object):
|
||||
'dhcp': subnet['enable_dhcp'],
|
||||
'dnsServersList': subnet['dns_nameservers'],
|
||||
'networkAddress': network_address,
|
||||
'netSegmentName': subnet['network_id'],
|
||||
'id': subnet['id'],
|
||||
'tenantId': subnet['tenant_id']}
|
||||
return self._post(self.ip_pool_path % subnet['id'],
|
||||
body=body)
|
||||
|
@ -28,7 +28,11 @@ _resource_metadata = {'port': ['id', 'macAddress', 'ipAddress', 'subnetId'],
|
||||
'networkSegment', 'portProfile',
|
||||
'portProfileId', 'tenantId',
|
||||
'portId', 'macAddress',
|
||||
'ipAddress', 'subnetId']}
|
||||
'ipAddress', 'subnetId'],
|
||||
'subnet': ['addressRangeStart', 'addressRangeEnd',
|
||||
'ipAddressSubnet', 'description', 'gateway',
|
||||
'dhcp', 'dnsServersList', 'networkAddress',
|
||||
'netSegmentName', 'id', 'tenantId']}
|
||||
|
||||
|
||||
class TestClient(n1kv_client):
|
||||
@ -85,6 +89,10 @@ def _validate_resource(action, body=None):
|
||||
port_set = set(_resource_metadata['port'])
|
||||
if body_set - port_set:
|
||||
raise c_exc.VSMError(reason='Invalid Request')
|
||||
elif 'subnet' in action:
|
||||
subnet_set = set(_resource_metadata['subnet'])
|
||||
if body_set - subnet_set:
|
||||
raise c_exc.VSMError(reason='Invalid Request')
|
||||
else:
|
||||
return
|
||||
|
||||
|
@ -814,7 +814,18 @@ class TestN1kvNetworks(test_plugin.TestNetworksV2,
|
||||
class TestN1kvSubnets(test_plugin.TestSubnetsV2,
|
||||
N1kvPluginTestCase):
|
||||
|
||||
pass
|
||||
def test_create_subnet_with_invalid_parameters(self):
|
||||
"""Test subnet creation with invalid parameters sent to the VSM."""
|
||||
with self.network() as network:
|
||||
client_patch = patch(n1kv_client.__name__ + ".Client",
|
||||
new=fake_client.TestClientInvalidRequest)
|
||||
client_patch.start()
|
||||
data = {'subnet': {'network_id': network['network']['id'],
|
||||
'cidr': "10.0.0.0/24"}}
|
||||
subnet_req = self.new_create_request('subnets', data)
|
||||
subnet_resp = subnet_req.get_response(self.api)
|
||||
# Subnet creation should fail due to invalid network name
|
||||
self.assertEqual(subnet_resp.status_int, 400)
|
||||
|
||||
|
||||
class TestN1kvL3Test(test_l3_plugin.L3NatExtensionTestCase):
|
||||
|
Loading…
Reference in New Issue
Block a user