STX-HA Services API v1

Manage HA Services running on the StarlingX OpenStack Controller cluster. This includes services, service nodes and service groups.

The typical port used for the STX-HA Services REST API is 7777. However, proper technique would be to look up the smapi service endpoint in Keystone.

API versions

GET
/

Lists information about all STX-HA Services API versions

Normal response codes

200, 300

Error response codes

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

{
   "default_version":{
      "id":"v1",
      "links":[
         {
            "href":"http://128.224.150.54:7777/v1/",
            "rel":"self"
         }
      ]
   },
   "versions":[
      {
         "id":"v1",
         "links":[
            {
               "href":"http://128.224.150.54:7777/v1/",
               "rel":"self"
            }
         ]
      }
   ],
   "description":"STX-HA Services API allows for the management of HA Services running on the Controller Cluster.  This includes inventory collection and configuration of hosts, ports, interfaces, CPUs, disk, memory, and system configuration.  The API also supports the configuration of the cloud's SNMP interface. ",
   "name":"STX-HA Services API"
}

This operation does not accept a request body.

GET
/v1

Shows details for STX-HA Services API v1

Normal response codes

200, 203

Error response codes

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

{
    "links": [
        {
            "href": "http://128.224.151.170:7777/v1/",
            "rel": "self"
        }
    ],
    "id": "v1",
    "servicenode": [
        {
            "href": "http://128.224.151.170:7777/v1/servicenode/",
            "rel": "self"
        },
        {
            "href": "http://128.224.151.170:7777/servicenode/",
            "rel": "bookmark"
        }
    ],
    "services": [
        {
            "href": "http://128.224.151.170:7777/v1/services/",
            "rel": "self"
        },
        {
            "href": "http://128.224.151.170:7777/services/",
            "rel": "bookmark"
        }
    ],
    "sm_sda": [
        {
            "href": "http://128.224.151.170:7777/v1/sm_sda/",
            "rel": "self"
        },
        {
            "href": "http://128.224.151.170:7777/sm_sda/",
            "rel": "bookmark"
        }
    ],
    "nodes": [
        {
            "href": "http://128.224.151.170:7777/v1/nodes/",
            "rel": "self"
        },
        {
            "href": "http://128.224.151.170:7777/nodes/",
            "rel": "bookmark"
        }
    ],
    "service_groups": [
        {
            "href": "http://128.224.151.170:7777/v1/service_groups/",
            "rel": "self"
        },
        {
            "href": "http://128.224.151.170:7777/service_groups/",
            "rel": "bookmark"
        }
    ]
}

This operation does not accept a request body.

Services

These APIs allow the display of the services running and their attributes

GET
/v1/services

List all services running - STX-HA Services 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

services (Optional)

plain

xsd:list

The list of services.

state (Optional)

plain

xsd:string

The operational state of the service.

id (Optional)

plain

xsd:integer

The id of the service.

desired_state (Optional)

plain

xsd:string

The desired state of the service

name (Optional)

plain

xsd:string

The name of the service.

node_name (Optional)

plain

xsd:string

The name of the host which the service is running on.

{
   "services":[
      {
         "status":"",
         "state":"enabled-active",
         "id":3,
         "desired_state":"enabled-active",
         "name":"drbd-pg"
      },
      {
         "status":"",
         "state":"enabled-active",
         "id":4,
         "desired_state":"enabled-active",
         "name":"drbd-rabbit"
      },
      {
         "status":"",
         "state":"enabled-active",
         "id":2,
         "desired_state":"enabled-active",
         "name":"management-ip"
      },
      {
         "status":"",
         "state":"enabled-active",
         "id":1,
         "desired_state":"enabled-active",
         "name":"oam-ip"
      }
   ]
}

This operation does not accept a request body.

GET
/v1/services/​{service_id}

Shows the attributes of a specific service - STX-HA Services 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

service_id

URI

csapi:UUID

The unique identifier of an existing service.

Response parameters

Parameter

Style

Type

Description

state (Optional)

plain

xsd:string

The operational state of the service.

id (Optional)

plain

xsd:integer

The id of the service.

desired_state (Optional)

plain

xsd:string

The desired state of the service

name (Optional)

plain

xsd:string

The name of the service.

node_name (Optional)

plain

xsd:string

The name of the host which the service is running on.

{
   "status":"",
   "state":"enabled-active",
   "id":1,
   "desired_state":"enabled-active",
   "name":"oam-ip"
}

This operation does not accept a request body.

PATCH
/v1/services/​{service_name}

Modifies the configuration of a service

Normal response codes

200

Error response codes

badMediaType (415)

Request parameters

Parameter

Style

Type

Description

service_name

URI

xsd:string

The name of an existing service.

enabled (Optional)

plain

xsd:boolean

Service enabled.

Response parameters

Parameter

Style

Type

Description

enabled (Optional)

plain

xsd:boolean

Service enabled.

name (Optional)

plain

xsd:string

Service name.

[
   {
      "path":"/enabled",
      "value":true,
      "op":"replace"
   }
]
{
   "created_at":"2017-03-08T15:45:08.984813+00:00",
   "enabled":true,
   "name":"murano",
   "updated_at":null
}

Service Nodes

These APIs allow the display of the service nodes and their attributes

GET
/v1/servicenodes

List all service nodes in the system

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

nodes (Optional)

plain

xsd:list

The list of service nodes.

