Dcmanager API v1

Manage distributed cloud operations with the dcmanager API.

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

API versions

GET
/

Lists information about all dcmanager API versions

This operation does not accept a request body.

Normal response codes

200, 300

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Response Example

{
  "versions": [
    {
      "status": "CURRENT",
      "updated": "2017-10-2",
      "id": "v1.0",
      "links": [
        {
          "href": "http://192.168.204.2:8119/v1.0/",
          "rel": "self"
        }
      ]
    }
  ]
}

Subclouds

Subclouds are systems managed by a central System Controller.

GET
/v1.0/subclouds

Lists all subclouds

This operation does not accept a request body.

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Response

Name

In

Type

Description

subclouds

body

array

The list of subcloud objects.

id

body

integer

The ID of a subcloud as an integer.

group_id

body

integer

The ID of a subcloud group. Default is 1.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

software-version

body

string

The software version for the subcloud.

availability-status

body

string

The availability status of the subcloud.

error-description (Optional)

body

string

Description of the subcloud’s error.

deploy-status

body

string

The deploy status of the subcloud.

backup-status

body

string

The backup status of the subcloud.

backup-datetime

body

string

Date and time of the last successful subcloud backup.

openstack-installed

body

boolean

A flag indicating if openstack is installed in the subcloud.

management-state

body

string

Management state of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

data_install

body

string

The installation data for the subcloud.

data_upgrade

body

string

The upgrade data for the subcloud.

endpoint_sync_status

body

list

A list of endpoint sync status.

sync_status

body

string

The sync status for the endpoint.

endpoint_type

body

string

The type for the sync status endpoint.

Response Example

{
  "subclouds": [
    {
      "id": 1,
      "subcloud_id": 1,
      "group_id": 1,
      "name": "subcloud1",
      "description": "Ottawa Site",
      "location": "YOW",
      "software-version": "21.12",
      "availability-status": "online",
      "deploy-status": "complete",
      "backup-status": "complete",
      "backup-datetime": "2022-07-08 11:23:58.132134",
      "openstack-installed": false,
      "management-state": "managed",
      "systemcontroller-gateway-ip": "192.168.204.101",
      "management-start-ip": "192.168.101.2",
      "management-end-ip": "192.168.101.50",
      "management-subnet": "192.168.101.0/24",
      "management-gateway-ip": "192.168.101.1",
      "created-at": "2021-10-04 15:04:13.045076",
      "updated-at": "2021-10-25 21:16:23.713858",
      "data_install": null,
      "data_upgrade": null,
      "sync_status": "out-of-sync",
      "endpoint_sync_status": [
        {
          "sync_status": "in-sync",
          "endpoint_type": "dc-cert"
        },
        {
          "sync_status": "in-sync",
           "endpoint_type": "load"
        },
        {
          "sync_status": "in-sync",
          "endpoint_type": "firmware"
        },
        {
          "sync_status": "in-sync",
          "endpoint_type": "kubernetes"
        },
        {
          "sync_status": "in-sync",
          "endpoint_type": "kube-rootca"
        },
        {
          "sync_status": "in-sync",
          "endpoint_type": "platform"
        },
        {
          "sync_status": "in-sync",
          "endpoint_type": "identity"
        },
        {
          "sync_status": "out-of-sync",
          "endpoint_type": "patching"
        }
      ],
    }
  ]
}
POST
/v1.0/subclouds

Creates a subcloud

Accepts Content-Type multipart/form-data.

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

bmc_password (Optional)

body

string

The BMC password of the subcloud. Must be base64 encoded.

bootstrap-address

body

string

An OAM IP address of the subcloud controller-0.

bootstrap_values

body

string

The content of a file containing the bootstrap overrides such as subcloud name, management and OAM subnet.The sysadmin password of the subcloud. Must be base64 encoded.

deploy_config

body

string

The content of a file containing the resource definitions describing the desired subcloud configuration.

description (Optional)

body

string

The description of a subcloud.

external_oam_floating_address (Optional)

body

string

The external OAM Floating IP of the subcloud.

external_oam_gateway_address (Optional)

body

string

The external OAM Gateway address of the subcloud.

external_oam_subnet (Optional)

body

string

The external OAM subnet of the subcloud.

group_id

body

integer

The ID of a subcloud group. Default is 1.

install_values (Optional)

body

string

The content of a file containing install variables such as subcloud bootstrap interface and BMC information.

location (Optional)

body

string

The location of a subcloud.

management_gateway_address

body

string

Management gateway IP for subcloud.

management_end_ip

body

string

End of management IP address range for subcloud.

management_start_address

body

string

Start of management IP address range for subcloud.

management_subnet

body

string

The management subnet for subcloud.

migrate (Optional)

body

boolean

A flag indicating if the subcloud is migrated

name

body

string

The name of a subcloud.

release (Optional)

body

string

The subcloud software version.

sysadmin_password

body

string

The sysadmin password of the subcloud. Must be base64 encoded.

systemcontroller_gateway_address

body

string

The gateway IP address of the system controller of the subcloud.

system_mode

body

string

The system mode for the subcloud. (simplex, duplex, duplex-direct)

Request Example

{
    "name": "subcloud1",
    "system_mode": "simplex",
    "management_subnet": "192.168.101.0/24",
    "management_start_address": "192.168.101.2",
    "management_end_address": "192.168.101.50",
    "management_gateway_address": "192.168.101.1",
    "systemcontroller_gateway_address": "192.168.204.101"
    "external_oam_subnet": "10.10.10.0/24",
    "external_oam_gateway_address": "10.10.10.1",
    "external_oam_floating_address": "10.10.10.12",
    "sysadmin_password": "XXXXXXX",
    "bootstrap-address": "10.10.10.12",
    "description": "Subcloud 1"
    "location": "Somewhere"
}

Response parameters

Name

In

Type

Description

id

body

integer

The ID of a subcloud as an integer.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

software-version

body

string

The software version for the subcloud.

management-state

body

string

Management state of the subcloud.

availability-status

body

string

The availability status of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

location (Optional)

body

string

The location of a subcloud.

group_id

body

integer

The ID of a subcloud group. Default is 1.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

Response Example

{
    "description": "A subcloud",
    "management-start-ip": "192.168.205.110",
    "created-at": "2018-02-25T22:17:11.845596",
    "updated-at": null,
    "software-version": "18.01",
    "management-state": "unmanaged",
    "availability-status": "offline",
    "systemcontroller-gateway-ip": "192.168.204.102",
    "location": "Somewhere",
    "group_id": 1,
    "management-subnet": "192.168.205.0/24",
    "management-gateway-ip": "192.168.205.1",
    "management-end-ip": "192.168.205.160",
    "id": 4,
    "name": "subcloud7"
}
GET
/v1.0/subclouds/​{subcloud}

Shows information about a specific subcloud

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud

path

string

The subcloud reference, name or id.

This operation does not accept a request body.

Response parameters

Name

In

Type

Description

id

body

integer

The ID of a subcloud as an integer.

group_id

body

integer

The ID of a subcloud group. Default is 1.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

software-version

body

string

The software version for the subcloud.

availability-status

body

string

The availability status of the subcloud.

error-description (Optional)

