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.