StarlingX API Documentation

Networking API v2 StarlingX extensions

This section describes changes made to the standard OpenStack Networking API for the StarlingX. Some existing OpenStack API instances have been enhanced to add new attributes, or update the semantics of existing attributes. In other cases, entirely new API instances have been created to expose StarlingX networking functionality via the standard RESTful API.

The typical port used for the Networking REST API is 9696. However, proper technique would be to look up the neutron service endpoint in Keystone.

Extensions

The Extensions entity lists all available extensions; both open-source extensions and StarlingX extensions.

GET
/v2.0/extensions

Lists all extensions - Networking API

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Response parameters

Parameter Style Type Description
namespace (Optional) plain xsd:string Indicates namespace of the extension.
name (Optional) plain xsd:string Indicates name of the extension.
updated (Optional) plain xsd:string Indicates updated time of the extension.
description (Optional) plain xsd:string Indicates description of the extension.
alias (Optional) plain xsd:string Indicates alias of the extension.
links (Optional) plain xsd:list A list of links for the extension.
{
   "extensions" : [
      ...
      {
         "namespace" : "http://docs.windriver.org/tis/ext/wrs-provider/v1",
         "name" : "wrs-provider-network",
         "updated" : "2014-10-01T12:00:00-00:00",
         "description" : "WRS Provider Network Extensions.",
         "alias" : "wrs-provider",
         "links" : []
      },
      {
         "namespace" : "http://docs.windriver.org/tis/ext/wrs-tenant/v1",
         "name" : "wrs-tenant-settings",
         "updated" : "2014-10-01T12:00:00-00:00",
         "description" : "WRS Tenant Network Settings Extensions.",
         "alias" : "wrs-tenant",
         "links" : []
      },
      {
         "namespace" : "http://docs.windriver.org/tis/ext/wrs-tm/v1",
         "name" : "wrs-traffic-management",
         "updated" : "2014-10-01T12:00:00-00:00",
         "description" : "WRS Traffic Management Extensions.",
         "alias" : "wrs-tm",
         "links" : []
      },
      {
         "namespace" : "http://docs.windriver.org/tis/ext/wrs-net/v1",
         "name" : "wrs-tenant-network",
         "updated" : "2014-10-01T12:00:00-00:00",
         "description" : "WRS Tenant Network Extensions.",
         "alias" : "wrs-net",
         "links" : []
      },
      {
         "namespace" : "http://docs.windriver.org/tis/ext/wrs-binding/v1",
         "name" : "wrs-port-binding",
         "updated" : "2014-10-01T12:00:00-00:00",
         "description" : "WRS Port Binding Extensions.",
         "alias" : "wrs-binding",
         "links" : []
      },
      ...
   ]
}

This operation does not accept a request body.

GET
/v2.0/extensions/​{extension_alias}

Gets information about a specified extension - Networking API

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Request parameters

Parameter Style Type Description
extension_alias URI xsd:string The alias for the extension to list.

Response parameters

Parameter Style Type Description
namespace (Optional) plain xsd:string Indicates namespace of the extension.
name (Optional) plain xsd:string Indicates name of the extension.
updated (Optional) plain xsd:string Indicates updated time of the extension.
description (Optional) plain xsd:string Indicates description of the extension.
alias (Optional) plain xsd:string Indicates alias of the extension.
links (Optional) plain xsd:list A list of links for the extension.
{
   "extensions" : {
      "namespace" : "http://docs.windriver.org/tis/ext/wrs-provider/v1",
      "name" : "wrs-provider-network",
      "updated" : "2014-10-01T12:00:00-00:00",
      "description" : "WRS Provider Network Extensions.",
      "alias" : "wrs-provider",
      "links" : []
   }
}

OR

{
   "extensions" : {
      "namespace" : "http://docs.windriver.org/tis/ext/wrs-tenant/v1",
      "name" : "wrs-tenant-settings",
      "updated" : "2014-10-01T12:00:00-00:00",
      "description" : "WRS Tenant Network Settings Extensions.",
      "alias" : "wrs-tenant",
      "links" : []
   }
}

OR

{
   "extensions" : {
      "namespace" : "http://docs.windriver.org/tis/ext/wrs-tm/v1",
      "name" : "wrs-traffic-management",
      "updated" : "2014-10-01T12:00:00-00:00",
      "description" : "WRS Traffic Management Extensions.",
      "alias" : "wrs-tm",
      "links" : []
   }
}

OR

{
   "extensions" : {
      "namespace" : "http://docs.windriver.org/tis/ext/wrs-net/v1",
      "name" : "wrs-tenant-network",
      "updated" : "2014-10-01T12:00:00-00:00",
      "description" : "WRS Tenant Network Extensions.",
      "alias" : "wrs-net",
      "links" : []
   }
}

OR

{
   "extensions" : {
      "namespace" : "http://docs.windriver.org/tis/ext/wrs-binding/v1",
      "name" : "wrs-port-binding",
      "updated" : "2014-10-01T12:00:00-00:00",
      "description" : "WRS Port Binding Extensions.",
      "alias" : "wrs-binding",
      "links" : []
   }
}

This operation does not accept a request body.

Provider Network

The Provider Network entity is a new entity which was added to the OpenStack API. It enables management of provider networks via the RESTful API. The standard OpenStack API included no such entity; instead, the end user was required to edit static configuration files through the system to add, or update provider network information.

This entity and all of its operations are only available to administrator level users.

GET
/v2.0/wrs-provider/providernets

Lists all provider networks

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Response parameters

Parameter Style Type Description
providernets (Optional) plain xsd:list The list of provider networks.
description (Optional) plain xsd:string User defined description of the provider network.
id (Optional) plain csapi:UUID The unique UUID value of the provider network.
mtu (Optional) plain xsd:integer The maximum transmit unit (MTU) assigned to the provider network. Must be between 576 and 9216 bytes inclusively. The default value is 1500.
name (Optional) plain xsd:string The user defined name of the provider network.
ranges (Optional) plain xsd:list The list of segmentation ranges defined for this provider network. See the provider network range description for a description of range fields.
status (Optional) plain xsd:string The current status of the provider network. Returns ACTIVE if at least one compute node has a data interface associated to this provider network and is available.
{
    "providernets": [
        {
            "description": "Group0 provider networks for data1 interfaces",
            "id": "b67d40aa-3651-4dd6-886f-4bff5caa266e",
            "mtu": 1500,
            "name": "group0-data1",
            "ranges": [
                {
                    "description": "tenant2 reserved networks",
                    "id": "a8184bf7-b683-4bc1-a70c-dae34391344c",
                    "maximum": 631,
                    "minimum": 616,
                    "name": "group0-tenant2",
                    "shared": false,
                    "tenant_id": "d8753af85cef49a4bf5f95208c4957f3"
                }
            ],
            "status": "ACTIVE",
            "type": "vlan",
            "vlan_transparent": false,
        },
        {
            "description": "Group0 provider networks for data0 interfaces",
            "id": "c496c429-cb52-4d4b-9171-b4b31fa91a80",
            "mtu": 1500,
            "name": "group0-data0",
            "ranges": [
                {
                    "description": "Shared internal networks",
                    "id": "f3e1bc29-29f7-4ee0-a78d-9c3d7a0f53e5",
                    "maximum": 731,
                    "minimum": 700,
                    "name": "group0-shared",
                    "shared": true,
                    "tenant_id": null
                },
                {
                    "description": "External network access",
                    "id": "35ef3460-700a-48a3-8df9-145eb68fcd31",
                    "maximum": 10,
                    "minimum": 10,
                    "name": "group0-external",
                    "shared": true,
                    "tenant_id": null
                },
                {
                    "description": "tenant1 reserved networks",
                    "id": "736b0c0d-945b-4a17-9fe4-cf02a5327132",
                    "maximum": 615,
                    "minimum": 600,
                    "name": "group0-tenant1",
                    "shared": false,
                    "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
                }
            ],
            "status": "ACTIVE",
            "type": "vlan",
            "vlan_transparent": false,
        }
    ]
}

This operation does not accept a request body.

GET
/v2.0/wrs-provider/providernets/​{providernet_id}

Shows detailed information about a specific provider network

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Request parameters

Parameter Style Type Description
providernet_id URI csapi:UUID The ID for a provider network.

Response parameters

Parameter Style Type Description
description (Optional) plain xsd:string User defined description of the provider network.
id (Optional) plain csapi:UUID The unique UUID value of the provider network.
mtu (Optional) plain xsd:integer The maximum transmit unit (MTU) assigned to the provider network. Must be between 576 and 9216 bytes inclusively. The default value is 1500.
name (Optional) plain xsd:string The user defined name of the provider network.
ranges (Optional) plain xsd:list The list of segmentation ranges defined for this provider network. See the provider network range description for a description of range fields.
status (Optional) plain xsd:string The current status of the provider network. Returns ACTIVE if at least one compute node has a data interface associated to this provider network and is available.
{
    "providernet": {
        "description": "Group0 provider networks for data1 interfaces",
        "id": "b67d40aa-3651-4dd6-886f-4bff5caa266e",
        "mtu": 1500,
        "name": "group0-data1",
        "ranges": [
            {
                "description": "tenant2 reserved networks",
                "id": "a8184bf7-b683-4bc1-a70c-dae34391344c",
                "maximum": 631,
                "minimum": 616,
                "name": "group0-tenant2",
                "shared": false,
                "tenant_id": "d8753af85cef49a4bf5f95208c4957f3"
            }
        ],
        "status": "ACTIVE",
        "type": "vlan",
        "vlan_transparent": false,
    }
}

