def _send_delete_port_request(self, context, id): """ Send delete port request to VSM. Decrement the port count of the VM network after deleting the port. If the port count reaches zero, delete the VM network. :param context: neutron api request context :param id: UUID of the port to be deleted """ LOG.debug(_('_send_delete_port_request: %s'), id) port = self.get_port(context, id) vm_network = n1kv_db_v2.get_vm_network(context.session, port[n1kv_profile.PROFILE_ID], port['network_id']) vm_network['port_count'] -= 1 n1kv_db_v2.update_vm_network_port_count(context.session, vm_network['name'], vm_network['port_count']) n1kvclient = n1kv_client.Client() n1kvclient.delete_n1kv_port(vm_network['name'], id) if vm_network['port_count'] == 0: n1kv_db_v2.delete_vm_network(context.session, port[n1kv_profile.PROFILE_ID], port['network_id']) n1kvclient.delete_vm_network(vm_network['name'])
def _send_create_port_request(self, context, port): """ Send create port request to VSM. Create a VM network for a network and policy profile combination. If the VM network already exists, bind this port to the existing VM network and increment its port count. :param context: neutron api request context :param port: port dictionary """ LOG.debug(_('_send_create_port_request: %s'), port) try: vm_network = n1kv_db_v2.get_vm_network( context.session, port[n1kv_profile.PROFILE_ID], port['network_id']) except cisco_exceptions.VMNetworkNotFound: policy_profile = n1kv_db_v2.get_policy_profile( context.session, port[n1kv_profile.PROFILE_ID]) network = self.get_network(context, port['network_id']) vm_network_name = (c_const.VM_NETWORK_NAME_PREFIX + str(port[n1kv_profile.PROFILE_ID]) + "_" + str(port['network_id'])) port_count = 1 n1kv_db_v2.add_vm_network(context.session, vm_network_name, port[n1kv_profile.PROFILE_ID], port['network_id'], port_count) n1kvclient = n1kv_client.Client() n1kvclient.create_vm_network(port, vm_network_name, policy_profile, network['name']) n1kvclient.create_n1kv_port(port, vm_network_name) else: vm_network_name = vm_network['name'] n1kvclient = n1kv_client.Client() n1kvclient.create_n1kv_port(port, vm_network_name) vm_network['port_count'] += 1 n1kv_db_v2.update_vm_network_port_count( context.session, vm_network_name, vm_network['port_count'])
def _send_create_port_request(self, context, port): """ Send create port request to VSM. Create a VM network for a network and policy profile combination. If the VM network already exists, bind this port to the existing VM network and increment its port count. :param context: neutron api request context :param port: port dictionary """ LOG.debug(_('_send_create_port_request: %s'), port) try: vm_network = n1kv_db_v2.get_vm_network( context.session, port[n1kv_profile.PROFILE_ID], port['network_id']) except cisco_exceptions.VMNetworkNotFound: policy_profile = n1kv_db_v2.get_policy_profile( context.session, port[n1kv_profile.PROFILE_ID]) network = self.get_network(context, port['network_id']) vm_network_name = (c_const.VM_NETWORK_NAME_PREFIX + str(port[n1kv_profile.PROFILE_ID]) + "_" + str(port['network_id'])) port_count = 1 n1kv_db_v2.add_vm_network(context.session, vm_network_name, port[n1kv_profile.PROFILE_ID], port['network_id'], port_count) n1kvclient = n1kv_client.Client() n1kvclient.create_vm_network(port, vm_network_name, policy_profile, network['name']) n1kvclient.create_n1kv_port(port, vm_network_name) else: vm_network_name = vm_network['name'] n1kvclient = n1kv_client.Client() n1kvclient.create_n1kv_port(port, vm_network_name) vm_network['port_count'] += 1 n1kv_db_v2.update_vm_network_port_count(context.session, vm_network_name, vm_network['port_count'])
def _send_delete_port_request(self, context, id): """ Send delete port request to VSM. Decrement the port count of the VM network after deleting the port. If the port count reaches zero, delete the VM network. :param context: neutron api request context :param id: UUID of the port to be deleted """ LOG.debug(_('_send_delete_port_request: %s'), id) port = self.get_port(context, id) vm_network = n1kv_db_v2.get_vm_network(context.session, port[n1kv_profile.PROFILE_ID], port['network_id']) vm_network['port_count'] -= 1 n1kv_db_v2.update_vm_network_port_count( context.session, vm_network['name'], vm_network['port_count']) n1kvclient = n1kv_client.Client() n1kvclient.delete_n1kv_port(vm_network['name'], id) if vm_network['port_count'] == 0: n1kv_db_v2.delete_vm_network(context.session, port[n1kv_profile.PROFILE_ID], port['network_id']) n1kvclient.delete_vm_network(vm_network['name'])