def test_list_subnets(self, mock_connection): ovn_north = OvnNorth() result = ovn_north.list_subnets() assert len(result) == 2 assert result[0]['id'] == str(TestOvnNorth.SUBNET_ID101) assert result[0]['network_id'] == str(TestOvnNorth.NETWORK_ID10) assert result[0]['tenant_id'] == tenant_id()
def row2rest(row): if not row: return {} options = row.options external_ids = row.external_ids result = { SubnetMapper.REST_SUBNET_ID: str(row.uuid), SubnetMapper.REST_SUBNET_NAME: external_ids[SubnetMapper.OVN_NAME], SubnetMapper.REST_SUBNET_CIDR: row.cidr, SubnetMapper.REST_SUBNET_NETWORK_ID: external_ids[SubnetMapper.OVN_NETWORK_ID], SubnetMapper.REST_SUBNET_IP_VERSION: SubnetMapper.IP_VERSION, SubnetMapper.REST_TENANT_ID: tenant_id(), SubnetMapper.REST_SUBNET_ENABLE_DHCP: True, } if SubnetMapper.OVN_GATEWAY in options: result[SubnetMapper.REST_SUBNET_GATEWAY_IP] = ( options[SubnetMapper.OVN_GATEWAY]) if SubnetMapper.REST_SUBNET_DNS_NAMESERVERS in options: result[SubnetMapper.REST_SUBNET_DNS_NAMESERVERS] = [ options[SubnetMapper.OVN_DNS_SERVER] ] return result
def get_tenants(content, parameters): return Response({ 'tenants': [{ 'description': tenant_description(), 'name': tenant_name(), 'id': tenant_id() }] })
def row2rest(network_row): if not network_row: return {} return { NetworkMapper.REST_NETWORK_ID: str(network_row.uuid), NetworkMapper.REST_NETWORK_NAME: network_row.name, NetworkMapper.REST_TENANT_ID: tenant_id() }
def assert_port_equal(self, actual, port_row, network_id): assert actual['id'] == str(port_row.uuid) assert actual['network_id'] == network_id assert actual['name'] == port_row.external_ids[PortMapper.OVN_NIC_NAME] device_id = port_row.external_ids[PortMapper.OVN_DEVICE_ID] assert actual['device_id'] == device_id assert actual['security_groups'] == [] assert actual['port_security_enabled'] is False assert actual['tenant_id'] == tenant_id() assert actual['fixed_ips'] == []
def row2rest(network_row): if not network_row: return {} result = { NetworkMapper.REST_NETWORK_ID: str(network_row.uuid), NetworkMapper.REST_NETWORK_NAME: network_row.name, NetworkMapper.REST_TENANT_ID: tenant_id(), NetworkMapper.REST_STATUS: NetworkMapper.NETWORK_STATUS_ACTIVE } result.update(NetworkMapper._row2rest_localnet(network_row)) return result
def row2rest(row): if not row: return {} router_id, network_id, port_id, subnet_id = row return { AddRouterInterfaceMapper.REST_ROUTERINTERFACE_ID: router_id, AddRouterInterfaceMapper.REST_ROUTERINTERFACE_NETWORK_ID: network_id, AddRouterInterfaceMapper.REST_ROUTERINTERFACE_PORT_ID: port_id, AddRouterInterfaceMapper.REST_ROUTERINTERFACE_SUBNET_ID: subnet_id, AddRouterInterfaceMapper.REST_ROUTERINTERFACE_SUBNET_IDS: [subnet_id], AddRouterInterfaceMapper.REST_TENANT_ID: tenant_id(), }
def row2rest(row): if not row: return {} return { RouterMapper.REST_ROUTER_ID: str(row.uuid), RouterMapper.REST_ROUTER_NAME: row.name, RouterMapper.REST_ROUTER_ADMIN_STATE_UP: row.enabled, RouterMapper.REST_ROUTER_STATUS: RouterMapper.ROUTER_STATUS_ACTIVE if row.enabled else RouterMapper.ROUTER_STATUS_INACTIVE, RouterMapper.REST_ROUTER_ROUTES: [], RouterMapper.REST_TENANT_ID: tenant_id(), }
def row2rest(row): """ Maps the db rows (port, network) to a Json representation of a port. The 'admin_state_up' property of the port is the product of two values: - port.up - managed internally by OVN, True only if set explicitly to [True] - port.enabled - set by the user, True if empty (None) or set to [True] """ if not row: return {} port, network = row rest_data = { PortMapper.REST_PORT_ID: str(port.uuid), PortMapper.REST_PORT_NAME: port.external_ids[PortMapper.OVN_NIC_NAME], PortMapper.REST_PORT_NETWORK_ID: str(network.uuid), PortMapper.REST_PORT_SECURITY_GROUPS: [], PortMapper.REST_PORT_SECURITY_ENABLED: False, PortMapper.REST_TENANT_ID: tenant_id(), PortMapper.REST_PORT_FIXED_IPS: [], PortMapper.REST_PORT_ADMIN_STATE_UP: bool((port.up and port.up[0]) and (not port.enabled or port.enabled[0])) } if PortMapper.OVN_DEVICE_ID in port.external_ids: rest_data[PortMapper.REST_PORT_DEVICE_ID] = str( port.external_ids[PortMapper.OVN_DEVICE_ID]) if PortMapper.OVN_DEVICE_OWNER in port.external_ids: rest_data[PortMapper.REST_PORT_DEVICE_OWNER] = port.external_ids[ PortMapper.OVN_DEVICE_OWNER] if port.addresses: mac = port.addresses[0].split(' ')[0] rest_data[PortMapper.REST_PORT_MAC_ADDRESS] = mac return rest_data
def row2rest(row): if not row: return {} result = { RouterMapper.REST_ROUTER_ID: str(row.uuid), RouterMapper.REST_ROUTER_NAME: row.name, RouterMapper.REST_ROUTER_ADMIN_STATE_UP: row.enabled[0] if row.enabled else True, RouterMapper.REST_ROUTER_STATUS: RouterMapper.ROUTER_STATUS_ACTIVE if row.enabled else RouterMapper.ROUTER_STATUS_INACTIVE, RouterMapper.REST_ROUTER_ROUTES: [], RouterMapper.REST_TENANT_ID: tenant_id(), } RouterMapper._get_external_gateway_from_row(result, row) return result
def assert_networks_equal(self, actual, network_row): assert actual['id'] == str(network_row.uuid) assert actual['name'] == network_row.name assert actual['tenant_id'] == tenant_id() self._assert_localnet_networks_equal(actual, network_row)