body

string

Description of the subcloud’s error.

deploy-status

body

string

The deploy status of the subcloud.

backup-status

body

string

The backup status of the subcloud.

backup-datetime

body

string

Date and time of the last successful subcloud backup.

openstack-installed

body

boolean

A flag indicating if openstack is installed in the subcloud.

management-state

body

string

Management state of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

data_install

body

string

The installation data for the subcloud.

data_upgrade

body

string

The upgrade data for the subcloud.

endpoint_sync_status

body

list

A list of endpoint sync status.

sync_status

body

string

The sync status for the endpoint.

endpoint_type

body

string

The type for the sync status endpoint.

Response Example

{
  "id": 1,
  "group_id": 1,
  "name": "subcloud1",
  "description": "Ottawa Site",
  "location": "YOW",
  "software-version": "21.12",
  "availability-status": "online",
  "deploy-status": "complete",
  "backup-status": "complete",
  "backup-datetime": "2022-07-08 11:23:58.132134",
  "openstack-installed": false,
  "management-state": "managed",
  "systemcontroller-gateway-ip": "192.168.204.101",
  "management-start-ip": "192.168.101.2",
  "management-end-ip": "192.168.101.50",
  "management-subnet": "192.168.101.0/24",
  "management-gateway-ip": "192.168.101.1",
  "created-at": "2021-10-04 15:04:13.045076",
  "updated-at": "2021-10-25 21:16:23.713858",
  "data_install": null,
  "data_upgrade": null,
  "endpoint_sync_status": [
    {
      "sync_status": "in-sync",
      "endpoint_type": "dc-cert"
    },
    {
      "sync_status": "in-sync",
       "endpoint_type": "load"
    },
    {
      "sync_status": "in-sync",
      "endpoint_type": "firmware"
    },
    {
      "sync_status": "in-sync",
      "endpoint_type": "kubernetes"
    },
    {
      "sync_status": "in-sync",
      "endpoint_type": "kube-rootca"
    },
    {
      "sync_status": "in-sync",
      "endpoint_type": "platform"
    },
    {
      "sync_status": "in-sync",
      "endpoint_type": "identity"
    },
    {
      "sync_status": "out-of-sync",
      "endpoint_type": "patching"
    }
  ],
}
GET
/v1.0/subclouds/​{subcloud}​/detail

Shows additional information about a specific subcloud

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud

path

string

The subcloud reference, name or id.

This operation does not accept a request body.

Response parameters

Name

In

Type

Description

id

body

integer

The ID of a subcloud as an integer.

group_id

body

integer

The ID of a subcloud group. Default is 1.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

software-version

body

string

The software version for the subcloud.

availability-status

body

string

The availability status of the subcloud.

error-description (Optional)

body

string

Description of the subcloud’s error.

deploy-status

body

string

The deploy status of the subcloud.

backup-status

body

string

The backup status of the subcloud.

backup-datetime

body

string

Date and time of the last successful subcloud backup.

openstack-installed

body

boolean

A flag indicating if openstack is installed in the subcloud.

management-state

body

string

Management state of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

oam_floating_ip (Optional)

body

string

The OAM Floating IP of the subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

data_install

body

string

The installation data for the subcloud.

data_upgrade

body

string

The upgrade data for the subcloud.

endpoint_sync_status

body

list

A list of endpoint sync status.

sync_status

body

string

The sync status for the endpoint.

endpoint_type

body

string

The type for the sync status endpoint.

Response Example

{
  "id": 1,
  "group_id": 1,
  "name": "subcloud1",
  "description": "Ottawa Site",
  "location": "YOW",
  "software-version": "21.12",
  "availability-status": "online",
  "deploy-status": "complete",
  "backup-status": "complete",
  "backup-datetime": "2022-07-08 11:23:58.132134",
  "openstack-installed": false,
  "management-state": "managed",
  "systemcontroller-gateway-ip": "192.168.204.101",
  "management-start-ip": "192.168.101.2",
  "management-end-ip": "192.168.101.50",
  "management-subnet": "192.168.101.0/24",
  "management-gateway-ip": "192.168.101.1",
  "created-at": "2021-10-04 15:04:13.045076",
  "updated-at": "2021-10-25 21:16:23.713858",
  "data_install": null,
  "data_upgrade": null,
  "oam_floating_ip": "192.168.101.2",
  "deploy_config_sync_status": "Deployment: configurations up-to-date"
  "endpoint_sync_status": [
    {
      "sync_status": "in-sync",
      "endpoint_type": "dc-cert"
    },
    {
      "sync_status": "in-sync",
       "endpoint_type": "load"
    },
    {
      "sync_status": "in-sync",
      "endpoint_type": "firmware"
    },
    {
      "sync_status": "in-sync",
      "endpoint_type": "kubernetes"
    },
    {
      "sync_status": "in-sync",
      "endpoint_type": "kube-rootca"
    },
    {
      "sync_status": "in-sync",
      "endpoint_type": "platform"
    },
    {
      "sync_status": "in-sync",
      "endpoint_type": "identity"
    },
    {
      "sync_status": "out-of-sync",
      "endpoint_type": "patching"
    }
  ],
}
PATCH
/v1.0/subclouds/​{subcloud}

Modifies a specific subcloud

The attributes of a subcloud which are modifiable:

  • description

  • location

  • management-state

  • group_id

  • management-subnet

  • management-gateway-ip

  • management-start-ip

  • management-end-ip

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud

path

string

The subcloud reference, name or id.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

management-state (Optional)

body

string

Management state of the subcloud.

group_id (Optional)

body

integer

The ID of the subcloud group associated with this object.

management-subnet (Optional)

body

string

The management subnet of a subcloud.

management-gateway-ip (Optional)

body

string

The management gateway ip of a subcloud.

management-start-ip (Optional)

body

string

The management start ip of a subcloud.

management-end-ip (Optional)

body

string

The management end ip of a subcloud.

bootstrap-address

body

string

An OAM IP address of the subcloud controller-0.

sysadmin-password

body

string

The sysadmin password of the subcloud. Must be base64 encoded.

Request Example

{
    "management-state": "unmanaged"
}

Response parameters

Name

In

Type

Description

id

body

integer

The ID of a subcloud as an integer.

group_id

body

integer

The ID of a subcloud group. Default is 1.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

software-version

body

string

The software version for the subcloud.

availability-status

body

string

The availability status of the subcloud.

error-description (Optional)

body

string

Description of the subcloud’s error.

deploy-status

body

string

The deploy status of the subcloud.

backup-status

body

string

The backup status of the subcloud.

backup-datetime

body

string

Date and time of the last successful subcloud backup.

openstack-installed

body

boolean

A flag indicating if openstack is installed in the subcloud.

management-state

body

string

Management state of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

data_install

body

string

The installation data for the subcloud.

data_upgrade

body

string

The upgrade data for the subcloud.

endpoint_sync_status

body

list

A list of endpoint sync status.

sync_status

body

string

The sync status for the endpoint.

endpoint_type

body

string

The type for the sync status endpoint.

Response Example