This operation does not accept a request body.

POST
/v2.0/wrs-provider/providernets

Creates a provider network

Normal response codes

200

Error response codes

badMediaType (415), NetworkNotFound (400)

Request parameters

Parameter Style Type Description
description (Optional) plain xsd:string User defined description of the provider network.
name (Optional) plain xsd:string The user defined name of the provider network.
type (Optional) plain xsd:string The encapsulation type of the provider network. Valid values are: vlan, flat
vlan_transparent (Optional) plain xsd:bool Specifies whether VLAN transparent network are supported on this provider network.

Response parameters

Parameter Style Type Description
description (Optional) plain xsd:string User defined description of the provider network.
id (Optional) plain csapi:UUID The unique UUID value of the provider network.
mtu (Optional) plain xsd:integer The maximum transmit unit (MTU) assigned to the provider network. Must be between 576 and 9216 bytes inclusively. The default value is 1500.
name (Optional) plain xsd:string The user defined name of the provider network.
ranges (Optional) plain xsd:list The list of segmentation ranges defined for this provider network. See the provider network range description for a description of range fields.
status (Optional) plain xsd:string The current status of the provider network. Returns ACTIVE if at least one compute node has a data interface associated to this provider network and is available.
{
    "providernet": {
        "description": "A sample provider network",
        "name": "test",
        "type": "vlan",
        "vlan_transparent": false,
    }
}
{
    "providernet": {
        "description": "A sample provider network",
        "id": "4da9e42c-e556-470c-8e92-cbd19bcc6a10",
        "mtu": 1500,
        "name": "test",
        "ranges": [],
        "status": "DOWN",
        "type": "vlan",
        "vlan_transparent": false,
    }
}
PUT
/v2.0/wrs-provider/providernets/​{providernet_id}

Modifies a specific provider network

Normal response codes

200

Error response codes

badMediaType (415), NetworkNotFound (400)

Request parameters

Parameter Style Type Description
providernet_id URI csapi:UUID The ID for a provider network.
description (Optional) plain xsd:string User defined description of the provider network.
vlan_transparent (Optional) plain xsd:bool Specifies whether VLAN transparent network are supported on this provider network.

Response parameters

Parameter Style Type Description
description (Optional) plain xsd:string User defined description of the provider network.
id (Optional) plain csapi:UUID The unique UUID value of the provider network.
mtu (Optional) plain xsd:integer The maximum transmit unit (MTU) assigned to the provider network. Must be between 576 and 9216 bytes inclusively. The default value is 1500.
name (Optional) plain xsd:string The user defined name of the provider network.
ranges (Optional) plain xsd:list The list of segmentation ranges defined for this provider network. See the provider network range description for a description of range fields.
status (Optional) plain xsd:string The current status of the provider network. Returns ACTIVE if at least one compute node has a data interface associated to this provider network and is available.
{
    "providernet": {
        "description": "Another sample provider network"
    }
}
{
    "providernet": {
        "description": "Another sample provider network",
        "id": "4da9e42c-e556-470c-8e92-cbd19bcc6a10",
        "mtu": 1500,
        "name": "test",
        "ranges": [],
        "status": "DOWN",
        "type": "vlan",
        "vlan_transparent": false,
    }
}
DELETE
/v2.0/wrs-provider/providernets/​{providernet_id}

Deletes a specific provider network

Normal response codes

204

Request parameters

Parameter Style Type Description
providernet_id URI csapi:UUID The ID for a provider network.

This operation does not accept a request body.

GET
/v2.0/wrs-provider/providernets/​{providernet_id}​/providernet-bindings

Lists networks that are implemented by a given provider network. Each network is listed with its assigned provider network segmentation

identifier. If the network has any tagged subnets then they will be listed as separate entities with their corresponding provider network segmentation identifier.

Normal response codes

200

Error response codes

itemNotFound (401)

Request parameters

Parameter Style Type Description
providernet_id URI csapi:UUID The ID for a provider network.

Response parameters

Parameter Style Type Description
networks (Optional) plain xsd:list The list of tenant networks.
id (Optional) plain csapi:UUID The unique UUID value of the tenant network.
name (Optional) plain xsd:string The user defined name of the tenant network.
providernet_type (Optional) plain xsd:string The encapsulation type of the provider network.
segmentation_id (Optional) plain xsd:integer The provider network segmentation identifier that is assigned to this tenant network. If the vlan_id attribute is non-zero then the segmentation_id represents that identifier which has been associated to a tagged subnet on the listed tenant network.
vlan_id (Optional) plain xsd:integer The VLAN identifier which has been configured on the tenant subnet.
{
    "networks": [
        {
            "id": "2c0896cf-d118-4dca-9760-b4d97e3c7ec3",
            "name": "tenant1-net0",
            "providernet_type": "vlan",
            "segmentation_id": 601,
            "vlan_id": 0
        },
        {
            "id": "7e5ed852-a990-4fc5-89a2-b17093ca1982",
            "name": "internal0-net0",
            "providernet_type": "vlan",
            "segmentation_id": 700,
            "vlan_id": 0
        },
        {
            "id": "b9475152-11d3-4bda-95c7-fb26a3ad3876",
            "name": "external-net0",
            "providernet_type": "vlan",
            "segmentation_id": 10,
            "vlan_id": 0
        },
        {
            "id": "f652780a-7a9d-4667-8df4-5c8632728be9",
            "name": "tenant1-mgmt-net",
            "providernet_type": "vlan",
            "segmentation_id": 600,
            "vlan_id": 0
        }
    ]
}

This operation does not accept a request body.

Provider Network Range

The Provider Network Range entity is a new entity which was added to the OpenStack API. It enables management of provider network segmentation ranges via the RESTful API. The standard OpenStack API included no such entity; instead, the end user was required to edit static configuration files through the system to add, or update provider network segmentation ranges.

This entity and all of its operations are only available to administrator level users.

GET
/v2.0/wrs-provider/providernet-ranges

Lists all provider network ranges

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Response parameters

Parameter Style Type Description
providernetranges (Optional) plain xsd:list The list of provider network ranges.
description (Optional) plain xsd:string User defined description of the provider network segmentation range.
id (Optional) plain csapi:UUID The unique UUID value of the provider network segmentation range.
maximum (Optional) plain xsd:integer The upper bound of the segmentation range (inclusive).
minimum (Optional) plain xsd:integer The lower bound of the segmentation range (inclusive).
name (Optional) plain xsd:string The user defined name of the provider network segmentation range.
providernet_id (Optional) plain csapi:UUID The unique UUID of the parent provider network.
providernet_name (Optional) plain xsd:string The user defined name of the parent provider network.
shared (Optional) plain xsd:bool The shared attribute indicates that the range is available to any tenant.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant which owns the range. Only valid if the shared attribute is False.
{
    "providernet_ranges": [
        {
            "description": "Shared internal networks",
            "id": "f3e1bc29-29f7-4ee0-a78d-9c3d7a0f53e5",
            "maximum": 731,
            "minimum": 700,
            "name": "group0-shared",
            "providernet_id": "c496c429-cb52-4d4b-9171-b4b31fa91a80",
            "providernet_name": "group0-data0",
            "shared": true,
            "tenant_id": null
        },
        {
            "description": "External network access",
            "id": "35ef3460-700a-48a3-8df9-145eb68fcd31",
            "maximum": 10,
            "minimum": 10,
            "name": "group0-external",
            "providernet_id": "c496c429-cb52-4d4b-9171-b4b31fa91a80",
            "providernet_name": "group0-data0",
            "shared": true,
            "tenant_id": null
        },
        {
            "description": "tenant1 reserved networks",
            "id": "736b0c0d-945b-4a17-9fe4-cf02a5327132",
            "maximum": 615,
            "minimum": 600,
            "name": "group0-tenant1",
            "providernet_id": "c496c429-cb52-4d4b-9171-b4b31fa91a80",
            "providernet_name": "group0-data0",
            "shared": false,
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
        },
        {
            "description": "tenant2 reserved networks",
            "id": "a8184bf7-b683-4bc1-a70c-dae34391344c",
            "maximum": 631,
            "minimum": 616,
            "name": "group0-tenant2",
            "providernet_id": "b67d40aa-3651-4dd6-886f-4bff5caa266e",
            "providernet_name": "group0-data1",
            "shared": false,
            "tenant_id": "d8753af85cef49a4bf5f95208c4957f3"
        },
        {
            "description": "A sample provider network segmentation range",
            "id": "bdf07406-a867-42e5-9533-5100c4a3f2ba",
            "maximum": 100,
            "minimum": 1,
            "name": "test-range-0",
            "providernet_id": "239ffb19-bad8-4b05-9194-aa8399816a36",
            "providernet_name": "test",
            "shared": true,
            "tenant_id": null
        }
    ]
}

This operation does not accept a request body.

GET
/v2.0/wrs-provider/providernet-ranges/​{providernet-range_id}

Shows detailed information about a specific provider network range

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Request parameters

Parameter Style Type Description
providernetrange_id URI csapi:UUID The ID for a provider network segmentation range.

Response parameters

