def create_tenant_fw(self, context, **kwargs): nwa_data = self.proxy_l2.ensure_l2_network(context, **kwargs) device_id = kwargs['nwa_info']['device']['id'] network_id = kwargs['nwa_info']['network']['id'] dev_key = data_utils.get_device_key(device_id) net_key = data_utils.get_device_net_key(device_id, network_id) if dev_key not in nwa_data: nwa_data = self._create_tenant_fw(nwa_data, context, **kwargs) elif net_key not in nwa_data: nwa_data = self._update_tenant_fw(context, connect='connect', nwa_data=nwa_data, **kwargs) else: LOG.warning(_LW("unknown device.")) if not nwa_data: raise nwa_exc.AgentProxyException(value=kwargs['nwa_data']) ret = self.proxy_tenant.update_tenant_binding(context, kwargs['tenant_id'], kwargs['nwa_tenant_id'], nwa_data) resource_group_name_nw = kwargs['nwa_info']['resource_group_name_nw'] vlan_id = data_utils.get_vp_net_vlan_id(nwa_data, network_id, resource_group_name_nw, nwa_const.NWA_DEVICE_TFW) self.nwa_l2_rpc.update_port_state_with_notifier( context, device_id, self.agent_top.agent_id, kwargs['nwa_info']['port']['id'], { api.PHYSICAL_NETWORK: kwargs['nwa_info']['physical_network'], api.NETWORK_TYPE: n_constants.TYPE_VLAN, api.SEGMENTATION_ID: vlan_id }, network_id) return ret
def _delete_general_dev_data(self, **kwargs): nwa_info = kwargs.get('nwa_info') nwa_data = kwargs.get('nwa_data') device_id = nwa_info['device']['id'] network_id = nwa_info['network']['id'] resource_group_name = nwa_info['resource_group_name'] dev_key = data_utils.get_device_key(device_id) if dev_key in nwa_data: data_utils.strip_interface_data( nwa_data, device_id, network_id, resource_group_name) if count_device_id(device_id, nwa_data) == 1: data_utils.strip_device_data(nwa_data, device_id) if not check_segment_gd(network_id, resource_group_name, nwa_data): data_utils.strip_vp_net_data(nwa_data, network_id, resource_group_name, nwa_const.NWA_DEVICE_GDV) return nwa_data
def _delete_general_dev_data(self, **kwargs): nwa_info = kwargs.get('nwa_info') nwa_data = kwargs.get('nwa_data') device_id = nwa_info['device']['id'] network_id = nwa_info['network']['id'] resource_group_name = nwa_info['resource_group_name'] dev_key = data_utils.get_device_key(device_id) if dev_key in nwa_data: data_utils.strip_interface_data(nwa_data, device_id, network_id, resource_group_name) if count_device_id(device_id, nwa_data) == 1: data_utils.strip_device_data(nwa_data, device_id) if not check_segment_gd(network_id, resource_group_name, nwa_data): data_utils.strip_vp_net_data(nwa_data, network_id, resource_group_name, nwa_const.NWA_DEVICE_GDV) return nwa_data
def create_tenant_fw(self, context, **kwargs): nwa_data = self.proxy_l2.ensure_l2_network(context, **kwargs) device_id = kwargs['nwa_info']['device']['id'] network_id = kwargs['nwa_info']['network']['id'] dev_key = data_utils.get_device_key(device_id) net_key = data_utils.get_device_net_key(device_id, network_id) if dev_key not in nwa_data: nwa_data = self._create_tenant_fw(nwa_data, context, **kwargs) elif net_key not in nwa_data: nwa_data = self._update_tenant_fw( context, connect='connect', nwa_data=nwa_data, **kwargs) else: LOG.warning(_LW("unknown device.")) if not nwa_data: raise nwa_exc.AgentProxyException(value=kwargs['nwa_data']) ret = self.proxy_tenant.update_tenant_binding( context, kwargs['tenant_id'], kwargs['nwa_tenant_id'], nwa_data ) resource_group_name_nw = kwargs['nwa_info']['resource_group_name_nw'] vlan_id = data_utils.get_vp_net_vlan_id(nwa_data, network_id, resource_group_name_nw, nwa_const.NWA_DEVICE_TFW) self.nwa_l2_rpc.update_port_state_with_notifier( context, device_id, self.agent_top.agent_id, kwargs['nwa_info']['port']['id'], { api.PHYSICAL_NETWORK: kwargs['nwa_info']['physical_network'], api.NETWORK_TYPE: n_constants.TYPE_VLAN, api.SEGMENTATION_ID: vlan_id }, network_id ) return ret