{
  "id": 1,
  "name": "subcloud1",
  "created-at": "2021-11-08T18:41:19.530228",
  "updated-at": "2021-11-15T14:15:59.944851",
  "availability-status": "online",
  "data_install": null,
  "data_upgrade": null,
  "deploy-status": "complete",
  "backup-status": "complete",
  "backup-datetime": "2022-07-08 11:23:58.132134",
  "description": "Ottawa Site",
  "group_id": 1,
  "location": "YOW",
  "management-end-ip": "192.168.101.50",
  "management-gateway-ip": "192.168.101.1",
  "management-start-ip": "192.168.101.2",
  "management-state": "unmanaged",
  "management-subnet": "192.168.101.0/24",
  "openstack-installed": false,
  "software-version": "21.12",
  "systemcontroller-gateway-ip": "192.168.204.101",
}
PATCH
/v1.0/subclouds/{subcloud}/reconfigure

Reconfigures a specific subcloud

The attributes of a subcloud which are modifiable:

  • subcloud configuration (which is provided through deploy_config file)

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud

path

string

The subcloud reference, name or id.

deploy_config

body

string

The content of a file containing the resource definitions describing the desired subcloud configuration.

sysadmin_password

body

string

The sysadmin password of the subcloud. Must be base64 encoded.

Accepts Content-Type multipart/form-data

Request Example

{
    "sysadmin_password": "XXXXXXX",
    "deploy_config": "path to some file"

}

Response parameters

Name

In

Type

Description

id

body

integer

The ID of a subcloud as an integer.

group_id

body

integer

The ID of a subcloud group. Default is 1.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

software-version

body

string

The software version for the subcloud.

availability-status

body

string

The availability status of the subcloud.

error-description (Optional)

body

string

Description of the subcloud’s error.

deploy-status

body

string

The deploy status of the subcloud.

backup-status

body

string

The backup status of the subcloud.

backup-datetime

body

string

Date and time of the last successful subcloud backup.

openstack-installed

body

boolean

A flag indicating if openstack is installed in the subcloud.

management-state

body

string

Management state of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

data_install

body

string

The installation data for the subcloud.

data_upgrade

body

string

The upgrade data for the subcloud.

endpoint_sync_status

body

list

A list of endpoint sync status.

sync_status

body

string

The sync status for the endpoint.

endpoint_type

body

string

The type for the sync status endpoint.

Response Example

{
  "id": 1,
  "name": "subcloud1",
  "created-at": "2021-11-08T18:41:19.530228",
  "updated-at": "2021-11-15T14:15:59.944851",
  "availability-status": "online",
  "data_install": null,
  "data_upgrade": null,
  "deploy-status": "complete",
  "backup-status": "complete",
  "backup-datetime": "2022-07-08 11:23:58.132134",
  "description": "Ottawa Site",
  "group_id": 1,
  "location": "YOW",
  "management-end-ip": "192.168.101.50",
  "management-gateway-ip": "192.168.101.1",
  "management-start-ip": "192.168.101.2",
  "management-state": "unmanaged",
  "management-subnet": "192.168.101.0/24",
  "openstack-installed": false,
  "software-version": "21.12",
  "systemcontroller-gateway-ip": "192.168.204.101",
}
PATCH
/v1.0/subclouds/{subcloud}/reinstall

Reinstalls a specific subcloud

Reinstall and bootstrap a subcloud based on its previous install configurations. After reinstall, a reconfigure operation with deploy_config file is expected to deploy the subcloud.

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud

path

string

The subcloud reference, name or id.

bootstrap_values

body

string

The content of a file containing the bootstrap overrides such as subcloud name, management and OAM subnet.The sysadmin password of the subcloud. Must be base64 encoded.

deploy_config

body

string

The content of a file containing the resource definitions describing the desired subcloud configuration.

release (Optional)

body

string

The subcloud software version.

sysadmin_password

body

string

The sysadmin password of the subcloud. Must be base64 encoded.

Request Example

{
    "sysadmin_password": "XXXXXXX",
    "bootstrap_values": "path to boostrap file",
    "deploy_config": "path to deploy file"
}

Response parameters

Name

In

Type

Description

id

body

integer

The ID of a subcloud as an integer.

group_id

body

integer

The ID of a subcloud group. Default is 1.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

software-version

body

string

The software version for the subcloud.

availability-status

body

string

The availability status of the subcloud.

error-description (Optional)

body

string

Description of the subcloud’s error.

deploy-status

body

string

The deploy status of the subcloud.

backup-status

body

string

The backup status of the subcloud.

backup-datetime

body

string

Date and time of the last successful subcloud backup.

openstack-installed

body

boolean

A flag indicating if openstack is installed in the subcloud.

management-state

body

string

Management state of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

data_install

body

string

The installation data for the subcloud.

data_upgrade

body

string

The upgrade data for the subcloud.

endpoint_sync_status

body

list

A list of endpoint sync status.

sync_status

body

string

The sync status for the endpoint.

endpoint_type

body

string

The type for the sync status endpoint.

Response Example

{
  "id": 1,
  "name": "subcloud1",
  "created-at": "2021-11-08T18:41:19.530228",
  "updated-at": "2021-11-15T14:15:59.944851",
  "availability-status": "online",
  "data_install": {
      "bootstrap_interface": "eno1"
  }
  "data_upgrade": null,
  "deploy-status": "complete",
  "backup-status": "complete",
  "backup-datetime": "2022-07-08 11:23:58.132134",
  "description": "Ottawa Site",
  "group_id": 1,
  "location": "YOW",
  "management-end-ip": "192.168.101.50",
  "management-gateway-ip": "192.168.101.1",
  "management-start-ip": "192.168.101.2",
  "management-state": "unmanaged",
  "management-subnet": "192.168.101.0/24",
  "openstack-installed": false,
  "software-version": "21.12",
  "systemcontroller-gateway-ip": "192.168.204.101",
}
PATCH
/v1.0/subclouds/{subcloud}/prestage

Prestage a specific subcloud

Prestages a subcloud with software packages and container image archives. The prestaged data is stored in the subcloud persistent file system that can be used when the subcloud is reinstalled next.

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud

path

string

The subcloud reference, name or id.

release (Optional)

body

string

The subcloud software version.

sysadmin_password

body

string

The sysadmin password of the subcloud. Must be base64 encoded.

force (Optional)

body

boolean

Indicates whether to disregard subcloud management alarm condition.

Request Example

{
    "sysadmin_password": "XXXXXXX",
    "release": "21.12",
    "force": "true"
}

Response parameters

Name

In

Type

Description

id

body

integer

The ID of a subcloud as an integer.

group_id

body

integer

The ID of a subcloud group. Default is 1.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

software-version

body

string

The software version for the subcloud.

availability-status

body

string

The availability status of the subcloud.

error-description (Optional)

body

string

Description of the subcloud’s error.

deploy-status

body

string

The deploy status of the subcloud.

backup-status

body

string

The backup status of the subcloud.

backup-datetime

body

string

Date and time of the last successful subcloud backup.

openstack-installed

body

boolean

A flag indicating if openstack is installed in the subcloud.

management-state

body

string

Management state of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

prestage_software_version

body

string

The prestage software version for the subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

data_install

body

string

The installation data for the subcloud.

data_upgrade

body

string