Parameter Style Type Description
description (Optional) plain xsd:string User defined description of the provider network segmentation range.
id (Optional) plain csapi:UUID The unique UUID value of the provider network segmentation range.
maximum (Optional) plain xsd:integer The upper bound of the segmentation range (inclusive).
minimum (Optional) plain xsd:integer The lower bound of the segmentation range (inclusive).
name (Optional) plain xsd:string The user defined name of the provider network segmentation range.
providernet_id (Optional) plain csapi:UUID The unique UUID of the parent provider network.
providernet_name (Optional) plain xsd:string The user defined name of the parent provider network.
shared (Optional) plain xsd:bool The shared attribute indicates that the range is available to any tenant.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant which owns the range. Only valid if the shared attribute is False.
{
    "providernet_range": {
        "description": "A sample provider network segmentation range",
        "id": "bdf07406-a867-42e5-9533-5100c4a3f2ba",
        "maximum": 100,
        "minimum": 1,
        "name": "test-range-0",
        "providernet_id": "239ffb19-bad8-4b05-9194-aa8399816a36",
        "providernet_name": "test",
        "shared": true,
        "tenant_id": null
    }
}

This operation does not accept a request body.

POST
/v2.0/wrs-provider/providernet-ranges

Creates a provider network range

Normal response codes

200

Error response codes

badMediaType (415), NetworkNotFound (400)

Request parameters

Parameter Style Type Description
description (Optional) plain xsd:string User defined description of the provider network segmentation range.
maximum (Optional) plain xsd:integer The upper bound of the segmentation range (inclusive).
minimum (Optional) plain xsd:integer The lower bound of the segmentation range (inclusive).
name (Optional) plain xsd:string The user defined name of the provider network segmentation range.

Response parameters

Parameter Style Type Description
description (Optional) plain xsd:string User defined description of the provider network segmentation range.
id (Optional) plain csapi:UUID The unique UUID value of the provider network segmentation range.
maximum (Optional) plain xsd:integer The upper bound of the segmentation range (inclusive).
minimum (Optional) plain xsd:integer The lower bound of the segmentation range (inclusive).
name (Optional) plain xsd:string The user defined name of the provider network segmentation range.
providernet_id (Optional) plain csapi:UUID The unique UUID of the parent provider network.
providernet_name (Optional) plain xsd:string The user defined name of the parent provider network.
shared (Optional) plain xsd:bool The shared attribute indicates that the range is available to any tenant.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant which owns the range. Only valid if the shared attribute is False.
{
    "providernet_range": {
        "description": "A sample provider network segmentation range",
        "maximum": "100",
        "minimum": "1",
        "name": "test-range-0",
        "providernet_id": "239ffb19-bad8-4b05-9194-aa8399816a36",
        "shared": true
    }
}
{
    "providernet_range": {
        "description": "A sample provider network segmentation range",
        "id": "bdf07406-a867-42e5-9533-5100c4a3f2ba",
        "maximum": "100",
        "minimum": "1",
        "name": "test-range-0",
        "providernet_id": "239ffb19-bad8-4b05-9194-aa8399816a36",
        "providernet_name": "test",
        "shared": true,
        "tenant_id": null
    }
}
PUT
/v2.0/wrs-provider/providernet-ranges/​{providernet-range_id}

Modifies a specific provider network range

Normal response codes

200

Error response codes

badMediaType (415), NetworkNotFound (400)

Request parameters

Parameter Style Type Description
providernetrange_id URI csapi:UUID The ID for a provider network segmentation range.
description (Optional) plain xsd:string User defined description of the provider network segmentation range.
maximum (Optional) plain xsd:integer The upper bound of the segmentation range (inclusive).
minimum (Optional) plain xsd:integer The lower bound of the segmentation range (inclusive).

Response parameters

Parameter Style Type Description
description (Optional) plain xsd:string User defined description of the provider network segmentation range.
id (Optional) plain csapi:UUID The unique UUID value of the provider network segmentation range.
maximum (Optional) plain xsd:integer The upper bound of the segmentation range (inclusive).
minimum (Optional) plain xsd:integer The lower bound of the segmentation range (inclusive).
name (Optional) plain xsd:string The user defined name of the provider network segmentation range.
providernet_id (Optional) plain csapi:UUID The unique UUID of the parent provider network.
providernet_name (Optional) plain xsd:string The user defined name of the parent provider network.
shared (Optional) plain xsd:bool The shared attribute indicates that the range is available to any tenant.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant which owns the range. Only valid if the shared attribute is False.
{
    "providernet_range": {
        "maximum": "1099",
        "minimum": "1000",
        "description": "VLAN identifiers reserved for tenant1"
    }
}
{
    "providernet_range": {
        "description": null,
        "id": "fe24481a-303f-4cd9-a0ac-76c2e4a9bcc8",
        "maximum": "1099",
        "minimum": "1000",
        "name": "test-range-0",
        "providernet_id": "c496c429-cb52-4d4b-9171-b4b31fa91a80",
        "providernet_name": "group0-data0",
        "shared": false,
        "tenant_id": "206f147dcf72421fa6829e33bfb34637"
    }
}
DELETE
/v2.0/wrs-provider/providernet-ranges/​{providernet-range_id}

Deletes a specific provider network range

Normal response codes

204

Request parameters

Parameter Style Type Description
providernetrange_id URI csapi:UUID The ID for a provider network segmentation range.

This operation does not accept a request body.

Provider Network Type

The Provider Network Type entity is a new entity which was added to the OpenStack API. It exists simply to allow the end user to query which provider network types are supported by the system.

This entity and all of its operations are only available to administrator level users.

GET
/v2.0/wrs-provider/providernet-types

Lists all supported providernet types

Insert extra description here, if required.

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Response parameters

Parameter Style Type Description
providernettypes (Optional) plain xsd:list The list of supported providernet types.
description (Optional) plain xsd:string System description of the provider network type.
type (Optional) plain xsd:string The encapsulation type of the provider network. Valid values are: vlan, flat
{
    "providernet_types": [
        {
            "description": "Ethernet network without additional encapsulation",
            "type": "flat"
        },
        {
            "description": "802.1q encapsulated Ethernet network",
            "type": "vlan"
        }
    ]
}

This operation does not accept a request body.

Provider Network Connectivity Test

The Provider Network Connectivity Test entity is a new entity which was added to the OpenStack API. It enables the verification of provider network connectivity between compute nodes.

This entity and all of its operations are only available to administrator level users.

GET
/v2.0/wrs-provider/providernet-connectivity-tests

Lists results of providernet connectivity tests

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Response parameters

Parameter Style Type Description
providernet_connectivity_tests (Optional) plain xsd:list List of providernet connectivity test results.
{
   "providernet_connectivity_tests":[
      {
         "status":"PASS",
         "segmentation_id":"10",
         "updated_at":"2016-04-12 17:11:34.515416",
         "host_name":"compute-1",
         "providernet_id":"fc210630-7bb5-4ad2-a7e3-a4b752a8377b",
         "host_id":"da6e8822-49ed-43f7-a5e4-90db837ffb2e",
         "providernet_name":"physnet0",
         "audit_uuid":"c3278c0b-660b-4152-a756-4eab241c1627",
         "type":"vlan",
         "message":""
      },
      {
         "status":"PASS",
         "segmentation_id":"10",
         "updated_at":"2016-04-12 17:11:34.511279",
         "host_name":"compute-0",
         "providernet_id":"fc210630-7bb5-4ad2-a7e3-a4b752a8377b",
         "host_id":"3c349ef5-d5f1-4bb1-9742-3538b6e9a352",
         "providernet_name":"physnet0",
         "audit_uuid":"c3278c0b-660b-4152-a756-4eab241c1627",
         "type":"vlan",
         "message":""
      }
   ]
}

This operation does not accept a request body.

POST
/v2.0/wrs-provider/providernet-connectivity-tests

Schedule providernet connectivity test to be run, and return scheduled UUID

Normal response codes

200

Error response codes

badMediaType (415), NetworkNotFound (400)

Request parameters

Parameter Style Type Description
providernet_name (Optional) plain xsd:string Run audit for a given providernet identified by name.
providernet_id (Optional) plain xsd:string Run audit for a given providernet identified by ID.
host_name (Optional) plain xsd:string Run audit for all providernets on a given host identified by name.
host_id (Optional) plain xsd:string Run audit for all providernets on a given host identified by ID.
segmentation_id (Optional) plain xsd:string Restrict audit to these segmentation IDs.

Response parameters

Parameter Style Type Description
audit_uuid (Optional) plain xsd:string Unique ID assigned to the audit.
{
   "providernet_connectivity_test":{
      "segmentation_id":null,
      "host_name":null,
      "providernet_id":null
   }
}
{
   "providernet_connectivity_test":{
      "audit_uuid":"12a9f9c2-ca3b-4b56-b463-5755022c8d16"
   }
}

Tenant Settings

The Tenant Settings entity is a new entity which was added to the OpenStack API. It enables management of features or system behaviours on a per-tenant basis by the administrator.

This entity and all of its operations are only available to administrator level users.

GET
/v2.0/wrs-tenant/settings

Lists all tenant network settings

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Response parameters

Parameter Style Type Description
settings (Optional) plain xsd:list The list of tenant network settings.
mac_filtering (Optional) plain xsd:bool The state of the source MAC filtering feature for the specified tenant. The current state of the feature only affects newly launched VM instances.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant.
{
    "settings": [
        {
            "mac_filtering": false,
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
        },
        {
            "mac_filtering": false,
            "tenant_id": "d8753af85cef49a4bf5f95208c4957f3"
        }
    ]
}

This operation does not accept a request body.

GET
/v2.0/wrs-tenant/settings/​{tenant_id}

Shows detailed information about a specific tenant network setting

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for a tenant.

Response parameters

Parameter Style Type Description
mac_filtering (Optional) plain xsd:bool The state of the source MAC filtering feature for the specified tenant. The current state of the feature only affects newly launched VM instances.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant.
{
    "setting": {
        "mac_filtering": false
    }
}

