Supported OpenStack Networks (Neutron) APIs

The following OpenStack network APIs are supported by PowerVC.

For information about using these APIs, refer to the OpenStack networking documentation. For more information about using

When you create a subnet by using a POST operation, you must specify the cidr attribute. The attribute specifies the Classless Inter-Domain Routing (CIDR) address. The API accepts only the root CIDR, or addresses that end with .0. For example, the following CIDR descriptions are technically interchangeable:
  • 10.1.0.0/16
  • 10.1.5.5/16
The API accepts only the first entry. The API does not accept the second entry as it is not a root CIDR.
Note: PowerVC supports only a single subnet. If no subnet is specified, it is assumed that the network utilizes an externally managed DHCP server.

For detailed information about these APIs, see the OpenStack Networking (Neutron) API specification.

The following categories of OpenStack network APIs are supported:

Networks

Table 1. OpenStack network APIs that can be used with PowerVC
Method URI Description
POST /v2.0/networks

Creates a Neutron network.

GET /v2.0/networks

Lists a summary of all networks that are defined in Neutron and are accessible to the requester.

GET /v2.0/networks/{network_id}

Lists detailed information for the specified network. This operation returns the complete list of attributes for the network whose identifier is specified in the request URI.

PUT /v2.0/networks/{network_id}

Updates the specified network.

DELETE /v2.0/networks/{network_id}

Deletes the specified network and all associated resources.

Subnets

Table 2. OpenStack subnet APIs that can be used with PowerVC
Method URI Description
POST /v2.0/subnets

Converts a DHCP network into a static network by creating a subnet on the specified network.

You must provide a value for cidr in format network_address/prefix, and set enable_dhcp to False.

GET /v2.0/subnets

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

GET /v2.0/subnets/{subnet_id}

Gets information about a specified subnet.

PUT /v2.0/subnets/{subnet_id}

Updates the specified subnet.

DELETE /v2.0/subnets/{subnet_id}

Removes the specified subnet. This converts a static network into a DHCP network.

If the subnet's IP address is being used, remove the IP address before removing the subnet.

Note: Administrator authority is required to run this API. If a user with Deployer or Viewer role runs this, it fails with return code 404 Not Found.

Ports

Table 3. OpenStack port APIs that can be used with PowerVC
Method URI Description
POST /v2.0/​{tenant_id}​/ports

Creates a port on a specified network.

PowerVC lets you lock Neutron ports. Locked ports cannot be used for adding a virtual network interface or for virtual machine deployment.

To lock a Neutron port, within the port set device_id to Lock and set device:owner to PowerVC:reason.

You can modify the port owner. The recommended format is owner:reason. The total field length cannot exceed 100 characters and must be alphanumeric, spaces, underscores (_), dashes (-) or colons (:).

Note: If you are planning to create a port to attach to a virtual machine, it is recommended that you use the compute APIs instead. You can use the compute APIs to create the virtual machine and ports at the same time.
GET /v2.0/​{tenant_id}​/ports

Lists ports to which the tenant has access.

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

Shows information for a specified port.

PUT /v2.0/​{tenant_id}​/ports/​{port_id}
Updates a Neutron port. This can be used to lock a port. For instructions, see the POST section. This can also be used to update the IP address that PowerVC has recorded for the port. If an empty IP address is specified, then the existing IP address is removed from the PowerVC records. The virtual machine must be manually updated.
Note: Deployer or Administrator authority is required to run this API. If a user with the Viewer role runs this, it fails with return code 404 Not Found.
DELETE /v2.0/​{tenant_id}​/ports/​{port_id}

Deletes a specified port. The port is unlocked and its IP address is returned to the pool.