Files
distcloud/api-ref/source/api-ref-dcmanager-v1.rst
Victor Romano adc8e48ac9 Add subcloud deploy resume option to dcmanager
This commit adds the command "subcloud deploy resume" to dcmanager.
It will resume subcloud deployment based on current subcloud deploy
state. All parameters except sysadmin-password are optional if they
were already provided in previous phases. Since install and config
are both optional phases, they will only be executed if respective
parameters are/have been provided.

Test Plan:
  These options will be referenced on the test cases as the values
  already present on the system controller before the resume operation
  or the values passed to it's command:
  [1] All values (install_values, bootstrap_values, deploy_config)
  [2] Only install_values and bootstrap_values
  [3] Only bootstrap_values
  [4] Only deploy_config
  Success cases:
    - PASS: Resume from create-complete previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from create-complete previously having [2] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'bootstrap-complete'.
    - PASS: Resume from create-complete previously having [3] without
            passing any new parameter and manually installing the
            subcloud and verify that it's deploy state is
            'bootstrap-complete'.
    - PASS: Resume from create-complete previously having [1] passing
            a previous release (21.12) and verify that the subcloud's
            deploy state is 'complete' and the installed load is
            correct.

    - PASS: Resume from install-complete previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from install-complete previously having [2] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'bootstrap-complete'.
    - PASS: Resume from install-complete previously having [3] without
            passing any new parameter and verify that it's deploy state
            is 'bootstrap-complete'.
    - PASS: Resume from install-failed previously having [1] passing
            new install_values and verify that the subcloud's deploy
            state is 'complete' and the installation used new values.
    - PASS: Resume from install-failed previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from install-aborted previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.

    - PASS: Resume from bootstrap-complete previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from bootstrap-complete previously having [3] and
            passing [4] and verify that the subcloud's deploy state
            is 'complete'.
    - PASS: Resume from bootstrap-failed previously having [1] passing
            new bootstrap_values and verify that the subcloud's deploy
            state is 'complete' and the bootstrap used new values.
    - PASS: Resume from bootstrap-failed previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from bootstrap-aborted previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.

    - PASS: Resume from config-failed previously having [1] passing
            new deploy_config file and verify that the subcloud's deploy
            state is 'complete' and the config used new values.
    - PASS: Resume from config-failed previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from config-aborted previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.

    - PASS: Repeat previous tests but directly call the API (using
            CURL) instead of using the CLI.

  Failure cases:
  - PASS: Verify that it's not possible to resume deployment if the
          deploy state is not one of the following:
          - create-complete
          - install-complete
          - pre-install-failed
          - install-failed
          - install-aborted
          - bootstrap-complete
          - pre-bootstrap-failed
          - bootstrap-failed
          - bootstrap-aborted
          - pre-config-failed
          - config-failed
          - config-aborted
  - PASS: Call the API directly, passing bmc-password and/or
          sysadmin-password as plain text as opposed to b64encoded and
          verify that the response contains the correct error code
          and message.
  - PASS: Resume from bootstrap-complete previously having [2] and
          verify that the system alerts that the only remaining phase
          is config and there's no deploy-config file available

Story: 2010756
Task: 48316

Change-Id: I81c0a226b3ede56628e21372b02748013c3f6b35
Signed-off-by: Victor Romano <victor.gluzromano@windriver.com>
2023-07-24 14:00:06 -03:00

58 KiB

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

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

samples/root-get-response.json

Subclouds

Subclouds are systems managed by a central System Controller.

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

  • subclouds: subclouds
  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/subclouds/subclouds-get-response.json

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

  • bmc_password: bmc_password
  • bootstrap-address: bootstrap_address
  • bootstrap_values: bootstrap_values
  • deploy_config: deploy_config
  • description: subcloud_description
  • external_oam_floating_address: external_oam_floating_address
  • external_oam_gateway_address: external_oam_gateway_address
  • external_oam_subnet: external_oam_subnet
  • group_id: group_id
  • install_values: install_values
  • location: subcloud_location
  • management_gateway_address: management_gateway_ip
  • management_end_ip: management_end_ip
  • management_start_address: management_start_ip
  • management_subnet: management_subnet
  • migrate: migrate
  • name: subcloud_name
  • release: release
  • sysadmin_password: sysadmin_password
  • systemcontroller_gateway_address: systemcontroller_gateway_ip
  • system_mode: system_mode

Request Example

samples/subclouds/subclouds-post-request.json