This operation does not accept a request body.

PUT
/v2.0/wrs-tenant/settings/​{tenant_id}

Modifies a specific tenant network setting

Normal response codes

200

Error response codes

badMediaType (415), NetworkNotFound (400)

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for a tenant.
mac_filtering (Optional) plain xsd:bool The state of the source MAC filtering feature for the specified tenant. The current state of the feature only affects newly launched VM instances.

Response parameters

Parameter Style Type Description
mac_filtering (Optional) plain xsd:bool The state of the source MAC filtering feature for the specified tenant. The current state of the feature only affects newly launched VM instances.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant.
{
    "setting": {
        "mac_filtering": true
    }
}
{
    "setting": {
        "mac_filtering": true
    }
}
DELETE
/v2.0/wrs-tenant/settings/​{tenant_id}

Deletes a specific tenant network setting

Normal response codes

204

Request parameters

Parameter Style Type Description
tenant_id URI csapi:UUID The ID for a tenant.

This operation does not accept a request body.

QOS Policies

The QOS entity is a new entity which was added to the OpenStack API. It enables management of Quality of Service policies and profiles via the RESTful API. QOS policies can be created and maintained by the administrator.

GET
/v2.0/wrs-tm/qoses

Lists all QOS policies

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Response parameters

Parameter Style Type Description
Qoses (Optional) plain xsd:list The list of QOS policies.
description (Optional) plain xsd:string The user defined description of the QoS policy.
id (Optional) plain csapi:UUID The unique UUID value of the QoS policy.
name (Optional) plain xsd:string The user defined name of the QoS policy.
policies (Optional) plain xsd:dict The set of scheduler policies and weights for the QoS policy.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant to which this policy is assigned.
{
    "qoses": [
        {
            "description": "tenant1 Management Network Policy",
            "id": "102c64e4-ad26-4610-ae39-f59e15fcb80c",
            "name": "tenant1-mgmt-qos",
            "policies": {
                "scheduler": {
                    "weight": "8"
                }
            },
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
        },
        {
            "description": "tenant2 Management Network Policy",
            "id": "62970a9a-b093-4747-92dd-9de25616036a",
            "name": "tenant2-mgmt-qos",
            "policies": {
                "scheduler": {
                    "weight": "8"
                }
            },
            "tenant_id": "d8753af85cef49a4bf5f95208c4957f3"
        },
        {
            "description": "External Network Policy",
            "id": "d28e697c-c290-4895-b57c-ac7d38db9003",
            "name": "external-qos",
            "policies": {
                "scheduler": {
                    "weight": "16"
                }
            },
            "tenant_id": "206f147dcf72421fa6829e33bfb34637"
        }
    ]
}

This operation does not accept a request body.

GET
/v2.0/wrs-tm/qoses/​{qos_id}

Shows detailed information about a specific QOS policy

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Request parameters

Parameter Style Type Description
qos_id URI csapi:UUID The ID for a QOS Policy.

Response parameters

Parameter Style Type Description
description (Optional) plain xsd:string The user defined description of the QoS policy.
id (Optional) plain csapi:UUID The unique UUID value of the QoS policy.
name (Optional) plain xsd:string The user defined name of the QoS policy.
policies (Optional) plain xsd:dict The set of scheduler policies and weights for the QoS policy.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant to which this policy is assigned.
{
    "qos": {
        "description": "tenant1 Management Network Policy",
        "id": "102c64e4-ad26-4610-ae39-f59e15fcb80c",
        "name": "tenant1-mgmt-qos",
        "policies": {
            "scheduler": {
                "weight": "8"
            }
        },
        "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
    }
}

This operation does not accept a request body.

POST
/v2.0/wrs-tm/qoses

Creates a QOS policy

Normal response codes

200

Error response codes

badMediaType (415), NetworkNotFound (400)

Request parameters

Parameter Style Type Description
description (Optional) plain xsd:string The user defined description of the QoS policy.
name (Optional) plain xsd:string The user defined name of the QoS policy.
policies (Optional) plain xsd:dict The set of scheduler policies and weights for the QoS policy.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant to which this policy is assigned.

Response parameters

Parameter Style Type Description
description (Optional) plain xsd:string The user defined description of the QoS policy.
id (Optional) plain csapi:UUID The unique UUID value of the QoS policy.
name (Optional) plain xsd:string The user defined name of the QoS policy.
policies (Optional) plain xsd:dict The set of scheduler policies and weights for the QoS policy.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant to which this policy is assigned.
{
    "qos": {
        "description": "A sample QoS profile",
        "name": "test-qos-0",
        "policies": {
            "scheduler": {
                "weight": "8"
            }
        },
        "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
    }
}
{
    "qos": {
        "description": "A sample QoS profile",
        "id": "5e1841fa-c106-47ee-a736-e527478f1239",
        "name": "test-qos-0",
        "policies": {
            "scheduler": {
                "weight": "8"
            }
        },
        "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
    }
}
PUT
/v2.0/wrs-tm/qoses/​{qos_id}

Modifies a specific QOS policy

Normal response codes

200

Error response codes

badMediaType (415), NetworkNotFound (400)

Request parameters

Parameter Style Type Description
qos_id URI csapi:UUID The ID for a QOS Policy.
description (Optional) plain xsd:string The user defined description of the QoS policy.
policies (Optional) plain xsd:dict The set of scheduler policies and weights for the QoS policy.

Response parameters

Parameter Style Type Description
description (Optional) plain xsd:string The user defined description of the QoS policy.
id (Optional) plain csapi:UUID The unique UUID value of the QoS policy.
name (Optional) plain xsd:string The user defined name of the QoS policy.
policies (Optional) plain xsd:dict The set of scheduler policies and weights for the QoS policy.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant to which this policy is assigned.
{
    "qos": {
        "description": "Another sample QoS profile",
        "policies": {
            "scheduler": {
                "weight": "16"
            }
        }
    }
}
{
    "qos": {
        "description": "Another sample QoS profile",
        "id": "5e1841fa-c106-47ee-a736-e527478f1239",
        "name": "test-qos-0",
        "policies": {
            "scheduler": {
                "weight": "16"
            }
        },
        "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
    }
}
DELETE
/v2.0/wrs-tm/qoses/​{qos_id}

Deletes a specific QOS policy

Normal response codes

204

Request parameters

Parameter Style Type Description
qos_id URI csapi:UUID The ID for a QOS Policy.

This operation does not accept a request body.

Network

The Network entity is an existing OpenStack API. It has been extended to add the following StarlingX functionality.

  • A QOS policy can optionally be associated to a tenant network
  • The maximum transmit unit (MTU) of each tenant network is inherited from its associated provider network
  • The status of each tenant network is derived from the state of the DHCP server which services its subnets
GET
/v2.0/networks

Lists networks that are accessible to the tenant who submits the reequest

This is an existing OpenStack API. The documentation that follows lists only the fields that are new or modified. For a detailed description of existing and unmodified fields please refer to the standard OpenStack API documentation.

Normal response codes

200

Error response codes

itemNotFound (401)

Response parameters

Parameter Style Type Description
networks (Optional) plain xsd:list The list of tenant networks.
wrs-tm:qos (Optional) plain csapi:UUID The unique UUID of the assigned QoS policy.
status (Optional) plain xsd:string Indicates whether the tenant network is ACTIVE or DOWN. If the network is DHCP enabled then it can only be active if at least 1 DHCP agent is servicing the network. StarlingX corrected the reporting of this status.
{
    "networks": [
        {
            "admin_state_up": true,
            "id": "b9475152-11d3-4bda-95c7-fb26a3ad3876",
            "name": "external-net0",
            "mtu": 1500,
            "provider:network_type": "vlan",
            "provider:physical_network": "group0-data0",
            "provider:segmentation_id": 10,
            "wrs-tm:qos": "d28e697c-c290-4895-b57c-ac7d38db9003",
            "router:external": true,
            "shared": true,
            "status": "ACTIVE",
            "subnets": [
                "b282ef86-2584-4a02-9b58-69d6233952a2"
            ],
            "tenant_id": "206f147dcf72421fa6829e33bfb34637"
        },
        {
            "admin_state_up": true,
            "id": "f652780a-7a9d-4667-8df4-5c8632728be9",
            "name": "tenant1-mgmt-net",
            "mtu": 1500,
            "provider:network_type": "vlan",
            "provider:physical_network": "group0-data0",
            "provider:segmentation_id": 600,
            "wrs-tm:qos": "102c64e4-ad26-4610-ae39-f59e15fcb80c",
            "router:external": false,
            "shared": false,
            "status": "ACTIVE",
            "subnets": [
                "34efd537-7a72-4fcd-b837-9874caf34117"
            ],
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
        },
        {
            "admin_state_up": true,
            "id": "9472a8ab-9205-43ef-a460-5f01f031791a",
            "name": "tenant2-mgmt-net",
            "mtu": 1500,
            "provider:network_type": "vlan",
            "provider:physical_network": "group0-data1",
            "provider:segmentation_id": 616,
            "wrs-tm:qos": "62970a9a-b093-4747-92dd-9de25616036a",
            "router:external": false,
            "shared": false,
            "status": "ACTIVE",
            "subnets": [
                "9aa900f4-522b-4b83-ba93-57f7d92da5d5"
            ],
            "tenant_id": "d8753af85cef49a4bf5f95208c4957f3"
        },
        {
            "admin_state_up": true,
            "id": "7e5ed852-a990-4fc5-89a2-b17093ca1982",
            "name": "internal0-net0",
            "mtu": 1500,
            "provider:network_type": "vlan",
            "provider:physical_network": "group0-data0",
            "provider:segmentation_id": 700,
            "router:external": false,
            "shared": true,
            "status": "ACTIVE",
            "subnets": [
                "ad791a3e-33cf-4d8d-b80f-91c87f97745e"
            ],
            "tenant_id": "206f147dcf72421fa6829e33bfb34637",
            "vlan_transparent": false,
        },
        {
            "admin_state_up": true,
            "id": "2c0896cf-d118-4dca-9760-b4d97e3c7ec3",
            "name": "tenant1-net0",
            "mtu": 1500,
            "provider:network_type": "vlan",
            "provider:physical_network": "group0-data0",
            "provider:segmentation_id": 601,
            "router:external": false,
            "shared": false,
            "status": "ACTIVE",
            "subnets": [
                "bc269028-1862-4dde-ba2e-62a67d1af4e4",
                "837aebc9-6c78-43e9-8124-168ba16adbc7"
            ],
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
            "vlan_transparent": false,
        },
        {
            "admin_state_up": true,
            "id": "7a77e654-794a-4e19-9679-ac2733e19876",
            "name": "tenant2-net0",
            "mtu": 1500,
            "provider:network_type": "vlan",
            "provider:physical_network": "group0-data1",
            "provider:segmentation_id": 617,
            "router:external": false,
            "shared": false,
            "status": "ACTIVE",
            "subnets": [
                "985806f5-9fd7-4d47-9da6-cb0c1316e63d"
            ],
            "tenant_id": "d8753af85cef49a4bf5f95208c4957f3"
            "vlan_transparent": false,
        }
    ]
}