The upgrade data for the subcloud.

endpoint_sync_status

body

list

A list of endpoint sync status.

sync_status

body

string

The sync status for the endpoint.

endpoint_type

body

string

The type for the sync status endpoint.

Response Example

{
  "id": 1,
  "name": "subcloud1",
  "created-at": "2021-11-08T18:41:19.530228",
  "updated-at": "2021-11-15T14:15:59.944851",
  "availability-status": "online",
  "data_install": {
      "bootstrap_interface": "eno1"
  },
  "data_upgrade": null,
  "deploy-status": "complete",
  "backup-status": "complete",
  "backup-datetime": "2022-07-08 11:23:58.132134",
  "description": "Ottawa Site",
  "group_id": 1,
  "location": "YOW",
  "management-end-ip": "192.168.101.50",
  "management-gateway-ip": "192.168.101.1",
  "management-start-ip": "192.168.101.2",
  "management-state": "unmanaged",
  "management-subnet": "192.168.101.0/24",
  "openstack-installed": false,
  "software-version": "21.12",
  "systemcontroller-gateway-ip": "192.168.204.101",
  "prestage-software-version": "21.12",
}
PATCH
/v1.0/subclouds/{subcloud}/update_status

Update the status of a specific subcloud

This is an internal API.

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud

path

string

The subcloud reference, name or id.

endpoint

body

string

The endpoint that is being updated. Only supported value is: dc-cert.

status

body

string

The endpoint sync status. in-sync, out-of-sync, unknown.

Request Example

{
    "endpoint": "dc-cert",
    "status": "in-sync"
}

Response parameters

Name

In

Type

Description

result

body

string

The result of a subcloud endpoint being updated. OK

Response Example

{
  "result": "OK"
}
DELETE
/v1.0/subclouds/​{subcloud}

Deletes a specific subcloud

Normal response codes

200

Request parameters

Name

In

Type

Description

subcloud

path

string

The subcloud reference, name or id.

This operation does not accept a request body.

Subcloud Groups

Subcloud Groups are a logical grouping managed by a central System Controller. Subclouds in a group can be updated in parallel when applying patches or software upgrades.

GET
/v1.0/subcloud-groups

Lists all subcloud groups

This operation does not accept a request body.

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Response parameters

Name

In

Type

Description

subcloud_groups

body

array

The list of subcloud-group objects.

id (Optional)

body

integer

The ID of the subcloud group associated with this object.

name

body

integer

The name of the subcloud group.

description (Optional)

body

integer

The description of the subcloud group.

max_parallel_subclouds (Optional)

body

integer

The maximum number of subclouds in the subcloud group to update in parallel.

update_apply_type (Optional)

body

string

The method for applying an update to this subcloud group. serial or parallel.

created_at

body

string

The time when the object was created.

updated_at

body

string

The time when the object was updated.

Response Example

{
  "subcloud_groups": [
    {
      "id": 1,
      "name": "Default",
      "description": "Default Subcloud Group",
      "max_parallel_subclouds": 2,
      "update_apply_type": "parallel",
      "created-at": null,
      "updated-at": null
    },
  ]
}
POST
/v1.0/subcloud-groups

Creates a subcloud group

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

name

body

integer

The name of the subcloud group.

description (Optional)

body

integer

The description of the subcloud group.

max_parallel_subclouds (Optional)

body

integer

The maximum number of subclouds in the subcloud group to update in parallel.

update_apply_type (Optional)

body

string

The method for applying an update to this subcloud group. serial or parallel.

Request Example

{
  "name": "GroupX",
  "description": "A new group",
  "update_apply_type": "parallel",
  "max_parallel_subclouds": 3
}

Response parameters

Name

In

Type

Description

id (Optional)

body

integer

The ID of the subcloud group associated with this object.

name

body

integer

The name of the subcloud group.

description (Optional)

body

integer

The description of the subcloud group.

max_parallel_subclouds (Optional)

body

integer

The maximum number of subclouds in the subcloud group to update in parallel.

update_apply_type (Optional)

body

string

The method for applying an update to this subcloud group. serial or parallel.

created_at

body

string

The time when the object was created.

updated_at

body

string

The time when the object was updated.

Response Example

{
  "id": 2,
  "name": "GroupX",
  "description": "A new group",
  "max_parallel_subclouds": "3",
  "update_apply_type": "parallel",
  "created-at": "2020-04-08 15:15:10.750592",
  "updated-at": null
}
GET
/v1.0/subcloud-groups/​{subcloud-group}

Shows information about a specific subcloud group

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud-group

path

string

The subcloud group reference, name or id.

This operation does not accept a request body.

Response parameters

Name

In

Type

Description

id (Optional)

body

integer

The ID of the subcloud group associated with this object.

name

body

integer

The name of the subcloud group.

description (Optional)

body

integer

The description of the subcloud group.

max_parallel_subclouds (Optional)

body

integer

The maximum number of subclouds in the subcloud group to update in parallel.

update_apply_type (Optional)

body

string

The method for applying an update to this subcloud group. serial or parallel.

created_at

body

string

The time when the object was created.

updated_at

body

string

The time when the object was updated.

Response Example

{
  "id": 2,
  "name": "GroupX",
  "description": "A new group",
  "max_parallel_subclouds": "3",
  "update_apply_type": "parallel",
  "created-at": "2020-04-08 15:15:10.750592",
  "updated-at": null
}
GET
/v1.0/subcloud-groups/​{subcloud-group}​/subclouds

Shows subclouds that are part of a subcloud group

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud-group

path

string

The subcloud group reference, name or id.

This operation does not accept a request body.

Response parameters

Name

In

Type

Description

subclouds

body

array

The list of subcloud objects.

id

body

integer

The ID of a subcloud as an integer.

group_id

body

integer

The ID of a subcloud group. Default is 1.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

software-version

body

string

The software version for the subcloud.

availability-status

body

string

The availability status of the subcloud.

error-description (Optional)

body

string

Description of the subcloud’s error.

deploy-status

body

string

The deploy status of the subcloud.

backup-status

body

string

The backup status of the subcloud.

backup-datetime

body

string

Date and time of the last successful subcloud backup.

openstack-installed

body

boolean

A flag indicating if openstack is installed in the subcloud.

management-state

body

string

Management state of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

data_install

body

string

The installation data for the subcloud.

data_upgrade

body

string

The upgrade data for the subcloud.

Response Example

{
  "subclouds": [
    {
      "id": 1,
      "subcloud_id": 1,
      "group_id": 1,
      "name": "subcloud1",
      "description": "Ottawa Site",
      "location": "YOW",
      "software-version": "21.12",
      "availability-status": "online",
      "deploy-status": "complete",
      "backup-status": "complete",
      "backup-datetime": "2022-07-08 11:23:58.132134",
      "openstack-installed": false,
      "management-state": "managed",
      "systemcontroller-gateway-ip": "192.168.204.101",
      "management-start-ip": "192.168.101.2",
      "management-end-ip": "192.168.101.50",
      "management-subnet": "192.168.101.0/24",
      "management-gateway-ip": "192.168.101.1",
      "created-at": "2021-10-04 15:04:13.045076",
      "updated-at": "2021-10-25 21:16:23.713858",
      "data_install": null,
      "data_upgrade": null,
    },
  ]
}
PATCH
/v1.0/subcloud-groups/​{subcloud-group}