Response parameters

  • id: subcloud_id
  • name: subcloud_name
  • description: subcloud_description
  • management-start-ip: management_start_ip
  • created-at: created_at
  • updated-at: updated_at
  • software-version: software_version
  • management-state: management_state
  • availability-status: availability_status
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • location: subcloud_location
  • group_id: group_id
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip

Response Example

samples/subclouds/subclouds-post-response.json

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

  • subcloud: subcloud_uri

This operation does not accept a request body.

Response parameters

  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/subclouds/subcloud-get-response.json

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

  • subcloud: subcloud_uri

This operation does not accept a request body.

Response parameters

  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • oam_floating_ip: oam_floating_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/subclouds/subcloud-get-detail-response.json

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

  • subcloud: subcloud_uri
  • description: subcloud_description
  • location: subcloud_location
  • management-state: subcloud_management_state
  • group_id: subcloud_group_id
  • management-subnet: subcloud_management_subnet
  • management-gateway-ip: subcloud_management_gateway_ip
  • management-start-ip: subcloud_management_start_ip
  • management-end-ip: subcloud_management_end_ip
  • bootstrap-address: bootstrap_address
  • sysadmin-password: sysadmin_password

Request Example

samples/subclouds/subcloud-patch-request.json

Response parameters

  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/subclouds/subcloud-patch-response.json

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

  • subcloud: subcloud_uri
  • deploy_config: deploy_config
  • sysadmin_password: sysadmin_password

Accepts Content-Type multipart/form-data

Request Example

samples/subclouds/subcloud-patch-reconfigure-request.json

Response parameters

  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/subclouds/subcloud-patch-reconfigure-response.json

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

  • subcloud: subcloud_uri
  • bootstrap_values: bootstrap_values
  • deploy_config: deploy_config
  • release: release
  • sysadmin_password: sysadmin_password

Request Example

samples/subclouds/subcloud-patch-reinstall-request.json

Response parameters

  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/subclouds/subcloud-patch-reinstall-response.json

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

  • subcloud: subcloud_uri
  • release: release
  • sysadmin_password: sysadmin_password
  • force: force

Request Example

samples/subclouds/subcloud-patch-prestage-request.json

Response parameters

  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • prestage_software_version: prestage_software_version
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/subclouds/subcloud-patch-prestage-response.json

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

  • subcloud: subcloud_uri
  • endpoint: subcloud_endpoint
  • status: subcloud_endpoint_status

Request Example

samples/subclouds/subcloud-patch-update_status-request.json

Response parameters

  • result: subcloud_endpoint_update_result

Response Example

samples/subclouds/subcloud-patch-update_status-response.json

Deletes a specific subcloud

Normal response codes

200

Request parameters

  • subcloud: subcloud_uri

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.

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

  • subcloud_groups: subcloud_groups
  • id: subcloud_group_id
  • name: subcloud_group_name
  • description: subcloud_group_description
  • max_parallel_subclouds: subcloud_group_max_parallel_subclouds
  • update_apply_type: subcloud_group_update_apply_type
  • created_at: created_at
  • updated_at: updated_at

Response Example

samples/subcloud-groups/subcloud-groups-get-response.json

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: subcloud_group_name
  • description: subcloud_group_description
  • max_parallel_subclouds: subcloud_group_max_parallel_subclouds
  • update_apply_type: subcloud_group_update_apply_type

Request Example

samples/subcloud-groups/subcloud-groups-post-request.json

Response parameters

  • id: subcloud_group_id
  • name: subcloud_group_name
  • description: subcloud_group_description
  • max_parallel_subclouds: subcloud_group_max_parallel_subclouds
  • update_apply_type: subcloud_group_update_apply_type
  • created_at: created_at
  • updated_at: updated_at

Response Example

samples/subcloud-groups/subcloud-groups-post-response.json

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

  • subcloud-group: subcloud_group_uri

This operation does not accept a request body.

Response parameters

  • id: subcloud_group_id
  • name: subcloud_group_name
  • description: subcloud_group_description
  • max_parallel_subclouds: subcloud_group_max_parallel_subclouds
  • update_apply_type: subcloud_group_update_apply_type
  • created_at: created_at
  • updated_at: updated_at

Response Example

samples/subcloud-groups/subcloud-groups-post-response.json

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

  • subcloud-group: subcloud_group_uri

This operation does not accept a request body.

Response parameters

  • subclouds: subclouds
  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade

Response Example

samples/subcloud-groups/subcloud-groups-get-subclouds-response.json

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

  • subcloud-group: subcloud_group_uri
  • name: subcloud_group_name
  • description: subcloud_group_description
  • max_parallel_subclouds: subcloud_group_max_parallel_subclouds
  • update_apply_type: subcloud_group_update_apply_type