This operation does not accept a request body.

GET
/v2.0/networks/​{network_id}

Shows information for a specified network

This is an existing OpenStack API. The documentation that follows lists only the fields that are new or modified. For a detailed description of existing and unmodified fields please refer to the standard OpenStack API documentation.

Normal response codes

200

Error response codes

itemNotFound (401), unauthorized (404)

Request parameters

Parameter Style Type Description
network_id URI csapi:UUID The UUID for a network.

Response parameters

Parameter Style Type Description
wrs-tm:qos (Optional) plain csapi:UUID The unique UUID of the assigned QoS policy.
status (Optional) plain xsd:string Indicates whether the tenant network is ACTIVE or DOWN. If the network is DHCP enabled then it can only be active if at least 1 DHCP agent is servicing the network. StarlingX corrected the reporting of this status.
{
    "network": {
        "admin_state_up": true,
        "id": "e87e7438-8a07-4e82-a472-862bb7fa93ac",
        "name": "test-net-0",
        "mtu": 1500,
        "provider:network_type": "vlan",
        "provider:physical_network": "group0-data0",
        "provider:segmentation_id": 602,
        "wrs-tm:qos": "102c64e4-ad26-4610-ae39-f59e15fcb80c",
        "router:external": false,
        "shared": false,
        "status": "ACTIVE",
        "subnets": [],
        "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10",
        "vlan_transparent": false,
    }
}

This operation does not accept a request body.

Subnet

The Subnet entity is an existing OpenStack API. It has been extended to add the following StarlingX functionality.

  • A subnet can be configured to allow VLAN tagging by the VM instance.
GET
/v2.0/subnets

Lists subnets that are accessible to the tenant who submits the request

This is an existing OpenStack API. The documentation that follows lists only the fields that are new or modified. For a detailed description of existing and unmodified fields please refer to the standard OpenStack API documentation.

Normal response codes

200

Error response codes

itemNotFound (401)

Response parameters

Parameter Style Type Description
subnets (Optional) plain xsd:list The list of subnets.
wrs-net:managed (Optional) plain xsd:bool Indicates whether IP address allocation is managed by the system or by the customer. If true then the system allocates IP addresses when ports are created and attached to VM instances. If false then the system will not assign any IP addresses automatically. This implies that if the system cannot allocate any IP addresses that it also cannot allocate a DHCP server, manage allocation pools, or server DNS nameservers or static routers.
wrs-provider:network_type (Optional) plain xsd:string The type of the provider network to which this subnet is assigned. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
wrs-provider:physical_name (Optional) plain xsd:string The name of the provider network to which this subnet is assigned. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
wrs-provider:segmentation_id (Optional) plain xsd:integer The provider network segmentation id to which this subnet is assigned. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
wrs-net:vlan_id (Optional) plain xsd:integer The VLAN ID to be used in the VM instance. If the VLAN ID is 0 then all packets originated from the VM instance are expected to be untagged. If the VLAN ID value is non zero than it is expected that all packets originated by the VM must be tagged with the corresponding VLAN ID value. Any other value will be discarded by the host vswitch.
{
    "subnets": [
        {
            "allocation_pools": [
                {
                    "end": "192.168.1.254",
                    "start": "192.168.1.2"
                }
            ],
            "cidr": "192.168.1.0/24",
            "dns_nameservers": [],
            "enable_dhcp": false,
            "gateway_ip": "192.168.1.1",
            "host_routes": [],
            "id": "b282ef86-2584-4a02-9b58-69d6233952a2",
            "ip_version": 4,
            "wrs-net:managed": true,
            "name": "external-subnet0",
            "network_id": "b9475152-11d3-4bda-95c7-fb26a3ad3876",
            "wrs-provider:network_type": "vlan",
            "wrs-provider:physical_network": "group0-data0",
            "wrs-provider:segmentation_id": 10,
            "tenant_id": "206f147dcf72421fa6829e33bfb34637",
            "wrs-net:vlan_id": 0
        },
        {
            "allocation_pools": [
                {
                    "end": "192.168.201.50",
                    "start": "192.168.201.2"
                }
            ],
            "cidr": "192.168.201.0/24",
            "dns_nameservers": [],
            "enable_dhcp": true,
            "gateway_ip": "192.168.201.1",
            "host_routes": [],
            "id": "9aa900f4-522b-4b83-ba93-57f7d92da5d5",
            "ip_version": 4,
            "wrs-net:managed": true,
            "name": "tenant2-mgmt-subnet",
            "network_id": "9472a8ab-9205-43ef-a460-5f01f031791a",
            "wrs-provider:network_type": "vlan",
            "wrs-provider:physical_network": "group0-data1",
            "wrs-provider:segmentation_id": 616,
            "tenant_id": "d8753af85cef49a4bf5f95208c4957f3",
            "wrs-net:vlan_id": 0
        },
        {
            "allocation_pools": [
                {
                    "end": "192.168.101.50",
                    "start": "192.168.101.2"
                }
            ],
            "cidr": "192.168.101.0/24",
            "dns_nameservers": [],
            "enable_dhcp": true,
            "gateway_ip": "192.168.101.1",
            "host_routes": [],
            "id": "34efd537-7a72-4fcd-b837-9874caf34117",
            "ip_version": 4,
            "wrs-net:managed": true,
            "name": "tenant1-mgmt-subnet",
            "network_id": "f652780a-7a9d-4667-8df4-5c8632728be9",
            "wrs-provider:network_type": "vlan",
            "wrs-provider:physical_network": "group0-data0",
            "wrs-provider:segmentation_id": 600,
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10",
            "wrs-net:vlan_id": 0
        },
        {
            "allocation_pools": [],
            "cidr": "10.0.0.0/24",
            "dns_nameservers": [],
            "enable_dhcp": false,
            "gateway_ip": null,
            "host_routes": [],
            "id": "ad791a3e-33cf-4d8d-b80f-91c87f97745e",
            "ip_version": 4,
            "wrs-net:managed": false,
            "name": "internal0-subnet0-0",
            "network_id": "7e5ed852-a990-4fc5-89a2-b17093ca1982",
            "wrs-provider:network_type": "vlan",
            "wrs-provider:physical_network": "group0-data0",
            "wrs-provider:segmentation_id": 700,
            "tenant_id": "206f147dcf72421fa6829e33bfb34637",
            "wrs-net:vlan_id": 0
        },
        {
            "allocation_pools": [],
            "cidr": "172.16.0.0/24",
            "dns_nameservers": [],
            "enable_dhcp": false,
            "gateway_ip": null,
            "host_routes": [],
            "id": "bc269028-1862-4dde-ba2e-62a67d1af4e4",
            "ip_version": 4,
            "wrs-net:managed": false,
            "name": "tenant1-subnet0",
            "network_id": "2c0896cf-d118-4dca-9760-b4d97e3c7ec3",
            "wrs-provider:network_type": "vlan",
            "wrs-provider:physical_network": "group0-data0",
            "wrs-provider:segmentation_id": 601,
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10",
            "wrs-net:vlan_id": 0
        },
        {
            "allocation_pools": [],
            "cidr": "172.18.0.0/24",
            "dns_nameservers": [],
            "enable_dhcp": false,
            "gateway_ip": null,
            "host_routes": [],
            "id": "985806f5-9fd7-4d47-9da6-cb0c1316e63d",
            "ip_version": 4,
            "wrs-net:managed": false,
            "name": "tenant2-subnet0",
            "network_id": "7a77e654-794a-4e19-9679-ac2733e19876",
            "wrs-provider:network_type": "vlan",
            "wrs-provider:physical_network": "group0-data1",
            "wrs-provider:segmentation_id": 617,
            "tenant_id": "d8753af85cef49a4bf5f95208c4957f3",
            "wrs-net:vlan_id": 0
        }
    ]
}

This operation does not accept a request body.

GET
/v2.0/subnets/​{subnet_id}

Shows information for a specified subnet