Modifies a specific subcloud group

The attributes of a subcloud group which are modifiable:

  • name

  • description

  • update_apply_type

  • max_parallel_subclouds

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud-group

path

string

The subcloud group reference, name or id.

name

body

integer

The name of the subcloud group.

description (Optional)

body

integer

The description of the subcloud group.

max_parallel_subclouds (Optional)

body

integer

The maximum number of subclouds in the subcloud group to update in parallel.

update_apply_type (Optional)

body

string

The method for applying an update to this subcloud group. serial or parallel.

Request Example

{
  "description": "A new group description",
  "update_apply_type": "serial",
  "max_parallel_subclouds": 5
}

Response parameters

Name

In

Type

Description

id (Optional)

body

integer

The ID of the subcloud group associated with this object.

name

body

integer

The name of the subcloud group.

description (Optional)

body

integer

The description of the subcloud group.

max_parallel_subclouds (Optional)

body

integer

The maximum number of subclouds in the subcloud group to update in parallel.

update_apply_type (Optional)

body

string

The method for applying an update to this subcloud group. serial or parallel.

created_at

body

string

The time when the object was created.

updated_at

body

string

The time when the object was updated.

Response Example

{
  "id": 2,
  "name": "GroupX",
  "description": "A new group description",
  "max_parallel_subclouds": "5",
  "update_apply_type": "serial",
  "created-at": "2020-04-08 15:15:10.750592",
  "updated-at": "2020-04-08 15:21:01.527101"
}
DELETE
/v1.0/subcloud-groups/​{subcloud-group}

Deletes a specific subcloud group

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud-group

path

string

The subcloud group reference, name or id.

This operation does not accept a request body.

Subcloud Backups

Subcloud Backups allow for essential subcloud system data (and optionally container images) to be saved and subsequently used to restore the subcloud to a previously working state. Subcloud backups may be created, deleted or restored for a single subcloud, or for all subclouds in a subcloud group. Backup files may be saved locally in the subcloud or to a centralized archive in the system controller.

POST
/v1.0/subcloud-backup

Generates subcloud backup files for a given subcloud or subcloud group

Accepts Content-Type multipart/form-data.

Normal response codes

OK (200) - request has been validated and backup operation was started

Error response codes

badRequest (400), unauthorized (401), forbidden (403), notFound (404), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud

body

string

Name or ID of the subcloud to be backed up. To be specified if and only if ‘group’ is not provided.

group

body

string

Name or ID of the group of subclouds to be backed up. To be specified if and only if ‘subcloud’ is not provided.

local_only (Optional)

body

boolean

Flag to indicate whether the platform backup is to be saved locally within the subcloud. Defaults to False.

registry_images (Optional)

body

boolean

Flag to indicate whether registry images backup should also be generated (local only). Defaults to False.

backup_values (Optional)

body

multipart

Content of a backup playbook overrides file, if needed (e.g. backup_dir).

sysadmin_password

body

string

The sysadmin password of the subcloud. Must be base64 encoded.

Request Example

{
    "subcloud": 1,
    "local_only": false,
    "registry_images": false,
    "backup_values": "path to some file",
    "sysadmin_password": "XXXXXXX"
}

Response parameters

Name

In

Type

Description

subclouds

body

array

The list of subcloud objects.

id

body

integer

The ID of a subcloud as an integer.

group_id

body

integer

The ID of a subcloud group. Default is 1.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

software-version

body

string

The software version for the subcloud.

availability-status

body

string

The availability status of the subcloud.

error-description (Optional)

body

string

Description of the subcloud’s error.

deploy-status

body

string

The deploy status of the subcloud.

backup-status

body

string

The backup status of the subcloud.

backup-datetime

body

string

Date and time of the last successful subcloud backup.

openstack-installed

body

boolean

A flag indicating if openstack is installed in the subcloud.

management-state

body

string

Management state of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

data_install

body

string

The installation data for the subcloud.

data_upgrade

body

string

The upgrade data for the subcloud.

endpoint_sync_status

body

list

A list of endpoint sync status.

sync_status

body

string

The sync status for the endpoint.

endpoint_type

body

string

The type for the sync status endpoint.

Response Example

{
  "subclouds": [
    {
      "id": 1,
      "name": "subcloud1",
      "created-at": "2021-11-08T18:41:19.530228",
      "updated-at": "2021-11-15T14:15:59.944851",
      "availability-status": "offline",
      "data_install": {
        "bootstrap_interface": "eno1"
      },
      "data_upgrade": null,
      "deploy-status": "pre-restore",
      "error-description": "",
      "backup-status": "complete",
      "backup-datetime": "2022-07-08 11:23:58.132134",
      "description": "Ottawa Site",
      "group_id": 1,
      "location": "YOW",
      "management-end-ip": "192.168.101.50",
      "management-gateway-ip": "192.168.101.1",
      "management-start-ip": "192.168.101.2",
      "management-state": "unmanaged",
      "management-subnet": "192.168.101.0/24",
      "openstack-installed": false,
      "software-version": "21.12",
      "systemcontroller-gateway-ip": "192.168.204.101"
    }
  ]
}
PATCH
/v1.0/subcloud-backup/delete

Deletes subcloud backup files of a release for a given subcloud or subcloud group

Accepts Content-Type multipart/form-data.

Normal response codes

noContent (204) - Backup files deleted successfully

Error response codes

badRequest (400), unauthorized (401), forbidden (403), notFound (404), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

release

path

string

Backup release to be deleted (e.g. 22.12).

subcloud

body

string

Name or ID of the subcloud to be backed up. To be specified if and only if ‘group’ is not provided.

group

body

string

Name or ID of the group of subclouds to be backed up. To be specified if and only if ‘subcloud’ is not provided.

local_only (Optional)

body

boolean

Flag to indicate whether the platform backup is to be saved locally within the subcloud. Defaults to False.

sysadmin_password

body

string

The sysadmin password of the subcloud. Must be base64 encoded.

Request Example

{
    "subcloud": 1,
    "local_only": false,
    "sysadmin_password": "XXXXXXX"
}
PATCH
/v1.0/subcloud-backup/restore

Restores a subcloud or a subcloud group from a backup

Accepts Content-Type application/json.

Normal response codes

OK (200) - request has been validated and restore operation was started

Error response codes

badRequest (400), unauthorized (401), forbidden (403), notFound (404), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

with_install (Optional)

body

boolean

The flag to indicate whether remote install is required or not (e.g. true).

release (Optional)

body

string

The subcloud software version.

local_only (Optional)

body

boolean

Flag to indicate whether the platform backup is to be saved locally within the subcloud. Defaults to False.

registry_images (Optional)

body

boolean

Flag to indicate whether registry images backup should also be generated (local only). Defaults to False.

sysadmin_password

body

string

The sysadmin password of the subcloud. Must be base64 encoded.

subcloud

body

string

Name or ID of the subcloud to be backed up. To be specified if and only if ‘group’ is not provided.

group

body

string

