Openstack Service (2.5.5)

Download OpenAPI specification:Download

This is the spec that defines the API provided by the application to provide APIs that act as proxy for openstack neutron APIS

Authentication

efaAuthKey

Security Scheme Type API Key
Header parameter name: Authorization

openstackUser

This parameter is mandatory for client implementation where efa login is not possible. In this case, the client has to pass user name. Example - openstack plugin

Security Scheme Type API Key
Header parameter name: X-OpenStack-User

Network

getNetwork

Get one or All Networks

Authorizations:
query Parameters
net_id
string

Network-id of the Neutron Network to retrieve

tenant_name
string

tenant to which this network belongs

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

createNetwork

Authorizations:
Request Body schema: application/json

Create Network

name
required
string
net_id
string
description
string
Array of objects (Segment) unique
tenant_name
string

Unique Name of the tenant

admin_state_up
boolean
mtu
integer
enable_bd
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "name": "GREEN_NETWORK",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "description": "Bengaluru DC IP Network",
  • "tenant_name": "Customer-A",
  • "segments": [
    ],
  • "admin_state_up": true,
  • "mtu": 1400
}

Response samples

Content type
application/json
{
  • "name": "GREEN_NETWORK",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "efa_net_id": 1,
  • "description": "Green Network",
  • "segments": [
    ],
  • "tenant_name": "Customer-A",
  • "admin_state_up": true,
  • "mtu": 1400,
  • "enable_bd": true,
  • "error": [
    ]
}

deleteNetwork

Delete Network

Authorizations:
query Parameters
net_id
string

Network ID to be deleted

Responses

Response samples

Content type
application/json
{
  • "net_id": "123e4567-e89b-12d3-a456-42665544001",
  • "error": [
    ]
}

Subnet

getSubnet

Get All Subnets

Authorizations:
query Parameters
subnet_id
string

ID of the Subnet to retrieve

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

createSubnet

Authorizations:
Request Body schema: application/json

Create Subnet

name
required
string
description
string

Description of the Subnet

net_id
required
string
subnet_id
string
segment_id
string
ip_version
integer <uint8>
cidr
string
gateway_ip
string
ipv6_address_mode
string

The IPv6 address modes specifies mechanisms for assigning IP addresses

ipv6_ra_mode
string

The IPv6 router advertisement specifies whether the networking service should transmit ICMPv6 packets, for a subnet.

Responses

Request samples

Content type
application/json
{
  • "name": "MY_SUBNET",
  • "description": "MY_GREEN_SUBNET",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "subnet_id": "b0e7435c-1512-45fb-aa9e-9a7c5932fb30",
  • "segment_id": "1",
  • "ip_version": 4,
  • "cidr": "10.56.4.0/22",
  • "gateway_ip": "10.56.4.1",
  • "ipv6_address_mode": "slaac",
  • "ipv6_ra_mode": "slaac"
}

Response samples

Content type
application/json
{
  • "name": "MY_SUBNET",
  • "description": "MY_GREEN_SUBNET",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "subnet_id": "b0e7435c-1512-45fb-aa9e-9a7c5932fb30",
  • "segment_id": "1",
  • "efa_subnet_id": 1,
  • "ip_version": 4,
  • "cidr": "10.56.4.0/22",
  • "gateway_ip": "10.56.4.1",
  • "ipv6_address_mode": "slaac",
  • "ipv6_ra_mode": "slaac",
  • "error": [
    ]
}

deleteSubnet

Delete Subnet by subnet UUID

Authorizations:
query Parameters
subnet_id
string

subnet UUID

Responses

Response samples

Content type
application/json
{
  • "name": "MY_SUBNET",
  • "description": "MY_GREEN_SUBNET",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "subnet_id": "b0e7435c-1512-45fb-aa9e-9a7c5932fb30",
  • "segment_id": "1",
  • "efa_subnet_id": 1,
  • "ip_version": 4,
  • "cidr": "10.56.4.0/22",
  • "gateway_ip": "10.56.4.1",
  • "ipv6_address_mode": "slaac",
  • "ipv6_ra_mode": "slaac",
  • "error": [
    ]
}

Subnet Setting

updateSubnetSetting

Authorizations:
Request Body schema: application/json

Update Subnet Settings

name
required
string
subnet_id
string
net_id
required
string
gateway_ip
required
string
ipv6_address_mode
string

The IPv6 address modes specifies mechanisms for assigning IP addresses

ipv6_ra_mode
string

The IPv6 router advertisement specifies whether the networking service should transmit ICMPv6 packets, for a subnet.

Responses

Request samples

Content type
application/json
{
  • "name": "MY_SUBNET",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "gateway_ip": "10.56.4.1"
}

Response samples