This is an existing OpenStack API. The documentation that follows lists only the fields that are new or modified. For a detailed description of existing and unmodified fields please refer to the standard OpenStack API documentation.

Normal response codes

201

Error response codes

itemNotFound (401), unauthorized (404)

Request parameters

Parameter Style Type Description
subnet_id URI csapi:UUID The UUID for a subnet.

Response parameters

Parameter Style Type Description
wrs-net:managed (Optional) plain xsd:bool Indicates whether IP address allocation is managed by the system or by the customer. If true then the system allocates IP addresses when ports are created and attached to VM instances. If false then the system will not assign any IP addresses automatically. This implies that if the system cannot allocate any IP addresses that it also cannot allocate a DHCP server, manage allocation pools, or server DNS nameservers or static routers.
wrs-provider:network_type (Optional) plain xsd:string The type of the provider network to which this subnet is assigned. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
wrs-provider:physical_name (Optional) plain xsd:string The name of the provider network to which this subnet is assigned. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
wrs-provider:segmentation_id (Optional) plain xsd:integer The provider network segmentation id to which this subnet is assigned. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
wrs-net:vlan_id (Optional) plain xsd:integer The VLAN ID to be used in the VM instance. If the VLAN ID is 0 then all packets originated from the VM instance are expected to be untagged. If the VLAN ID value is non zero than it is expected that all packets originated by the VM must be tagged with the corresponding VLAN ID value. Any other value will be discarded by the host vswitch.
{
    "subnet": {
        "allocation_pools": [],
        "cidr": "1.2.3.0/24",
        "dns_nameservers": [],
        "enable_dhcp": false,
        "gateway_ip": null,
        "host_routes": [],
        "id": "837aebc9-6c78-43e9-8124-168ba16adbc7",
        "ip_version": 4,
        "wrs-net:managed": false,
        "name": "test-subnet-0",
        "network_id": "2c0896cf-d118-4dca-9760-b4d97e3c7ec3",
        "wrs-provider:network_type": "vlan",
        "wrs-provider:physical_network": "group0-data0",
        "wrs-provider:segmentation_id": 615,
        "tenant_id": "206f147dcf72421fa6829e33bfb34637",
        "wrs-net:vlan_id": 99
    }
}

This operation does not accept a request body.

POST
/v2.0/subnets

Creates a subnet on a specified network

This is an existing OpenStack API. The documentation that follows lists only the fields that are new or modified. For a detailed description of existing and unmodified fields please refer to the standard OpenStack API documentation.

Normal response codes

201

Error response codes

badRequest (400), itemNotFound (401), forbidden (403), unauthorized (404), buildInProgress (409)

Request parameters

Parameter Style Type Description
wrs-net:managed (Optional) plain xsd:bool Indicates whether IP address allocation is managed by the system or by the customer. If true then the system allocates IP addresses when ports are created and attached to VM instances. If false then the system will not assign any IP addresses automatically. This implies that if the system cannot allocate any IP addresses that it also cannot allocate a DHCP server, manage allocation pools, or server DNS nameservers or static routers.
wrs-net:vlan_id (Optional) plain xsd:integer The VLAN ID to be used in the VM instance. If the VLAN ID is 0 then all packets originated from the VM instance are expected to be untagged. If the VLAN ID value is non zero than it is expected that all packets originated by the VM must be tagged with the corresponding VLAN ID value. Any other value will be discarded by the host vswitch.
wrs-provider:network_type (Optional) plain xsd:string The type of physical network that maps to this subnet resource. For example, flat, vlan, or vxlan. The value specified must match the equivalent attribute value on the parent network resource. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only available to admin users.</emphasis>
wrs-provider:physical_network (Optional) plain xsd:string The physical network where this subnet object is implemented. The value specified must match the equivalent attribute value on the parent network resource. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only available to admin users.</emphasis>
wrs-provider:segmentation_id (Optional) plain xsd:string An isolated segment on the physical network reserved for this subnet resource. The network_type attribute defines the segmentation model. For example, if the network_type is vlan, this ID is a vlan identifier. If the network_type value is vxlan, this ID is a vxlan VNI value. All subnets on a specific network that share the same wrs-net:vlan_id attribute value must have the same segmentation_id attribute value. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only available to admin users.</emphasis>

Response parameters

Parameter Style Type Description
wrs-net:managed (Optional) plain xsd:bool Indicates whether IP address allocation is managed by the system or by the customer. If true then the system allocates IP addresses when ports are created and attached to VM instances. If false then the system will not assign any IP addresses automatically. This implies that if the system cannot allocate any IP addresses that it also cannot allocate a DHCP server, manage allocation pools, or server DNS nameservers or static routers.
wrs-provider:network_type (Optional) plain xsd:string The type of the provider network to which this subnet is assigned. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
wrs-provider:physical_name (Optional) plain xsd:string The name of the provider network to which this subnet is assigned. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
wrs-provider:segmentation_id (Optional) plain xsd:integer The provider network segmentation id to which this subnet is assigned. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
wrs-net:vlan_id (Optional) plain xsd:integer The VLAN ID to be used in the VM instance. If the VLAN ID is 0 then all packets originated from the VM instance are expected to be untagged. If the VLAN ID value is non zero than it is expected that all packets originated by the VM must be tagged with the corresponding VLAN ID value. Any other value will be discarded by the host vswitch.
{
    "subnet": {
        "cidr": "1.2.3.0/24",
        "enable_dhcp": false,
        "ip_version": 4,
        "wrs-net:managed": false,
        "name": "test-subnet-0",
        "network_id": "2c0896cf-d118-4dca-9760-b4d97e3c7ec3",
        "wrs-provider:network_type": "vlan",
        "wrs-provider:physical_network": "group0-data0",
        "wrs-provider:segmentation_id": "615",
        "wrs-net:vlan_id": 99
    }
}
{
    "subnet": {
        "allocation_pools": [],
        "cidr": "1.2.3.0/24",
        "dns_nameservers": [],
        "enable_dhcp": false,
        "gateway_ip": null,
        "host_routes": [],
        "id": "837aebc9-6c78-43e9-8124-168ba16adbc7",
        "ip_version": 4,
        "wrs-net:managed": false,
        "name": "test-subnet-0",
        "network_id": "2c0896cf-d118-4dca-9760-b4d97e3c7ec3",
        "wrs-provider:network_type": "vlan",
        "wrs-provider:physical_network": "group0-data0",
        "wrs-provider:segmentation_id": 615,
        "tenant_id": "206f147dcf72421fa6829e33bfb34637",
        "wrs-net:vlan_id": 99
    }
}

Port

The Port entity is an existing OpenStack API. It has been extended to add the following StarlingX functionality.

  • The network interface type (vif_model) is recorded when attached to a VM instance.
  • Source MAC address filtering is enabled when created for a tenant which has this feature enabled by the administrator.
  • The MAC address automatically updates to reflect changes to PCI passthrough devices for VM instances.
  • The maximum transmit unit (MTU) attribute is a reflection of the MTU value of the attached tenant network.
GET
/v2.0/ports

Lists ports to which the tenant has access

This is an existing OpenStack API. The documentation that follows lists only the fields that are new or modified. For a detailed description of existing and unmodified fields please refer to the standard OpenStack API documentation.

Normal response codes

200

Error response codes

itemNotFound (401)

Response parameters