Request Example

samples/subcloud-groups/subcloud-group-patch-request.json

Response parameters

  • id: subcloud_group_id
  • name: subcloud_group_name
  • description: subcloud_group_description
  • max_parallel_subclouds: subcloud_group_max_parallel_subclouds
  • update_apply_type: subcloud_group_update_apply_type
  • created_at: created_at
  • updated_at: updated_at

Response Example

samples/subcloud-groups/subcloud-group-patch-response.json

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

  • subcloud-group: subcloud_group_uri

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.

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

  • subcloud: backup_subcloud_name_or_id
  • group: backup_subcloud_group_name_or_id
  • local_only: backup_local_only
  • registry_images: backup_registry_images
  • backup_values: backup_values
  • sysadmin_password: sysadmin_password

Request Example

samples/subcloud-backup/subcloud-create-backup-request.json

Response parameters

  • subclouds: subclouds
  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/subcloud-backup/subcloud-create-backup-response.json

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

  • release: backup_delete_release
  • subcloud: backup_subcloud_name_or_id
  • group: backup_subcloud_group_name_or_id
  • local_only: backup_local_only
  • sysadmin_password: sysadmin_password

Request Example

samples/subcloud-backup/subcloud-delete-backup-request.json

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

  • with_install: with_install
  • release: release
  • local_only: backup_local_only
  • registry_images: backup_registry_images
  • sysadmin_password: sysadmin_password
  • subcloud: backup_subcloud_name_or_id
  • group: backup_subcloud_group_name_or_id
  • restore_values: backup_restore_values

Request Example

samples/subcloud-backup/subcloud-restore-backup-request.json

Response parameters

  • subclouds: subclouds
  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/subcloud-backup/subcloud-restore-backup-response.json

Subcloud Alarms

Subcloud alarms are aggregated on the System Controller.

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

  • alarm_summary: alarm_summary
  • uuid: alarm_summary_uuid
  • region_name: region_name
  • cloud_status: cloud_status
  • warnings: warnings
  • critical_alarms: critical_alarms
  • major_alarms: major_alarms
  • minor_alarms: minor_alarms

Response Example

samples/alarms/alarms-get-response.json

Subcloud Update Strategy

The Subcloud update strategy is configurable.

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

  • type: sw_update_strategy_type

This operation does not accept a request body.

Response parameters

  • type: sw_update_strategy_type
  • id: sw_update_strategy_id
  • state: sw_update_strategy_state
  • extra-args: extra_args
  • stop-on-failure: stop_on_failure
  • subcloud-apply-type: subcloud_apply_type
  • max-parallel-subclouds: max_parallel_subclouds
  • created_at: created_at
  • updated_at: updated_at

Response Example

samples/sw-update-strategy/sw-update-strategy-get-response.json

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

  • cloud_name: subcloud_name
  • max-parallel-subclouds: max_parallel_subclouds
  • stop-on-failure: stop_on_failure
  • subcloud-apply-type: subcloud_apply_type
  • type: sw_update_strategy_type
  • upload-only: patch_strategy_upload_only

Request Example

samples/sw-update-strategy/sw-update-strategy-post-request.json

Response parameters

  • type: sw_update_strategy_type
  • id: sw_update_strategy_id
  • state: sw_update_strategy_state
  • extra-args: extra_args
  • stop-on-failure: stop_on_failure
  • subcloud-apply-type: subcloud_apply_type
  • max-parallel-subclouds: max_parallel_subclouds
  • created_at: created_at
  • updated_at: updated_at

Response Example

samples/sw-update-strategy/sw-update-strategy-post-response.json

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

  • type: sw_update_strategy_type

This operation does not accept a request body.

Response parameters

  • type: sw_update_strategy_type
  • id: sw_update_strategy_id
  • state: sw_update_strategy_state
  • extra-args: extra_args
  • stop-on-failure: stop_on_failure
  • subcloud-apply-type: subcloud_apply_type
  • max-parallel-subclouds: max_parallel_subclouds
  • created_at: created_at
  • updated_at: updated_at

Response Example

samples/sw-update-strategy/sw-update-strategy-delete-response.json

Subcloud Update Strategy Actions

Subcloud patch strategy can be actioned.

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

  • type: sw_update_strategy_type
  • action: sw_update_strategy_action

Request Example

samples/sw-update-strategy/sw-update-strategy-post-action-request.json