Content type
application/json
{
  • "name": "MY_SUBNET",
  • "description": "MY_GREEN_SUBNET",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "subnet_id": "b0e7435c-1512-45fb-aa9e-9a7c5932fb30",
  • "segment_id": "1",
  • "efa_subnet_id": 1,
  • "ip_version": 4,
  • "cidr": "10.56.4.0/22",
  • "gateway_ip": "10.56.4.1",
  • "ipv6_address_mode": "slaac",
  • "ipv6_ra_mode": "slaac",
  • "error": [
    ]
}

Port Channel

getPortchannel

Get specified or all Port-channel details.

Authorizations:
query Parameters
name
string

Unique name of the Port-channel to be fetched.

tenant_name
required
string

tenant to which this port channel belongs.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Tenant

getTenant

This api will fetch the configured details like l2VNI, l3VNI and its assets.

Authorizations:
query Parameters
name
string

Name of the tenant to retrieve

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

cleanupTenant

This API will cleanup all openstack assets associated to a tenant

Authorizations:
query Parameters
name
string

Name of the tenant to cleanup

Responses

Response samples

Content type
application/json
{
  • "errormodel": [
    ]
}

Ports

createPorts

Authorizations:
Request Body schema: application/json

Create a number of new Ports

required
Array of objects (Port) unique

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

deletePorts

Delete Ports by name or all ports

Authorizations:
Request Body schema: application/json

Port IDs to be deleted

Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Port

getPort

Get specified or all Ports

Authorizations:
query Parameters
port_id
string

Neutron port-id of the Port to retrieve

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

createPort

Authorizations:
Request Body schema: application/json

Create a new Port

name
required
string
port_id
required
string
net_id
string
dns_domain
string
dns_name
string
device_owner
string
Array of objects (SwitchInformation) unique

Responses

Request samples

Content type
application/json
{
  • "name": "Private-Port",
  • "port_id": "Ethernet 0/1",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "dns_domain": "my-domain.org",
  • "dns_name": "myport",
  • "device_owner": "baremetal:none",
  • "switch_information": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "Private-Port",
  • "port_id": "Ethernet 0/1",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "dns_domain": "my-domain.org",
  • "dns_name": "myport",
  • "device_owner": "baremetal:none",
  • "switch_information": [
    ],
  • "error": [
    ]
}

deletePort

Delete Ports by neutron port id

Authorizations:
query Parameters
port_id
required
string

Port ID to be deleted

Responses

Response samples

Content type
application/json
{
  • "name": "Private-Port",
  • "port_id": "Ethernet 0/1",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "dns_domain": "my-domain.org",
  • "dns_name": "myport",
  • "device_owner": "baremetal:none",
  • "switch_information": [
    ],
  • "error": [
    ]
}

Port Setting

updatePortSetting

Authorizations:
Request Body schema: application/json

Update Port Setting.

name
required
string
device_owner
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "Private-port",
  • "device_owner": "baremetal:none"
}

Response samples

Content type
application/json
{
  • "name": "Private-Port",
  • "port_id": "Ethernet 0/1",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "dns_domain": "my-domain.org",
  • "dns_name": "myport",
  • "device_owner": "baremetal:none",
  • "switch_information": [
    ],
  • "error": [
    ]
}

Router

getRouter

Get specified or all Routers

Authorizations:
query Parameters
router_id
string

router-id of the Router

routing_type
string
Default: "centralized"

Distributed or centralized Router

tenant_name
string

tenant to which this router belongs

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

createRouter

Authorizations:
Request Body schema: application/json

Create Router with a specified Neutron UUID

name
required
string
router_id
required
string
routing_type
string
tenant_name
string

Unique Name of the tenant

Responses

Request samples

Content type
application/json
{
  • "name": "ROUTER-1",
  • "router_id": "f8a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "routing_type": "distributed",
  • "tenant_name": "Customer-A"
}

Response samples

Content type
application/json
{
  • "name": "ROUTER-1",
  • "router_id": "f8a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "efa_router_id": 1,
  • "routing_type": "distributed",
  • "subnet_id": "123e4567-e89b-12d3-a456-426655440012",
  • "tenant_name": "Customer-A",
  • "error": [
    ]
}

deleteRouter

Delete specified router on router-id

Authorizations:
query Parameters
router_id
string

The ID of the router to be deleted

Responses

Response samples

Content type
application/json
{
  • "name": "ROUTER-1",
  • "router_id": "f8a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "efa_router_id": 1,
  • "routing_type": "distributed",
  • "subnet_id": "123e4567-e89b-12d3-a456-426655440012",
  • "tenant_name": "Customer-A",
  • "error": [
    ]
}

Router Interface

getRouterInterfaces

Get all Router Interfaces

Authorizations:
query Parameters
router_id
string

router-id of the Router

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

addInterfaceToRouter