Parameter Style Type Description
ports (Optional) plain xsd:list The list of ports.
wrs-binding:mac_filtering (Optional) plain xsd:bool The state of source MAC address filtering on the port. If this is true then the attached vswitch enforces that all ingress packets have a source MAC address that matches the port MAC address.
wrs-binding:mtu (Optional) plain xsd:integer The maximum transmit unit (MTU). This value is inherited from the tenant network that attaches to this port.
wrs-binding:vif_model (Optional) plain xsd:string The type of virtual networking device that is presented to the VM instance. This value is only visible if the device_owner is a VM instance port (i.e., device_owner=”compute:nova”).
{
    "ports": [
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "binding:host_id": "compute-0",
            "wrs-binding:mtu": 1500,
            "binding:vif_type": "bridge",
            "device_id": "ce58c529-ba73-47f7-a409-a438ceced112",
            "device_owner": "network:router_interface",
            "fixed_ips": [
                {
                    "ip_address": "192.168.201.1",
                    "subnet_id": "9aa900f4-522b-4b83-ba93-57f7d92da5d5"
                }
            ],
            "id": "e44d4c03-0add-4b1a-bd36-8f6e7ccd48d9",
            "mac_address": "fa:16:3e:a6:27:3f",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "9472a8ab-9205-43ef-a460-5f01f031791a",
            "security_groups": [],
            "status": "ACTIVE",
            "tenant_id": "d8753af85cef49a4bf5f95208c4957f3"
        },
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "binding:host_id": "compute-0",
            "wrs-binding:mtu": 1500,
            "binding:vif_type": "bridge",
            "device_id": "ea2baef7-d84b-44c4-82e7-f274ab5e8b6f",
            "device_owner": "network:router_gateway",
            "fixed_ips": [
                {
                    "ip_address": "192.168.1.2",
                    "subnet_id": "b282ef86-2584-4a02-9b58-69d6233952a2"
                }
            ],
            "id": "0ebefe26-de93-4d9e-b31a-b4620a6743e8",
            "mac_address": "fa:16:3e:29:11:9b",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "b9475152-11d3-4bda-95c7-fb26a3ad3876",
            "security_groups": [],
            "status": "ACTIVE",
            "tenant_id": ""
        },
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "binding:host_id": "compute-0",
            "wrs-binding:mtu": 1500,
            "binding:vif_type": "bridge",
            "device_id": "ea2baef7-d84b-44c4-82e7-f274ab5e8b6f",
            "device_owner": "network:router_interface",
            "fixed_ips": [
                {
                    "ip_address": "192.168.101.1",
                    "subnet_id": "34efd537-7a72-4fcd-b837-9874caf34117"
                }
            ],
            "id": "cf8c4f0a-f615-4437-a87a-39f2b87b7662",
            "mac_address": "fa:16:3e:fb:4b:89",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "f652780a-7a9d-4667-8df4-5c8632728be9",
            "security_groups": [],
            "status": "ACTIVE",
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
        },
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "binding:host_id": "compute-0",
            "wrs-binding:mtu": 1500,
            "binding:vif_type": "bridge",
            "device_id": "dhcp596d6b96-7696-5200-a782-fa1c60fe4171-f652780a-7a9d-4667-8df4-5c8632728be9",
            "device_owner": "network:dhcp",
            "fixed_ips": [
                {
                    "ip_address": "192.168.101.9",
                    "subnet_id": "34efd537-7a72-4fcd-b837-9874caf34117"
                }
            ],
            "id": "30a92b3d-3353-4c24-9963-d0177b38ad59",
            "mac_address": "fa:16:3e:f5:db:a6",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "f652780a-7a9d-4667-8df4-5c8632728be9",
            "security_groups": [],
            "status": "ACTIVE",
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
        },
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "binding:host_id": "compute-1",
            "wrs-binding:mtu": 1500,
            "wrs-binding:vif_model": "virtio",
            "binding:vif_type": "bridge",
            "device_id": "2e934b37-772e-451a-b64a-cd68d9f8ae42",
            "device_owner": "compute:nova",
            "fixed_ips": [
                {
                    "ip_address": "192.168.101.11",
                    "subnet_id": "34efd537-7a72-4fcd-b837-9874caf34117"
                }
            ],
            "id": "3ec39233-315c-474b-9f08-482e70c264c7",
            "mac_address": "fa:16:3e:23:0c:bc",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "f652780a-7a9d-4667-8df4-5c8632728be9",
            "security_groups": [],
            "status": "ACTIVE",
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
        },
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "wrs-binding:mtu": 1500,
            "binding:vif_type": "bridge",
            "device_id": "2c5c2553-36f2-4db4-8769-6ab71b6e2b1e",
            "device_owner": "network:floatingip",
            "fixed_ips": [
                {
                    "ip_address": "192.168.1.4",
                    "subnet_id": "b282ef86-2584-4a02-9b58-69d6233952a2"
                }
            ],
            "id": "5e5a6728-81af-4b2d-b068-8a8e56847a1e",
            "mac_address": "fa:16:3e:67:22:12",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "b9475152-11d3-4bda-95c7-fb26a3ad3876",
            "security_groups": [],
            "status": "UNKNOWN",
            "tenant_id": ""
        },
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "binding:host_id": "compute-1",
            "wrs-binding:mtu": 1500,
            "binding:vif_type": "bridge",
            "device_id": "2e934b37-772e-451a-b64a-cd68d9f8ae42",
            "device_owner": "compute:nova",
            "fixed_ips": [],
            "id": "8c99a79f-212c-45e5-89e6-8aa9ed3b5fcb",
            "mac_address": "fa:16:3e:46:47:46",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "2c0896cf-d118-4dca-9760-b4d97e3c7ec3",
            "security_groups": [],
            "status": "ACTIVE",
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
        },
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "binding:host_id": "compute-0",
            "wrs-binding:mtu": 1500,
            "binding:vif_type": "bridge",
            "device_id": "ce58c529-ba73-47f7-a409-a438ceced112",
            "device_owner": "network:router_gateway",
            "fixed_ips": [
                {
                    "ip_address": "192.168.1.3",
                    "subnet_id": "b282ef86-2584-4a02-9b58-69d6233952a2"
                }
            ],
            "id": "10ce8655-96de-45f4-952c-a830ddf1f0d9",
            "mac_address": "fa:16:3e:a4:1d:67",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "b9475152-11d3-4bda-95c7-fb26a3ad3876",
            "security_groups": [],
            "status": "ACTIVE",
            "tenant_id": ""
        },
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "wrs-binding:mtu": 1500,
            "binding:vif_type": "bridge",
            "device_id": "f2ade26f-5a16-4fef-b6f7-9bd9769ea1f4",
            "device_owner": "network:floatingip",
            "fixed_ips": [
                {
                    "ip_address": "192.168.1.5",
                    "subnet_id": "b282ef86-2584-4a02-9b58-69d6233952a2"
                }
            ],
            "id": "573e154f-ec13-4e39-afcc-8e79d2089589",
            "mac_address": "fa:16:3e:23:37:59",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "b9475152-11d3-4bda-95c7-fb26a3ad3876",
            "security_groups": [],
            "status": "UNKNOWN",
            "tenant_id": ""
        },
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "binding:host_id": "compute-1",
            "wrs-binding:mtu": 1500,
            "binding:vif_type": "bridge",
            "device_id": "2e934b37-772e-451a-b64a-cd68d9f8ae42",
            "device_owner": "compute:nova",
            "fixed_ips": [],
            "id": "9c9b1182-9f7d-4e21-910c-c4441a23d397",
            "mac_address": "fa:16:3e:75:5f:61",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "7e5ed852-a990-4fc5-89a2-b17093ca1982",
            "security_groups": [],
            "status": "ACTIVE",
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
        },
        {
            "admin_state_up": true,
            "binding:capabilities": {
                "port_filter": true
            },
            "binding:host_id": "compute-0",
            "wrs-binding:mtu": 1500,
            "binding:vif_type": "bridge",
            "device_id": "dhcp596d6b96-7696-5200-a782-fa1c60fe4171-9472a8ab-9205-43ef-a460-5f01f031791a",
            "device_owner": "network:dhcp",
            "fixed_ips": [
                {
                    "ip_address": "192.168.201.6",
                    "subnet_id": "9aa900f4-522b-4b83-ba93-57f7d92da5d5"
                }
            ],
            "id": "62872b6d-3e74-4838-9cf3-99736d0f3919",
            "mac_address": "fa:16:3e:92:0b:14",
            "wrs-binding:mac_filtering": false
            "name": "",
            "network_id": "9472a8ab-9205-43ef-a460-5f01f031791a",
            "security_groups": [],
            "status": "ACTIVE",
            "tenant_id": "d8753af85cef49a4bf5f95208c4957f3"
        }
    ]
}

This operation does not accept a request body.

GET
/v2.0/ports/​{port_id}

Shows information for a specified port

This is an existing OpenStack API. The documentation that follows lists only the fields that are new or modified. For a detailed description of existing and unmodified fields please refer to the standard OpenStack API documentation.

Normal response codes

200

Error response codes

itemNotFound (401), unauthorized (404)

Request parameters

Parameter Style Type Description
port_id URI csapi:UUID The UUID for a port.

Response parameters

Parameter Style Type Description
wrs-binding:mac_filtering (Optional) plain xsd:bool The state of source MAC address filtering on the port. If this is true then the attached vswitch enforces that all ingress packets have a source MAC address that matches the port MAC address.
wrs-binding:mtu (Optional) plain xsd:integer The maximum transmit unit (MTU). This value is inherited from the tenant network that attaches to this port.
wrs-binding:vif_model (Optional) plain xsd:string The type of virtual networking device that is presented to the VM instance. This value is only visible if the device_owner is a VM instance port (i.e., device_owner=”compute:nova”).
{
    "port": {
        "admin_state_up": true,
        "binding:capabilities": {
            "port_filter": true
        },
        "binding:host_id": "compute-1",
        "wrs-binding:mtu": 1500,
        "wrs-binding:vif_model": "virtio",
        "binding:vif_type": "bridge",
        "device_id": "2e934b37-772e-451a-b64a-cd68d9f8ae42",
        "device_owner": "compute:nova",
        "fixed_ips": [
            {
                "ip_address": "192.168.101.11",
                "subnet_id": "34efd537-7a72-4fcd-b837-9874caf34117"
            }
        ],
        "id": "3ec39233-315c-474b-9f08-482e70c264c7",
        "mac_address": "fa:16:3e:23:0c:bc",
        "wrs-binding:mac_filtering": false
        "name": "",
        "network_id": "f652780a-7a9d-4667-8df4-5c8632728be9",
        "security_groups": [],
        "status": "ACTIVE",
        "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
    }
}

This operation does not accept a request body.

Router

The Router entity is an existing OpenStack API. It has been extended to add the following StarlingX functionality.

  • The host attribute has been added to reflect which compute host implements the virtual router.
GET
/v2.0/routers

Lists logical routers that are accessible to the tenant who submits the request

This is an existing OpenStack API. The documentation that follows lists only the fields that are new or modified. For a detailed description of existing and unmodified fields please refer to the standard OpenStack API documentation.

Normal response codes

200

Error response codes

itemNotFound (401)

Response parameters

Parameter Style Type Description
routers (Optional) plain xsd:list The list of virtual routers.
wrs-net:host (Optional) plain xsd:string The host node where this virtual router is implemented. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
{
    "routers": [
        {
            "admin_state_up": true,
            "external_gateway_info": {
                "enable_snat": true,
                "network_id": "b9475152-11d3-4bda-95c7-fb26a3ad3876"
            },
            "wrs-net:host": "compute-0",
            "id": "ea2baef7-d84b-44c4-82e7-f274ab5e8b6f",
            "name": "tenant1-router",
            "routes": [],
            "status": "ACTIVE",
            "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
        },
        {
            "admin_state_up": true,
            "external_gateway_info": {
                "enable_snat": true,
                "network_id": "b9475152-11d3-4bda-95c7-fb26a3ad3876"
            },
            "wrs-net:host": "compute-0",
            "id": "ce58c529-ba73-47f7-a409-a438ceced112",
            "name": "tenant2-router",
            "routes": [],
            "status": "ACTIVE",
            "tenant_id": "d8753af85cef49a4bf5f95208c4957f3"
        }
    ]
}