Name or ID of the group of subclouds to be backed up. To be specified if and only if ‘subcloud’ is not provided.

restore_values (Optional)

body

string

Content of a restore playbook overrides file.

Request Example

{
    "subcloud": 1,
    "local_only": "false",
    "registry_images": "false",
    "with_install": "true",
    "release": "21.12",
    "sysadmin_password": "XXXXXXX",
    "restore_values": {
    	"backup_filename": "filename"
    }
}

Response parameters

Name

In

Type

Description

subclouds

body

array

The list of subcloud objects.

id

body

integer

The ID of a subcloud as an integer.

group_id

body

integer

The ID of a subcloud group. Default is 1.

name

body

string

The name of a subcloud.

description (Optional)

body

string

The description of a subcloud.

location (Optional)

body

string

The location of a subcloud.

software-version

body

string

The software version for the subcloud.

availability-status

body

string

The availability status of the subcloud.

error-description (Optional)

body

string

Description of the subcloud’s error.

deploy-status

body

string

The deploy status of the subcloud.

backup-status

body

string

The backup status of the subcloud.

backup-datetime

body

string

Date and time of the last successful subcloud backup.

openstack-installed

body

boolean

A flag indicating if openstack is installed in the subcloud.

management-state

body

string

Management state of the subcloud.

systemcontroller-gateway-ip

body

string

The gateway IP address of the system controller of the subcloud.

management-start-ip

body

string

Start of management IP address range for subcloud.

management-end-ip

body

string

End of management IP address range for subcloud.

management-subnet

body

string

The management subnet for subcloud.

management-gateway-ip

body

string

Management gateway IP for subcloud.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

data_install

body

string

The installation data for the subcloud.

data_upgrade

body

string

The upgrade data for the subcloud.

endpoint_sync_status

body

list

A list of endpoint sync status.

sync_status

body

string

The sync status for the endpoint.

endpoint_type

body

string

The type for the sync status endpoint.

Response Example

{
    "subclouds": [
      {
        "id": 1,
        "name": "subcloud1",
        "created-at": "2021-11-08T18:41:19.530228",
        "updated-at": "2021-11-15T14:15:59.944851",
        "availability-status": "offline",
        "data_install": {
          "bootstrap_interface": "eno1"
        },
        "data_upgrade": null,
        "deploy-status": "pre-restore",
        "error-description": "",
        "backup-status": "complete",
        "backup-datetime": "2022-07-08 11:23:58.132134",
        "description": "Ottawa Site",
        "group_id": 1,
        "location": "YOW",
        "management-end-ip": "192.168.101.50",
        "management-gateway-ip": "192.168.101.1",
        "management-start-ip": "192.168.101.2",
        "management-state": "unmanaged",
        "management-subnet": "192.168.101.0/24",
        "openstack-installed": false,
        "software-version": "21.12",
        "systemcontroller-gateway-ip": "192.168.204.101"
      }
    ]
}

Subcloud Alarms

Subcloud alarms are aggregated on the System Controller.

GET
/v1.0/alarms

Summarizes alarms from all subclouds

This operation does not accept a request body.

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Response parameters

Name

In

Type

Description

alarm_summary (Optional)

body

array

The list of alarm summaries.

uuid

body

string

The unique identifier for this object.

region_name

body

string

The name provisioned for the subcloud (synonym for subcloud name).

cloud_status

body

string

The overall alarm status of the subcloud.

warnings

body

integer

Number of warnings for subcloud (-1 when cloud_status is disabled).

critical_alarms

body

integer

Number of critical alarms for subcloud (-1 when cloud_status is disabled).

major_alarms

body

integer

Number of major alarms for subcloud (-1 when cloud_status is disabled).

minor_alarms

body

integer

Number of minor alarms for subcloud (-1 when cloud_status is disabled).

Response Example

{
    "alarm_summary": [
        {
            "cloud_status": "disabled",
            "region_name": "subcloud1",
            "warnings": -1,
            "minor_alarms": -1,
            "critical_alarms": -1,
            "major_alarms": -1,
            "uuid": "fd1e38dc-ed76-4b82-906e-e593ed0f8ac8"
        }
    ]
}

Subcloud Update Strategy

The Subcloud update strategy is configurable.

GET
/v1.0/sw-update-strategy

Shows the details of the update strategy

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

type (Optional)

path

string

Filter to query a particular type of update strategy if it exists. One of: firmware, kube-rootca-update, kubernetes, patch, prestage, or upgrade.

This operation does not accept a request body.

Response parameters

Name

In

Type

Description

type (Optional)

path

string

Filter to query a particular type of update strategy if it exists. One of: firmware, kube-rootca-update, kubernetes, patch, prestage, or upgrade.

id (Optional)

body

integer

The ID of the sw-update-strategy associated with this object.

state (Optional)

body

string

The internal state of the sw-update-strategy.

extra-args (Optional)

body

dictionary

The dictionary of extra arguments passed to a sw-update-strategy.

stop-on-failure (Optional)

body

boolean

Flag to indicate if the update should stop updating additional subclouds if a failure is encountered.

subcloud-apply-type (Optional)

body

string

The apply type for the update. serial or parallel.

max-parallel-subclouds (Optional)

body

integer

The maximum number of subclouds to update in parallel.

created_at

body

string

The time when the object was created.

updated_at

body

string

The time when the object was updated.

Response Example

{
  "type": "patch",
  "id": 2,
  "state": "initial",
  "stop-on-failure": true,
  "max-parallel-subclouds": "2",
  "subcloud-apply-type": "serial",
  "extra-args": {
    "upload-only": true
  },
  "created-at": "2018-02-25T23:23:53.852473",
  "updated-at": null
}
POST
/v1.0/sw-update-strategy

Creates the update strategy

  • subcloud-apply-type,

  • max-parallel-subclouds,

  • stop-on-failure,

  • cloud_name,

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

cloud_name

body

string

The name of a subcloud.

max-parallel-subclouds (Optional)

body

integer

The maximum number of subclouds to update in parallel.

stop-on-failure (Optional)

body

boolean

Flag to indicate if the update should stop updating additional subclouds if a failure is encountered.

subcloud-apply-type (Optional)

body

string

The apply type for the update. serial or parallel.

type (Optional)

path

string

Filter to query a particular type of update strategy if it exists. One of: firmware, kube-rootca-update, kubernetes, patch, prestage, or upgrade.

upload-only (Optional)

body

boolean

Flag to indicate whether patches should only be uploaded to the subclouds or not. This parameter is only used by ‘patch’ type strategies.

Request Example

{
     "subcloud-apply-type": "serial",
     "type": "patch",
     "stop-on-failure": "true",
     "max-parallel-subclouds": 2,
     "upload-only": "true"
}

Response parameters

Name

In

Type

Description

type (Optional)

path

string

Filter to query a particular type of update strategy if it exists. One of: firmware, kube-rootca-update, kubernetes, patch, prestage, or upgrade.

id (Optional)

body

integer

The ID of the sw-update-strategy associated with this object.

state (Optional)

body

string

The internal state of the sw-update-strategy.

extra-args (Optional)

body

dictionary

The dictionary of extra arguments passed to a sw-update-strategy.

stop-on-failure (Optional)