Authorizations:
Request Body schema: application/json

Add a Router Interface to a Router

router_id
required
string
subnet_id
string

Responses

Request samples

Content type
application/json
{
  • "router_id": "f8a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "subnet_id": "45a44de0-fc8e-45df-93c7-f79bf3b01c95"
}

Response samples

Content type
application/json
{
  • "router_id": "f8a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "efa_router_interface_id": 1,
  • "subnet_id": "45a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "error": [
    ]
}

deleteInterfaceFromRouter

Authorizations:
Request Body schema: application/json

Delete Router Interface from Router

router_id
required
string
subnet_id
string

Responses

Request samples

Content type
application/json
{
  • "router_id": "f8a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "subnet_id": "45a44de0-fc8e-45df-93c7-f79bf3b01c95"
}

Response samples

Content type
application/json
{
  • "router_id": "f8a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "efa_router_interface_id": 1,
  • "subnet_id": "45a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "error": [
    ]
}

Router Routes

getRouterRoutes

Get all Router Routes

Authorizations:
query Parameters
router_id
string

router-id of the Router

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

addRoutesToRouter

Authorizations:
Request Body schema: application/json

Add Routes to a Router

required
Array of objects (RouterRoute) unique

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

deleteRoutesFromRouter

Authorizations:
Request Body schema: application/json

Delete Routes from Router

required
Array of objects (RouterRoute) unique

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Debug Delete Oss Asset

debugDeleteOssAsset

This API will delete openstack asset

Authorizations:
Request Body schema: application/json

Ids of the Oss sset to delete

operation
string
Enum: "network-delete" "network-interface-delete" "router-delete" "router-interface-delete" "router-route-delete"
net_id
string
port_id
string
router_id
string
subnet_id
string
destination
string
nexthop
string

Responses

Request samples

Content type
application/json
{
  • "operation": "network-delete",
  • "net_id": "123e4567-e89b-12d3-a456-426655440012",
  • "port_id": "123e4567-e89b-12d3-a456-426655440010",
  • "router_id": "f8a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "subnet_id": "45a44de0-fc8e-45df-93c7-f79bf3b01c95",
  • "destination": "10.2.1.0/24",
  • "nexthop": "10.23.1.1"
}

Response samples

Content type
application/json
{
  • "items": {
    },
  • "error": [
    ]
}

Trouble Shooting

Get execution details

Get the detailed output of the given execution ID

Authorizations:
query Parameters
id
required
string

Execution ID

Responses

Response samples

Content type
application/json
{
  • "start_time": "2000-01-23T04:56:07.000Z",
  • "end_time": "2000-01-23T04:56:07.000Z",
  • "id": "id",
  • "parameters": "",
  • "logs": "logs",
  • "command": "network create",
  • "status": "Failed, Succeeded"
}

Get Execution List

Get the list of all the previous executions

Authorizations:
query Parameters
limit
required
integer
Default: 10

Limit the number of executions that will be sent in the response. Default is 10

status
string
Default: "all"

Filter the executions based on the status(failed/succeeded/all)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

deleteExecutions

This API will delete the execution entries older than specific number of days

Authorizations:
query Parameters
days_older_by
required
integer
Default: 30

Deletes execution entries older than specified number of days

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "message"
}

Neutron EFA Sync Lock

Take an EFA lock from neutron

Authorizations:
Request Body schema: application/json

Takes EFA Lock From Neutron

region
required
string
requester
required
string
request_id
string

Responses

Request samples

Content type
application/json
{
  • "region": "RegionOne",
  • "requester": "controller-1",
  • "request_id": "123e4567-e89b-12d3-a456-426614174000"
}

Response samples

Content type
application/json
{
  • "result": 0
}

Neutron EFA Sync UnLock

Release EFA lock from neutron

Authorizations:
Request Body schema: application/json

Releases EFA Lock From Neutron

region
required
string
requester
required
string
request_id
string

Responses

Request samples

Content type
application/json
{
  • "region": "RegionOne",
  • "requester": "controller-1",
  • "request_id": "123e4567-e89b-12d3-a456-426614174000"
}

Response samples

Content type
application/json
{
  • "result": 0
}

Tenant EFA Sync

Sync Tables From Openstack and Tenant

Authorizations:
query Parameters
tenant
required
string

tenant name of the openstack instance

Responses

Response samples

Content type
application/json
{
  • "result": 0
}

EFAStatus

Get Advanced EFA Health Details

Authorizations:
query Parameters
tenant
required
string

tenant name of the openstack instance

Responses

Response samples

Content type
application/json
{
  • "efa": "UP",
  • "master": "node1",
  • "slave": "node2",
  • "database": "DOWN",
  • "failure_reason": [
    ],
  • "pod_status": [
    ],
  • "error": [
    ]
}