This operation does not accept a request body.

GET
/v2.0/routers/​{router_id}

Shows details for a specified router

This is an existing OpenStack API. The documentation that follows lists only the fields that are new or modified. For a detailed description of existing and unmodified fields please refer to the standard OpenStack API documentation.

Normal response codes

200

Error response codes

itemNotFound (401), forbidden (403), unauthorized (404)

Request parameters

Parameter Style Type Description
router_id URI csapi:UUID The UUID for a router.

Response parameters

Parameter Style Type Description
wrs-net:host (Optional) plain xsd:string The host node where this virtual router is implemented. <emphasis xmlns=”http://docbook.org/ns/docbook” role=”bold”>Only visible to admin users.</emphasis>
{
    "router": {
        "admin_state_up": true,
        "external_gateway_info": {
            "enable_snat": true,
            "network_id": "b9475152-11d3-4bda-95c7-fb26a3ad3876"
        },
        "wrs-net:host": "compute-0",
        "id": "ea2baef7-d84b-44c4-82e7-f274ab5e8b6f",
        "name": "tenant1-router",
        "routes": [],
        "status": "ACTIVE",
        "tenant_id": "0590d9fa3dd74bfe9bdf7ed4e5331a10"
    }
}

This operation does not accept a request body.

Port Forwarding

The portfowarding entity is an upstream subproject that is not yet part of the existing OpenStack API. It provides virtual router port forwarding functionality. It has been included to add the functionality to the StarlingX.

GET
/v2.0/portforwardings

Lists all virtual router port forwarding rules

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Response parameters

Parameter Style Type Description
portforwardings (Optional) plain xsd:list The list of virtual router port forwarding rules.
router_id (Optional) plain csapi:UUID The unique UUID of the router to which the rule is associated.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant which owns the rule.
inside_addr (Optional) plain xsd:string The internal (private) address which is the final destination of the forwarding rule.
inside_port (Optional) plain xsd:integer The internal (private) layer4 protocol port number.
outside_port (Optional) plain xsd:integer The external (public) address which is the initial destination of the forwarding rule.
protocol (Optional) plain xsd:string The layer4 protocol name; valid values are: udp, tcp, udp-lite, sctp, dccp.
description (Optional) plain xsd:string A user defined description string.
{
    "portforwardings": [{
        "router_id": "3303b254-404c-47eb-b02c-81bf0d602682",
        "inside_addr": "192.168.101.63",
        "protocol": "tcp",
        "outside_port": 1234,
        "tenant_id": "6d8ff9303a45465492566fb936fe3b1d",
        "description": "sample port forwarding rule",
        "id": "66ebb891-f883-4fbd-9daf-15b367429d39",
        "inside_port": 80
    },
    {
        "router_id": "3303b254-404c-47eb-b02c-81bf0d602682",
        "inside_addr": "192.168.101.62",
        "protocol": "tcp",
        "outside_port": 1235,
        "tenant_id": "6d8ff9303a45465492566fb936fe3b1d",
        "description": "another sample port forwarding rule",
        "id": "f8e22185-07f2-43e7-9213-abf84ef0eb58",
        "inside_port": 80
    }]
}

This operation does not accept a request body.

POST
/v2.0/portforwardings

Creates a record for a virtual router port forwarding rule

Normal response codes

200

Error response codes

badMediaType (415), NetworkNotFound (400)

Request parameters

Parameter Style Type Description
router_id (Optional) plain xsd:string The virtual router on which to create the port forwarding rule
inside_addr (Optional) plain xsd:string The internal (private) address which is the final destination of the forwarding rule.
inside_port (Optional) plain xsd:integer The internal (private) layer4 protocol port number.
outside_port (Optional) plain xsd:integer The external (public) address which is the initial destination of the forwarding rule.
protocol (Optional) plain xsd:string The layer4 protocol name; valid values are: udp, tcp, udp-lite, sctp, dccp.
description (Optional) plain xsd:string A user defined description string.

Response parameters

Parameter Style Type Description
router_id (Optional) plain csapi:UUID The unique UUID of the router to which the rule is associated.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant which owns the rule.
inside_addr (Optional) plain xsd:string The internal (private) address which is the final destination of the forwarding rule.
inside_port (Optional) plain xsd:integer The internal (private) layer4 protocol port number.
outside_port (Optional) plain xsd:integer The external (public) address which is the initial destination of the forwarding rule.
protocol (Optional) plain xsd:string The layer4 protocol name; valid values are: udp, tcp, udp-lite, sctp, dccp.
description (Optional) plain xsd:string A user defined description string.
{
    "portforwarding": {
        "router_id": "3303b254-404c-47eb-b02c-81bf0d602682",
        "inside_addr": "192.168.101.63",
        "protocol": "tcp",
        "outside_port": "1234",
        "inside_port": "80",
        "description": "sample port forwarding rule"
    }
}
{
    "portforwarding": {
        "router_id": "3303b254-404c-47eb-b02c-81bf0d602682",
        "inside_addr": "192.168.101.63",
        "protocol": "tcp",
        "outside_port": "1234",
        "tenant_id": "6d8ff9303a45465492566fb936fe3b1d",
        "description": "sample port forwarding rule",
        "id": "66ebb891-f883-4fbd-9daf-15b367429d39",
        "inside_port": "80"
    }
}
GET
/v2.0/portforwardings/​{portforwarding_id}

Shows detailed information about a specific virtual router port forwarding rule

Normal response codes

200

Error response codes

computeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405), overLimit (413), itemNotFound (404)

Request parameters

Parameter Style Type Description
portforwarding_id URI csapi:UUID The ID for a virtual router port forwarding rule.

Response parameters

Parameter Style Type Description
router_id (Optional) plain csapi:UUID The unique UUID of the router to which the rule is associated.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant which owns the rule.
inside_addr (Optional) plain xsd:string The internal (private) address which is the final destination of the forwarding rule.
inside_port (Optional) plain xsd:integer The internal (private) layer4 protocol port number.
outside_port (Optional) plain xsd:integer The external (public) address which is the initial destination of the forwarding rule.
protocol (Optional) plain xsd:string The layer4 protocol name; valid values are: udp, tcp, udp-lite, sctp, dccp.
description (Optional) plain xsd:string A user defined description string.
{
    "portforwarding": {
        "router_id": "3303b254-404c-47eb-b02c-81bf0d602682",
        "inside_addr": "192.168.101.63",
        "protocol": "tcp",
        "outside_port": 1234,
        "tenant_id": "6d8ff9303a45465492566fb936fe3b1d",
        "description": "sample port forwarding rule",
        "id": "66ebb891-f883-4fbd-9daf-15b367429d39",
        "inside_port": 80
    }
}

This operation does not accept a request body.

PUT
/v2.0/portforwardings/​{portforwarding_id}

Updates a virtual router port forwarding rule

Normal response codes

200

Error response codes

badMediaType (415), NetworkNotFound (400)

Request parameters

Parameter Style Type Description
portforwarding_id URI csapi:UUID The ID for a virtual router port forwarding rule.
inside_addr (Optional) plain xsd:string The internal (private) address which is the final destination of the forwarding rule.
inside_port (Optional) plain xsd:integer The internal (private) layer4 protocol port number.
outside_port (Optional) plain xsd:integer The external (public) address which is the initial destination of the forwarding rule.
protocol (Optional) plain xsd:string The layer4 protocol name; valid values are: udp, tcp, udp-lite, sctp, dccp.
description (Optional) plain xsd:string A user defined description string.

Response parameters

Parameter Style Type Description
router_id (Optional) plain csapi:UUID The unique UUID of the router to which the rule is associated.
tenant_id (Optional) plain csapi:UUID The unique UUID of the tenant which owns the rule.
inside_addr (Optional) plain xsd:string The internal (private) address which is the final destination of the forwarding rule.
inside_port (Optional) plain xsd:integer The internal (private) layer4 protocol port number.
outside_port (Optional) plain xsd:integer The external (public) address which is the initial destination of the forwarding rule.
protocol (Optional) plain xsd:string The layer4 protocol name; valid values are: udp, tcp, udp-lite, sctp, dccp.
description (Optional) plain xsd:string A user defined description string.
{
    "portforwarding": {
        "description": "updated sample port forwarding rule"
    }
}
{
    "portforwarding": {
        "router_id": "3303b254-404c-47eb-b02c-81bf0d602682",
        "inside_addr": "192.168.101.63",
        "protocol": "tcp",
        "outside_port": 1234,
        "tenant_id": "6d8ff9303a45465492566fb936fe3b1d",
        "description": "updated sample port forwarding rule",
        "id": "66ebb891-f883-4fbd-9daf-15b367429d39",
        "inside_port": 80
    }
}
DELETE
/v2.0/portforwardings/​{portforwarding_id}

Deletes a specific virtual router port forwarding rule

Normal response codes

204

Request parameters

Parameter Style Type Description
portforwarding_id URI csapi:UUID The ID for a virtual router port forwarding rule.

This operation does not accept a request body.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

stx-docs