body

boolean

Flag to indicate if the update should stop updating additional subclouds if a failure is encountered.

subcloud-apply-type (Optional)

body

string

The apply type for the update. serial or parallel.

max-parallel-subclouds (Optional)

body

integer

The maximum number of subclouds to update in parallel.

created_at

body

string

The time when the object was created.

updated_at

body

string

The time when the object was updated.

Response Example

{
  "type": "patch",
  "id": 2,
  "state": "initial",
  "stop-on-failure": true,
  "max-parallel-subclouds": "2",
  "subcloud-apply-type": "serial",
  "extra-args": {
    "upload-only": true
  },
  "created-at": "2018-02-25T23:23:53.852473",
  "updated-at": null
}
DELETE
/v1.0/sw-update-strategy

Deletes the update strategy

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

type (Optional)

path

string

Filter to query a particular type of update strategy if it exists. One of: firmware, kube-rootca-update, kubernetes, patch, prestage, or upgrade.

This operation does not accept a request body.

Response parameters

Name

In

Type

Description

type (Optional)

path

string

Filter to query a particular type of update strategy if it exists. One of: firmware, kube-rootca-update, kubernetes, patch, prestage, or upgrade.

id (Optional)

body

integer

The ID of the sw-update-strategy associated with this object.

state (Optional)

body

string

The internal state of the sw-update-strategy.

extra-args (Optional)

body

dictionary

The dictionary of extra arguments passed to a sw-update-strategy.

stop-on-failure (Optional)

body

boolean

Flag to indicate if the update should stop updating additional subclouds if a failure is encountered.

subcloud-apply-type (Optional)

body

string

The apply type for the update. serial or parallel.

max-parallel-subclouds (Optional)

body

integer

The maximum number of subclouds to update in parallel.

created_at

body

string

The time when the object was created.

updated_at

body

string

The time when the object was updated.

Response Example

{
    "max-parallel-subclouds": null,
    "extra-args": {"to-version": null},
    "created-at": "2022-01-12T19:13:20.462279",
    "updated-at": "2022-01-12T19:15:22.167975",
    "subcloud-apply-type": null,
    "state": "deleting",
    "stop-on-failure": false,
    "type": "kubernetes",
    "id": 5
}

Subcloud Update Strategy Actions

Subcloud patch strategy can be actioned.

POST
/v1.0/sw-update-strategy/actions

Executes an action on a patch strategy

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

type (Optional)

path

string

Filter to query a particular type of update strategy if it exists. One of: firmware, kube-rootca-update, kubernetes, patch, prestage, or upgrade.

action

body

string

Perform an action on the update strategy. Valid values are: apply, or abort.

Request Example

{
    "action": "apply"
}

Response parameters

Name

In

Type

Description

id (Optional)

body

integer

The ID of the sw-update-strategy associated with this object.

type (Optional)

path

string

Filter to query a particular type of update strategy if it exists. One of: firmware, kube-rootca-update, kubernetes, patch, prestage, or upgrade.

state (Optional)

body

string

The internal state of the sw-update-strategy.

extra-args (Optional)

body

dictionary

The dictionary of extra arguments passed to a sw-update-strategy.

stop-on-failure (Optional)

body

boolean

Flag to indicate if the update should stop updating additional subclouds if a failure is encountered.

subcloud-apply-type (Optional)

body

string

The apply type for the update. serial or parallel.

max-parallel-subclouds (Optional)

body

integer

The maximum number of subclouds to update in parallel.

created_at

body

string

The time when the object was created.

updated_at

body

string

The time when the object was updated.

Response Example

{
    "id": 7,
    "type": "kubernetes",
    "state": "applying",
    "max-parallel-subclouds": null,
    "extra-args": {
        "to-version": null
    },
    "created-at": "2022-01-12T20:39:08.036660",
    "updated-at": "2022-01-13T14:19:14.717456",
    "subcloud-apply-type": null,
    "stop-on-failure": false
}

Subcloud Software Update Strategy Steps

Subcloud patch strategy steps can be retrieved.

GET
/v1.0/sw-update-strategy/steps

Lists all software update strategy steps for all clouds

This operation does not accept a request body.

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Response parameters

Name

In

Type

Description

strategy-steps (Optional)

body

array

The list of strategy steps.

id (Optional)

body

integer

The ID of the strategy step.

cloud

body

string

The name of a subcloud.

stage (Optional)

body

integer

The stage associated with the strategy step.

state (Optional)

body

string

The state of the strategy step.

details (Optional)

body

string

The details associated with the strategy step.

started-at

body

string

The time when the strategy_step finished.

finished-at

body

string

The time when the strategy_step finished.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

Response Example

{
    "strategy-steps": [
        {
            "started-at": null,
            "state": "initial",
            "details": "",
            "finished-at": null,
            "updated-at": null,
            "created-at": "2022-01-12 19:19:03.782236",
            "id": 2,
            "cloud": "subcloud1",
            "stage": 1
        }
    ]
}
GET
/v1.0/sw-update-strategy/steps/​{cloud_name}

Shows the details of patch strategy steps for a particular cloud

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

cloud_name

body

string

The name of a subcloud.

This operation does not accept a request body.

Response parameters

Name

In

Type

Description

id (Optional)

body

integer

The ID of the strategy step.

cloud

body

string

The name of a subcloud.

stage (Optional)

body

integer

The stage associated with the strategy step.

state (Optional)

body

string

The state of the strategy step.

details (Optional)

body

string

The details associated with the strategy step.

started-at

body

string

The time when the strategy_step finished.

finished-at

body

string

The time when the strategy_step finished.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

Response Example

{
    "started-at": null,
    "state": "initial",
    "details": "",
    "finished-at": null,
    "updated-at": null,
    "created-at": "2022-01-12 19:19:03.782236",
    "id": 3,
    "cloud": "subcloud1",
    "stage": 1
}

Subcloud Software Update Options

Subcloud Software Update Options are configurable.

GET
/v1.0/sw-update-options

Lists all sw-update options

This operation does not accept a request body.

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Response parameters

Name

In

Type

Description

sw-update-options (Optional)

body

array

The list of sw-update-options objects.

id (Optional)

body

integer

A numerical ID for sw-update-options. This ID is invalid.

name (Optional)

body

string

The name of the subcloud to which the sw update options apply.

alarm-restriction-type

body

string

Whether to allow update if subcloud alarms are present or not. Valid values are strict or relaxed.

default-instance-action

body

string

How instances should be handled. Valid values are stop-start or migrate.

max-parallel-workers

body

integer

The maximum number of workers within a subcloud to update in parallel.

storage-apply-type

body

string

The apply type for the update on storage nodes in a subcloud. Valid values are: serial or parallel.

subcloud-id

body

integer

The ID of a subcloud as an integer.

worker-apply-type

body

string

The apply type for the update on worker nodes in a subcloud. Valid values are: serial or parallel.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

Response Example

