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.
Change-Id: I375d49ec43f79360189ecf5de0583873b8039db9
Closes-Bug:
1332713
'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)
'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.Client):
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
def setUp(self):
super(TestN1kvSubnets, self).setUp()
+ 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 = mock.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):