Add and update subnet properties in Cisco N1kv plugin

Add dns nameservers and dhcp info in subnet create.
Update subnet properties.

Change-Id: I70e3f0261f6ba5433bbf08d33e2a34cdbb20fed2
Closes-Bug: #1276876
This commit is contained in:
Dhanashree Gosavi 2014-02-04 10:07:39 -08:00
parent be187679fd
commit 7705036d0d
3 changed files with 31 additions and 2 deletions

View File

@ -339,11 +339,25 @@ class Client(object):
'ipAddressSubnet': netmask,
'description': subnet['name'],
'gateway': subnet['gateway_ip'],
'dhcp': subnet['enable_dhcp'],
'dnsServersList': subnet['dns_nameservers'],
'networkAddress': network_address,
'tenantId': subnet['tenant_id']}
return self._post(self.ip_pool_path % subnet['id'],
body=body)
def update_ip_pool(self, subnet):
"""
Update an ip-pool on the VSM.
:param subnet: subnet dictionary
"""
body = {'description': subnet['name'],
'dhcp': subnet['enable_dhcp'],
'dnsServersList': subnet['dns_nameservers']}
return self._post(self.ip_pool_path % subnet['id'],
body=body)
def delete_ip_pool(self, subnet_id):
"""
Delete an ip-pool on the VSM.

View File

@ -875,8 +875,16 @@ class N1kvNeutronPluginV2(db_base_plugin_v2.NeutronDbPluginV2,
LOG.debug(_('_send_create_subnet_request: %s'), subnet['id'])
n1kvclient = n1kv_client.Client()
n1kvclient.create_ip_pool(subnet)
body = {'ipPool': subnet['id']}
n1kvclient.update_network_segment(subnet['network_id'], body=body)
def _send_update_subnet_request(self, subnet):
"""
Send update subnet request to VSM.
:param subnet: subnet dictionary
"""
LOG.debug(_('_send_update_subnet_request: %s'), subnet['name'])
n1kvclient = n1kv_client.Client()
n1kvclient.update_ip_pool(subnet)
def _send_delete_subnet_request(self, context, subnet):
"""
@ -1355,6 +1363,7 @@ class N1kvNeutronPluginV2(db_base_plugin_v2.NeutronDbPluginV2,
sub = super(N1kvNeutronPluginV2, self).update_subnet(context,
id,
subnet)
self._send_update_subnet_request(sub)
return sub
def delete_subnet(self, context, id):

View File

@ -379,6 +379,12 @@ class TestN1kvNetworks(test_plugin.TestNetworksV2,
self.assertEqual(res.status_int, 400)
class TestN1kvSubnets(test_plugin.TestSubnetsV2,
N1kvPluginTestCase):
pass
class TestN1kvNonDbTest(base.BaseTestCase):
"""