{
  "sw-update-options": [
    {
      "worker-apply-type": "parallel",
      "name": "all clouds default",
      "default-instance-action": "migrate",
      "created-at": null,
      "subcloud-id": null,
      "updated-at": null,
      "max-parallel-workers": 10,
      "id": 1,
      "alarm-restriction-type": "relaxed",
      "storage-apply-type": "parallel"
    },
    {
      "worker-apply-type": "parallel",
      "name": "subcloud1",
      "default-instance-action": "migrate",
      "created-at": "2022-01-13 15:10:37.713254",
      "subcloud-id": 4,
      "updated-at": null,
      "max-parallel-workers": 2,
      "id": 1,
      "alarm-restriction-type": "strict",
      "storage-apply-type": "parallel"
    }
  ]
}
GET
/v1.0/sw-update-options/​{subcloud}

Shows sw-update options (defaults or per subcloud). Use

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud

path

string

The name of the subcloud to which the options apply. Use RegionOne for querying the default.

This operation does not accept a request body.

Response parameters

Name

In

Type

Description

id (Optional)

body

integer

A numerical ID for sw-update-options. This ID is invalid.

name (Optional)

body

string

The name of the subcloud to which the sw update options apply.

alarm-restriction-type

body

string

Whether to allow update if subcloud alarms are present or not. Valid values are strict or relaxed.

default-instance-action

body

string

How instances should be handled. Valid values are stop-start or migrate.

max-parallel-workers

body

integer

The maximum number of workers within a subcloud to update in parallel.

storage-apply-type

body

string

The apply type for the update on storage nodes in a subcloud. Valid values are: serial or parallel.

subcloud-id (Optional)

body

integer

The id of the subcloud (will be 0 for: all clouds default).

worker-apply-type

body

string

The apply type for the update on worker nodes in a subcloud. Valid values are: serial or parallel.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

Response Example

{
  "id": 1,
  "name": "all clouds default",
  "subcloud-id": null,
  "worker-apply-type": "parallel",
  "default-instance-action": "migrate",
  "created-at": null,
  "updated-at": null,
  "max-parallel-workers": 10,
  "alarm-restriction-type": "relaxed",
  "storage-apply-type": "parallel"
}
POST
/v1.0/sw-update-options/​{subcloud}

Updates sw-update options, defaults or per subcloud. Use

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

subcloud

path

string

The name of the subcloud to which the options apply. Use RegionOne for querying the default.

alarm-restriction-type

body

string

Whether to allow update if subcloud alarms are present or not. Valid values are strict or relaxed.

default-instance-action

body

string

How instances should be handled. Valid values are stop-start or migrate.

max-parallel-workers

body

integer

The maximum number of workers within a subcloud to update in parallel.

storage-apply-type

body

string

The apply type for the update on storage nodes in a subcloud. Valid values are: serial or parallel.

worker-apply-type

body

string

The apply type for the update on worker nodes in a subcloud. Valid values are: serial or parallel.

Request Example

{
  "alarm-restriction-type": "strict",
  "default-instance-action": "migrate",
  "max-parallel-workers": 2,
  "storage-apply-type": "parallel",
  "worker-apply-type": "parallel"
}

Response parameters

Name

In

Type

Description

id (Optional)

body

integer

A numerical ID for sw-update-options. This ID is invalid.

name (Optional)

body

string

The name of the subcloud to which the sw update options apply.

alarm-restriction-type

body

string

Whether to allow update if subcloud alarms are present or not. Valid values are strict or relaxed.

default-instance-action

body

string

How instances should be handled. Valid values are stop-start or migrate.

max-parallel-workers

body

integer

The maximum number of workers within a subcloud to update in parallel.

storage-apply-type

body

string

The apply type for the update on storage nodes in a subcloud. Valid values are: serial or parallel.

subcloud-id (Optional)

body

integer

The id of the subcloud (will be 0 for: all clouds default).

worker-apply-type

body

string

The apply type for the update on worker nodes in a subcloud. Valid values are: serial or parallel.

created-at

body

string

The time when the object was created.

updated-at

body

string

The time when the object was updated.

Response Example

{
  "id": 1,
  "worker-apply-type": "parallel",
  "name": "subcloud1",
  "default-instance-action": "migrate",
  "created-at": "2022-01-13 15:10:37.713254",
  "subcloud-id": 4,
  "updated-at": null,
  "max-parallel-workers": 2,
  "alarm-restriction-type": "strict",
  "storage-apply-type": "parallel"
}
DELETE
/v1.0/sw-update-options/​{subcloud}

Delete per subcloud sw-update options

This operation does not accept a request body.

Normal response codes

200

Request parameters

Name

In

Type

Description

subcloud

path

string

The name of the subcloud to which the options apply. Use RegionOne for querying the default.

Subcloud Deploy

These APIs allow for the display and upload of the deployment manager common files which include deploy playbook, deploy overrides, deploy helm charts, and prestage images list.

GET
/v1.0/subcloud-deploy/​{release}

Show Subcloud Deploy Files

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

release (Optional)

path

string

The subcloud software version.

This operation does not accept a request body.

Response parameters

Name

In

Type

Description

subcloud_deploy (Optional)

body

dictionary

The dictionary of subcloud deploy files.

deploy_chart (Optional)

body

string

The file name of the deployment manager helm charts.

deploy_playbook (Optional)

body

string

The file name of the deployment manager playbook.

deploy_overrides (Optional)

body

string

The file name of the deployment manager overrides.

prestage_images (Optional)

body

string

The file name of the deployment manager prestage images.

software_version

body

string

The software version for the subcloud.

Response Example

{
    "subcloud_deploy":
       {
         "deploy_chart": "deployment-manager.tgz",
         "deploy_playbook": "deployment-manager-playbook.yaml",
         "deploy_overrides": "deployment-manager-overrides-subcloud.yaml",
         "software_version": "22.12"
       }
}
POST
/v1.0/subcloud-deploy

Upload Subcloud Deploy Files

Accepts Content-Type multipart/form-data.

Normal response codes

200

Error response codes

badRequest (400), unauthorized (401), forbidden (403), badMethod (405), HTTPUnprocessableEntity (422), internalServerError (500), serviceUnavailable (503)

Request parameters

Name

In

Type

Description

deploy_chart (Optional)

body

string

The content of the deployment manager helm charts.

deploy_playbook (Optional)

body

string

The content of the deployment manager playbook.

deploy_overrides (Optional)

body

string

The content of the deployment manager overrides.

prestage_images (Optional)

body

string

The content of the deployment manager prestage images.

release (Optional)

body

string

The subcloud software version.

Request Example

{
    "deploy_chart": "deployment manager contents",
    "deploy_playbook": "deployment manager playbook contents",
    "deploy_overrides": "deployment manager overrides contents",
    "release": "22.12"
}

Response parameters

Name

In

Type

Description

deploy_chart (Optional)

body

string

The file name of the deployment manager helm charts.

deploy_playbook (Optional)

body

string

The file name of the deployment manager playbook.

deploy_overrides (Optional)

body

string

The file name of the deployment manager overrides.

prestage_images (Optional)

body

string

The file name of the deployment manager prestage images.

software_version

body

string

The software version for the subcloud.

Response Example

{
    "deploy_chart": "deployment-manager.tgz",
    "deploy_playbook": "deployment-manager-playbook.yaml",
    "deploy_overrides": "deployment-manager-overrides-subcloud.yaml",
    "software_version": "22.12"
}