def _update_tenant_fw_disconnect(self, context, **kwargs): """Update Tenant FW @param context: contains user information. @param kwargs: @return: nwa_data @raise AgentProxyException """ if self.multi_dc: self.proxy_l2.delete_connect_port(context, **kwargs) nwa_data = kwargs.get('nwa_data') device_id = kwargs['nwa_info']['device']['id'] network_id = kwargs['nwa_info']['network']['id'] device_name = data_utils.get_tfw_device_name(nwa_data, device_id) if self.tenant_fw_disconnect_hook: self.tenant_fw_disconnect_hook(context, device_name, **kwargs) rcode, body = self.client.l3.update_tenant_fw( kwargs['nwa_tenant_id'], device_name, kwargs['nwa_info']['port']['ip'], data_utils.get_vlan_logical_name(nwa_data, network_id), kwargs['nwa_info']['network']['vlan_type'], connect='disconnect') if rcode != 200 or body['status'] != 'SUCCEED': LOG.error(_LE("UpdateTenantFW(disconnect) FAILED.")) info = { 'status': 'FAILED', 'msg': 'UpdateTenantFW(disconnect) FAILED.' } raise nwa_exc.AgentProxyException(value=info) LOG.debug("UpdateTenantFW(disconnect) SUCCEED.") resource_group_name_nw = kwargs['nwa_info']['resource_group_name_nw'] data_utils.strip_interface_data(nwa_data, device_id, network_id, resource_group_name_nw) data_utils.strip_tfw_data_if_exist(nwa_data, device_id, network_id, resource_group_name_nw) if not l2.check_segment_tfw(network_id, resource_group_name_nw, nwa_data): data_utils.strip_vp_net_data(nwa_data, network_id, resource_group_name_nw, nwa_const.NWA_DEVICE_TFW) return nwa_data
def _update_tenant_fw_disconnect(self, context, **kwargs): """Update Tenant FW @param context: contains user information. @param kwargs: @return: nwa_data @raise AgentProxyException """ if self.multi_dc: self.proxy_l2.delete_connect_port(context, **kwargs) nwa_data = kwargs.get('nwa_data') device_id = kwargs['nwa_info']['device']['id'] network_id = kwargs['nwa_info']['network']['id'] device_name = data_utils.get_tfw_device_name(nwa_data, device_id) if self.tenant_fw_disconnect_hook: self.tenant_fw_disconnect_hook(context, device_name, **kwargs) rcode, body = self.client.l3.update_tenant_fw( kwargs['nwa_tenant_id'], device_name, kwargs['nwa_info']['port']['ip'], data_utils.get_vlan_logical_name(nwa_data, network_id), kwargs['nwa_info']['network']['vlan_type'], connect='disconnect' ) if rcode != 200 or body['status'] != 'SUCCEED': LOG.error(_LE("UpdateTenantFW(disconnect) FAILED.")) info = {'status': 'FAILED', 'msg': 'UpdateTenantFW(disconnect) FAILED.'} raise nwa_exc.AgentProxyException(value=info) LOG.debug("UpdateTenantFW(disconnect) SUCCEED.") resource_group_name_nw = kwargs['nwa_info']['resource_group_name_nw'] data_utils.strip_interface_data(nwa_data, device_id, network_id, resource_group_name_nw) data_utils.strip_tfw_data_if_exist(nwa_data, device_id, network_id, resource_group_name_nw) if not l2.check_segment_tfw(network_id, resource_group_name_nw, nwa_data): data_utils.strip_vp_net_data(nwa_data, network_id, resource_group_name_nw, nwa_const.NWA_DEVICE_TFW) return nwa_data
def _delete_tenant_fw(self, context, **kwargs): """Delete Tenant FW @param context: contains user information. @param kwargs: nwa_tenant_id, nwa_tenant_id, nwa_info, nwa_data @return: resutl(succeed = True, other = False), data(nwa_data or None) """ if self.multi_dc: self.proxy_l2.delete_connect_port(context, **kwargs) nwa_data = kwargs.get('nwa_data') nwa_info = kwargs['nwa_info'] network_id = nwa_info['network']['id'] device_id = nwa_info['device']['id'] device_name = data_utils.get_tfw_device_name(nwa_data, device_id) if self.tenant_fw_delete_hook: self.tenant_fw_delete_hook(context, device_name, **kwargs) rcode, body = self.client.l3.delete_tenant_fw( kwargs['nwa_tenant_id'], device_name, 'TFW' ) if rcode != 200 or body['status'] != 'SUCCEED': msg = _LE("DeleteTenantFW %s."), body['status'] LOG.error(msg) raise nwa_exc.AgentProxyException(value=nwa_data) LOG.debug("DeleteTenantFW SUCCEED.") resource_group_name_nw = nwa_info['resource_group_name_nw'] # delete recode data_utils.strip_device_data(nwa_data, device_id) data_utils.strip_interface_data(nwa_data, device_id, network_id, resource_group_name_nw) data_utils.strip_tfw_data_if_exist(nwa_data, device_id, network_id, resource_group_name_nw) if not l2.check_segment_tfw(network_id, resource_group_name_nw, nwa_data): data_utils.strip_vp_net_data(nwa_data, network_id, resource_group_name_nw, nwa_const.NWA_DEVICE_TFW) return nwa_data
def _delete_tenant_fw(self, context, **kwargs): """Delete Tenant FW @param context: contains user information. @param kwargs: nwa_tenant_id, nwa_tenant_id, nwa_info, nwa_data @return: resutl(succeed = True, other = False), data(nwa_data or None) """ if self.multi_dc: self.proxy_l2.delete_connect_port(context, **kwargs) nwa_data = kwargs.get('nwa_data') nwa_info = kwargs['nwa_info'] network_id = nwa_info['network']['id'] device_id = nwa_info['device']['id'] device_name = data_utils.get_tfw_device_name(nwa_data, device_id) if self.tenant_fw_delete_hook: self.tenant_fw_delete_hook(context, device_name, **kwargs) rcode, body = self.client.l3.delete_tenant_fw(kwargs['nwa_tenant_id'], device_name, 'TFW') if rcode != 200 or body['status'] != 'SUCCEED': msg = _LE("DeleteTenantFW %s."), body['status'] LOG.error(msg) raise nwa_exc.AgentProxyException(value=nwa_data) LOG.debug("DeleteTenantFW SUCCEED.") resource_group_name_nw = nwa_info['resource_group_name_nw'] # delete recode data_utils.strip_device_data(nwa_data, device_id) data_utils.strip_interface_data(nwa_data, device_id, network_id, resource_group_name_nw) data_utils.strip_tfw_data_if_exist(nwa_data, device_id, network_id, resource_group_name_nw) if not l2.check_segment_tfw(network_id, resource_group_name_nw, nwa_data): data_utils.strip_vp_net_data(nwa_data, network_id, resource_group_name_nw, nwa_const.NWA_DEVICE_TFW) return nwa_data