Response parameters

  • id: sw_update_strategy_id
  • type: sw_update_strategy_type
  • state: sw_update_strategy_state
  • extra-args: extra_args
  • stop-on-failure: stop_on_failure
  • subcloud-apply-type: subcloud_apply_type
  • max-parallel-subclouds: max_parallel_subclouds
  • created_at: created_at
  • updated_at: updated_at

Response Example

samples/sw-update-strategy/sw-update-strategy-post-action-response.json

Subcloud Software Update Strategy Steps

Subcloud patch strategy steps can be retrieved.

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

  • strategy-steps: strategy_steps
  • id: strategy_step_id
  • cloud: subcloud_name
  • stage: strategy_step_stage
  • state: strategy_step_state
  • details: strategy_step_details
  • started-at: strategy_step_started_at
  • finished-at: strategy_step_finished_at
  • created-at: created_at
  • updated-at: updated_at

Response Example

samples/sw-update-strategy/sw-update-strategy-get-steps-response.json

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

  • cloud_name: subcloud_name

This operation does not accept a request body.

Response parameters

  • id: strategy_step_id
  • cloud: subcloud_name
  • stage: strategy_step_stage
  • state: strategy_step_state
  • details: strategy_step_details
  • started-at: strategy_step_started_at
  • finished-at: strategy_step_finished_at
  • created-at: created_at
  • updated-at: updated_at

Response Example

samples/sw-update-strategy/sw-update-strategy-get-step-subcloud-response.json

Subcloud Software Update Options

Subcloud Software Update Options are configurable.

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

  • sw-update-options: sw_update_options
  • id: sw_update_options_id
  • name: sw_update_options_name
  • alarm-restriction-type: alarm_restriction_type
  • default-instance-action: default_instance_action
  • max-parallel-workers: max_parallel_workers
  • storage-apply-type: storage_apply_type
  • subcloud-id: subcloud_id
  • worker-apply-type: worker_apply_type
  • created-at: created_at
  • updated-at: updated_at

Response Example

samples/sw-update-options/sw-update-options-get-response.json

Shows sw-update options (defaults or per subcloud). Use RegionOne as subcloud for default options which are pre-configured

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

  • subcloud: subcloud_options_uri

This operation does not accept a request body.

Response parameters

  • id: sw_update_options_id
  • name: sw_update_options_name
  • alarm-restriction-type: alarm_restriction_type
  • default-instance-action: default_instance_action
  • max-parallel-workers: max_parallel_workers
  • storage-apply-type: storage_apply_type
  • subcloud-id: sw_update_options_subcloud_id
  • worker-apply-type: worker_apply_type
  • created-at: created_at
  • updated-at: updated_at

Response Example

samples/sw-update-options/sw-update-options-get-one-response.json

Updates sw-update options, defaults or per subcloud. Use RegionOne as subcloud for default options

Normal response codes

200

Error response codes

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

Request parameters

  • subcloud: subcloud_options_uri
  • alarm-restriction-type: alarm_restriction_type
  • default-instance-action: default_instance_action
  • max-parallel-workers: max_parallel_workers
  • storage-apply-type: storage_apply_type
  • worker-apply-type: worker_apply_type

Request Example

samples/sw-update-options/sw-update-options-post-request.json

Response parameters

  • id: sw_update_options_id
  • name: sw_update_options_name
  • alarm-restriction-type: alarm_restriction_type
  • default-instance-action: default_instance_action
  • max-parallel-workers: max_parallel_workers
  • storage-apply-type: storage_apply_type
  • subcloud-id: sw_update_options_subcloud_id
  • worker-apply-type: worker_apply_type
  • created-at: created_at
  • updated-at: updated_at

Response Example

samples/sw-update-options/sw-update-options-post-response.json

Delete per subcloud sw-update options

This operation does not accept a request body.

Normal response codes

200

Request parameters

  • subcloud: subcloud_options_uri

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.

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

  • release: release_uri

This operation does not accept a request body.

Response parameters

  • subcloud_deploy: subcloud_deploy
  • deploy_chart: subcloud_deploy_chart
  • deploy_playbook: subcloud_deploy_playbook
  • deploy_overrides: subcloud_deploy_overrides
  • prestage_images: subcloud_deploy_prestage_images
  • software_version: software_version

Response Example

samples/subcloud-deploy/subcloud-deploy-get-response.json

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

  • deploy_chart: subcloud_deploy_chart_content
  • deploy_playbook: subcloud_deploy_playbook_content
  • deploy_overrides: subcloud_deploy_overrides_content
  • prestage_images: subcloud_deploy_prestage_images_content
  • release: release

Request Example

samples/subcloud-deploy/subcloud-deploy-post-request.json