administrative_state (Optional)

plain

xsd:string

Administrative state of the node.

ready_state (Optional)

plain

xsd:string

The operational state of the node.

name (Optional)

plain

xsd:string

The name of the node.

operational_state (Optional)

plain

xsd:string

The operational state of the node

availability_status (Optional)

plain

xsd:string

The availability status of the node.

id (Optional)

plain

xsd:integer

The id of the node.

{
   "nodes":[
      {
         "administrative_state":"unlocked",
         "ready_state":"disabled",
         "name":"controller-0",
         "operational_state":"disabled",
         "availability_status":"unknown",
         "id":2
      },
      {
         "administrative_state":"unlocked",
         "ready_state":"enabled",
         "name":"controller-1",
         "operational_state":"enabled",
         "availability_status":"available",
         "id":1
      }
   ]
}

This operation does not accept a request body.

GET
/v1/servicenodes/​{node_id}

Shows the attributes of a specific service node

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

node_id

URI

csapi:UUID

The unique identifier of an existing service node.

Response parameters

Parameter

Style

Type

Description

administrative_state (Optional)

plain

xsd:string

Administrative state of the node.

ready_state (Optional)

plain

xsd:string

The operational state of the node.

name (Optional)

plain

xsd:string

The name of the node.

operational_state (Optional)

plain

xsd:string

The operational state of the node

availability_status (Optional)

plain

xsd:string

The availability status of the node.

id (Optional)

plain

xsd:integer

The id of the node.

{
   "administrative_state":"unlocked",
   "ready_state":"enabled",
   "name":"controller-1",
   "operational_state":"enabled",
   "availability_status":"available",
   "id":1
}

This operation does not accept a request body.

Service Groups

These APIs allow the display of the service groups and their attributes

GET
/v1/servicegroup

List all service groups in the system - STX-HA Services 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

service_groups (Optional)

plain

xsd:list

The list of service groups.

name (Optional)

plain

xsd:string

The type of host that the service is running on.

service_group_name (Optional)

plain

xsd:string

The name of the service group.

node_name (Optional)

plain

xsd:string

The name of the node that the service is running on.

state (Optional)

plain

xsd:string

The state of the service.

uuid (Optional)

plain

csapi:UUID

The uuid of the service group.

{
   "sm_servicegroup":[
      {
         "status":"",
         "name":"controller",
         "service_group_name":"web-services",
         "node_name":"controller-1",
         "state":"active",
         "desired_state":"active",
         "id":1,
         "condition":"",
         "uuid":"e3aa5e50-030b-4ab6-a339-929f0be50e5d"
      },
      {
         "status":"",
         "name":"controller",
         "service_group_name":"directory-services",
         "node_name":"controller-1",
         "state":"active",
         "desired_state":"active",
         "id":2,
         "condition":"",
         "uuid":"f7b01783-ea3d-44b8-8dd3-9a0c4a1cae9d"
      },
      {
         "status":"",
         "name":"controller",
         "service_group_name":"patching-services",
         "node_name":"controller-1",
         "state":"active",
         "desired_state":"active",
         "id":3,
         "condition":"",
         "uuid":"f64bc693-62fa-4f31-b96e-9851c42669ec"
      },
      {
         "status":"",
         "name":"controller",
         "service_group_name":"vim-services",
         "node_name":"controller-1",
         "state":"active",
         "desired_state":"active",
         "id":4,
         "condition":"",
         "uuid":"e7dab99d-7bdc-4756-b8b3-b069e7b26e0d"
      },
      {
         "status":"",
         "name":"controller",
         "service_group_name":"cloud-services",
         "node_name":"controller-1",
         "state":"active",
         "desired_state":"active",
         "id":5,
         "condition":"",
         "uuid":"149e9f4e-13ba-4d91-9e0e-09905073fda6"
      },
      {
         "status":"",
         "name":"controller",
         "service_group_name":"controller-services",
         "node_name":"controller-1",
         "state":"active",
         "desired_state":"active",
         "id":6,
         "condition":"",
         "uuid":"54d46994-9c0e-43bd-8d83-be7396f04f70"
      },
      {
         "status":"",
         "name":"controller",
         "service_group_name":"oam-services",
         "node_name":"controller-1",
         "state":"active",
         "desired_state":"active",
         "id":7,
         "condition":"",
         "uuid":"f7b532bf-0dc0-41bd-b38a-75b7747da754"
      }
   ]
}

This operation does not accept a request body.

GET
/v1/servicegroup/​{servicegroup_id}

Shows the attributes of a specific service group - STX-HA Services 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

servicegroup_id

URI

csapi:UUID

The unique identifier of an existing service group.

Response parameters

Parameter

Style

Type

Description

name (Optional)

plain

xsd:string

The type of host that the service is running on.

service_group_name (Optional)

plain

xsd:string

The name of the service group.

node_name (Optional)

plain

xsd:string

The name of the node that the service is running on.

state (Optional)

plain

xsd:string

The state of the service.

uuid (Optional)

plain

csapi:UUID

The uuid of the service group.

{
   "status":"",
   "name":"controller",
   "service_group_name":"oam-services",
   "node_name":"controller-1",
   "state":"active",
   "desired_state":"active",
   "id":7,
   "condition":"",
   "uuid":"f7b532bf-0dc0-41bd-b38a-75b7747da754"
}

This operation does not accept a request body.