Response parameters

  • deploy_chart: subcloud_deploy_chart
  • deploy_playbook: subcloud_deploy_playbook
  • deploy_overrides: subcloud_deploy_overrides
  • prestage_images: subcloud_deploy_prestage_images
  • software_version: software_version

Response Example

samples/subcloud-deploy/subcloud-deploy-post-response.json

Phased Subcloud Deploy

These APIs allow for subcloud deployment to be done in phases.

Creates a subcloud

Accepts Content-Type multipart/form-data.

Normal response codes

200

Error response codes

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

Request parameters

  • bmc_password: bmc_password
  • bootstrap-address: bootstrap_address
  • bootstrap_values: bootstrap_values
  • deploy_config: deploy_config
  • description: subcloud_description
  • group_id: group_id
  • install_values: install_values
  • location: subcloud_location
  • release: release

Request Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-post-request.json

Response parameters

  • id: subcloud_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • management-state: management_state
  • availability-status: availability_status
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • error-description: error_description
  • management-subnet: management_subnet
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-gateway-ip: management_gateway_ip
  • openstack-installed: openstack_installed
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • data_install: data_install
  • data_upgrade: data_upgrade
  • created-at: created_at
  • updated-at: updated_at
  • group_id: group_id

Response Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-post-response.json

Bootstraps a subcloud

Accepts Content-Type multipart/form-data.

Normal response codes

200

Error response codes

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

Request parameters

  • bootstrap-address: bootstrap_address
  • bootstrap_values: bootstrap_values
  • sysadmin_password: sysadmin_password

Request Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-patch-bootstrap-request.json

Response parameters

  • id: subcloud_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • management-state: management_state
  • availability-status: availability_status
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • error-description: error_description
  • management-subnet: management_subnet
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-gateway-ip: management_gateway_ip
  • openstack-installed: openstack_installed
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • data_install: data_install
  • data_upgrade: data_upgrade
  • created-at: created_at
  • updated-at: updated_at
  • group_id: group_id

Response Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-post-response.json

Installs a subcloud

Normal response codes

200

Error response codes

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

Request parameters

  • subcloud: subcloud_uri
  • release: release
  • sysadmin_password: sysadmin_password
  • bmc_password: bmc_password

Accepts Content-Type multipart/form-data

Request Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-post-install-request.json

Response parameters

  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-post-install-response.json

Configures a 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

  • subcloud: subcloud_uri
  • deploy_config: deploy_config
  • sysadmin_password: sysadmin_password

Accepts Content-Type multipart/form-data

Request Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-patch-configure-request.json

Response parameters

  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-patch-configure-response.json

Abort subcloud deployment

Normal response codes

200

Error response codes

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

Request parameters

  • subcloud: subcloud_uri

Accepts Content-Type multipart/form-data

Request Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-patch-abort-request.json

Response parameters

  • id: subcloud_id
  • group_id: group_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • availability-status: availability_status
  • error-description: error_description
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • openstack-installed: openstack_installed
  • management-state: management_state
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-subnet: management_subnet
  • management-gateway-ip: management_gateway_ip
  • created-at: created_at
  • updated-at: updated_at
  • data_install: data_install
  • data_upgrade: data_upgrade
  • endpoint_sync_status: endpoint_sync_status
  • sync_status: sync_status
  • endpoint_type: sync_status_type

Response Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-patch-abort-response.json

Resume subcloud deployment

Accepts Content-Type multipart/form-data.

Normal response codes

200

Error response codes

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

Request parameters

  • bmc_password: bmc_password
  • bootstrap-address: bootstrap_address
  • bootstrap_values: bootstrap_values
  • deploy_config: deploy_config
  • install_values: install_values
  • release: release
  • sysadmin_password: sysadmin_password

Request Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-patch-resume-request.json

Response parameters

  • id: subcloud_id
  • name: subcloud_name
  • description: subcloud_description
  • location: subcloud_location
  • software-version: software_version
  • management-state: management_state
  • availability-status: availability_status
  • deploy-status: deploy_status
  • backup-status: backup_status
  • backup-datetime: backup_datetime
  • error-description: error_description
  • management-subnet: management_subnet
  • management-start-ip: management_start_ip
  • management-end-ip: management_end_ip
  • management-gateway-ip: management_gateway_ip
  • openstack-installed: openstack_installed
  • systemcontroller-gateway-ip: systemcontroller_gateway_ip
  • data_install: data_install
  • data_upgrade: data_upgrade
  • created-at: created_at
  • updated-at: updated_at
  • group_id: group_id

Response Example

samples/phased-subcloud-deploy/phased-subcloud-deploy-patch-resume-response.json