distcloud/api-ref/source/api-ref-dcmanager-v1.rst
BoYuan Chang 0d05b33719 Support subcloud deploy upload prestaging images
Modify the existing REST API to upload the prestaging images list
to system controller

Test Cases Completed on local VM as well as DC Lab

a. (Passed) With all 4 variables
b. (Passed) With only --prestage-images
c. (Passed) With all other variables expect for --prestage-images
d. (Passed) With 1 or 2 missing varibles when --prestage-images is present
e. (Passed) With 1 or multiple invalid directory path

REST APIs:
curl -X POST -H "X-Auth-Token: $TOKEN" $APIURL/subcloud-deploy \
-F deploy_playbook=@<full path of the playbook name> \
-F deploy_overrides=@<full path of the override file name> \
-F deploy_chart=@full path of the helm chart name> \
-F prestage_images=@<full path of the prestage image name>

CLI:
dcmanager subcloud-deploy upload \
--deploy-playbook <full path of the playbook name> \ <- Existing
--deploy-chart <full path of the override file name> \ <- Existing
--deploy-overrides <full path of the override file name> <- Existing
--prestage-images <full path of the override file name> <- Added

Story: 2009799
Task: 44342

Change-Id: I75d4ac0931d2a37ceb68281a2ab6137ee2459e99
2022-01-31 15:10:50 -05:00

1522 lines
39 KiB
ReStructuredText
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

====================================================
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
****************************************************
.. rest_method:: GET /
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
----------------
.. literalinclude:: samples/root-get-response.json
:language: json
----------
Subclouds
----------
Subclouds are systems managed by a central System Controller.
*********************
Lists all subclouds
*********************
.. rest_method:: GET /v1.0/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
--------
.. rest_parameters:: parameters.yaml
- 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
- deploy-status: deploy_status
- 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
----------------
.. literalinclude:: samples/subclouds/subclouds-get-response.json
:language: json
********************
Creates a subcloud
********************
.. rest_method:: POST /v1.0/subclouds
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**
.. rest_parameters:: parameters.yaml
- 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
- sysadmin_password: sysadmin_password
- systemcontroller_gateway_address: systemcontroller_gateway_ip
- system_mode: system_mode
Request Example
----------------
.. literalinclude:: samples/subclouds/subclouds-post-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/subclouds/subclouds-post-response.json
:language: json
*********************************************
Shows information about a specific subcloud
*********************************************
.. rest_method:: GET /v1.0/subclouds/{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**
.. rest_parameters:: parameters.yaml
- subcloud: subcloud_uri
This operation does not accept a request body.
**Response parameters**
.. rest_parameters:: parameters.yaml
- id: subcloud_id
- group_id: group_id
- name: subcloud_name
- description: subcloud_description
- location: subcloud_location
- software-version: software_version
- availability-status: availability_status
- deploy-status: deploy_status
- 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
----------------
.. literalinclude:: samples/subclouds/subcloud-get-response.json
:language: json
********************************************************
Shows additional information about a specific subcloud
********************************************************
.. rest_method:: GET /v1.0/subclouds/{subcloud}/detail
**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**
.. rest_parameters:: parameters.yaml
- subcloud: subcloud_uri
This operation does not accept a request body.
**Response parameters**
.. rest_parameters:: parameters.yaml
- id: subcloud_id
- group_id: group_id
- name: subcloud_name
- description: subcloud_description
- location: subcloud_location
- software-version: software_version
- availability-status: availability_status
- deploy-status: deploy_status
- 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
----------------
.. literalinclude:: samples/subclouds/subcloud-get-detail-response.json
:language: json
******************************
Modifies a specific subcloud
******************************
.. rest_method:: PATCH /v1.0/subclouds/{subcloud}
The attributes of a subcloud which are modifiable:
- description
- location
- management-state
- group_id
**Normal response codes**
200
**Error response codes**
badRequest (400), unauthorized (401), forbidden (403), badMethod (405),
HTTPUnprocessableEntity (422), internalServerError (500),
serviceUnavailable (503)
**Request parameters**
.. rest_parameters:: parameters.yaml
- subcloud: subcloud_uri
- description: subcloud_description
- location: subcloud_location
- management-state: subcloud_management_state
- group_id: subcloud_group_id
Request Example
----------------
.. literalinclude:: samples/subclouds/subcloud-patch-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- id: subcloud_id
- group_id: group_id
- name: subcloud_name
- description: subcloud_description
- location: subcloud_location
- software-version: software_version
- availability-status: availability_status
- deploy-status: deploy_status
- 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
----------------
.. literalinclude:: samples/subclouds/subcloud-patch-response.json
:language: json
**********************************
Reconfigures a specific subcloud
**********************************
.. rest_method:: PATCH /v1.0/subclouds/{subcloud}/reconfigure
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**
.. rest_parameters:: parameters.yaml
- subcloud: subcloud_uri
- deploy_config: deploy_config
- sysadmin_password: sysadmin_password
Accepts Content-Type multipart/form-data
Request Example
----------------
.. literalinclude:: samples/subclouds/subcloud-patch-reconfigure-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- id: subcloud_id
- group_id: group_id
- name: subcloud_name
- description: subcloud_description
- location: subcloud_location
- software-version: software_version
- availability-status: availability_status
- deploy-status: deploy_status
- 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
----------------
.. literalinclude:: samples/subclouds/subcloud-patch-reconfigure-response.json
:language: json
********************************
Reinstalls a specific subcloud
********************************
.. rest_method:: PATCH /v1.0/subclouds/{subcloud}/reinstall
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**
.. rest_parameters:: parameters.yaml
- subcloud: subcloud_uri
- bootstrap_values: bootstrap_values
- deploy_config: deploy_config
- sysadmin_password: sysadmin_password
Request Example
----------------
.. literalinclude:: samples/subclouds/subcloud-patch-reinstall-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- id: subcloud_id
- group_id: group_id
- name: subcloud_name
- description: subcloud_description
- location: subcloud_location
- software-version: software_version
- availability-status: availability_status
- deploy-status: deploy_status
- 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
----------------
.. literalinclude:: samples/subclouds/subcloud-patch-reinstall-response.json
:language: json
********************************************************
Restores a specific subcloud from platform backup data
********************************************************
.. rest_method:: PATCH /v1.0/subclouds/{subcloud}/restore
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**
.. rest_parameters:: parameters.yaml
- subcloud: subcloud_uri
- restore_values: restore_values
- sysadmin_password: sysadmin_password
- with_install: with_install
Request Example
----------------
.. literalinclude:: samples/subclouds/subcloud-patch-restore-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- id: subcloud_id
- group_id: group_id
- name: subcloud_name
- description: subcloud_description
- location: subcloud_location
- software-version: software_version
- availability-status: availability_status
- deploy-status: deploy_status
- 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
----------------
.. literalinclude:: samples/subclouds/subcloud-patch-restore-response.json
:language: json
*****************************************
Update the status of a specific subcloud
*****************************************
.. rest_method:: PATCH /v1.0/subclouds/{subcloud}/update_status
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**
.. rest_parameters:: parameters.yaml
- subcloud: subcloud_uri
- endpoint: subcloud_endpoint
- status: subcloud_endpoint_status
Request Example
----------------
.. literalinclude:: samples/subclouds/subcloud-patch-update_status-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- result: subcloud_endpoint_update_result
Response Example
----------------
.. literalinclude:: samples/subclouds/subcloud-patch-update_status-response.json
:language: json
*****************************
Deletes a specific subcloud
*****************************
.. rest_method:: DELETE /v1.0/subclouds/{subcloud}
**Normal response codes**
200
**Request parameters**
.. rest_parameters:: parameters.yaml
- 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
***************************
.. rest_method:: GET /v1.0/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**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/subcloud-groups/subcloud-groups-get-response.json
:language: json
**************************
Creates a subcloud group
**************************
.. rest_method:: POST /v1.0/subcloud-groups
**Normal response codes**
200
**Error response codes**
badRequest (400), unauthorized (401), forbidden (403), badMethod (405),
HTTPUnprocessableEntity (422), internalServerError (500),
serviceUnavailable (503)
**Request parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/subcloud-groups/subcloud-groups-post-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/subcloud-groups/subcloud-groups-post-response.json
:language: json
***************************************************
Shows information about a specific subcloud group
***************************************************
.. rest_method:: GET /v1.0/subcloud-groups/{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**
.. rest_parameters:: parameters.yaml
- subcloud-group: subcloud_group_uri
This operation does not accept a request body.
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/subcloud-groups/subcloud-groups-post-response.json
:language: json
***************************************************
Shows subclouds that are part of a subcloud group
***************************************************
.. rest_method:: GET /v1.0/subcloud-groups/{subcloud-group}/subclouds
**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**
.. rest_parameters:: parameters.yaml
- subcloud-group: subcloud_group_uri
This operation does not accept a request body.
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
- deploy-status: deploy_status
- 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
----------------
.. literalinclude:: samples/subcloud-groups/subcloud-groups-get-subclouds-response.json
:language: json
************************************
Modifies a specific subcloud group
************************************
.. rest_method:: PATCH /v1.0/subcloud-groups/{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**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/subcloud-groups/subcloud-group-patch-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/subcloud-groups/subcloud-group-patch-response.json
:language: json
***********************************
Deletes a specific subcloud group
***********************************
.. rest_method:: DELETE /v1.0/subcloud-groups/{subcloud-group}
**Normal response codes**
204
**Error response codes**
badRequest (400), unauthorized (401), forbidden (403),
itemNotFound (404), badMethod (405), HTTPUnprocessableEntity (422),
internalServerError (500), serviceUnavailable (503)
**Request parameters**
.. rest_parameters:: parameters.yaml
- subcloud-group: subcloud_group_uri
This operation does not accept a request body.
----------------
Subcloud Alarms
----------------
Subcloud alarms are aggregated on the System Controller.
**************************************
Summarizes alarms from all subclouds
**************************************
.. rest_method:: GET /v1.0/alarms
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**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/alarms/alarms-get-response.json
:language: json
------------------------
Subcloud Update Strategy
------------------------
The Subcloud update strategy is configurable.
*****************************************
Shows the details of the update strategy
*****************************************
.. rest_method:: GET /v1.0/sw-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**
.. rest_parameters:: parameters.yaml
- type: sw_update_strategy_type
This operation does not accept a request body.
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/sw-update-strategy/sw-update-strategy-get-response.json
:language: json
****************************
Creates the update strategy
****************************
.. rest_method:: POST /v1.0/sw-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**
.. rest_parameters:: parameters.yaml
- 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
Request Example
----------------
.. literalinclude:: samples/sw-update-strategy/sw-update-strategy-post-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/sw-update-strategy/sw-update-strategy-post-response.json
:language: json
***************************
Deletes the update strategy
***************************
.. rest_method:: DELETE /v1.0/sw-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**
.. rest_parameters:: parameters.yaml
- type: sw_update_strategy_type
This operation does not accept a request body.
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/sw-update-strategy/sw-update-strategy-delete-response.json
:language: json
--------------------------------
Subcloud Update Strategy Actions
--------------------------------
Subcloud patch strategy can be actioned.
****************************************
Executes an action on a patch strategy
****************************************
.. rest_method:: POST /v1.0/sw-update-strategy/actions
**Normal response codes**
200
**Error response codes**
badRequest (400), unauthorized (401), forbidden (403), badMethod (405),
HTTPUnprocessableEntity (422), internalServerError (500),
serviceUnavailable (503)
**Request parameters**
.. rest_parameters:: parameters.yaml
- type: sw_update_strategy_type
- action: sw_update_strategy_action
Request Example
----------------
.. literalinclude:: samples/sw-update-strategy/sw-update-strategy-post-action-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/sw-update-strategy/sw-update-strategy-post-action-response.json
:language: json
---------------------------------------
Subcloud Software Update Strategy Steps
---------------------------------------
Subcloud patch strategy steps can be retrieved.
*******************************************************
Lists all software update strategy steps for all clouds
*******************************************************
.. rest_method:: GET /v1.0/sw-update-strategy/steps
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**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/sw-update-strategy/sw-update-strategy-get-steps-response.json
:language: json
******************************************************************
Shows the details of patch strategy steps for a particular cloud
******************************************************************
.. rest_method:: GET /v1.0/sw-update-strategy/steps/{cloud_name}
**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**
.. rest_parameters:: parameters.yaml
- cloud_name: subcloud_name
This operation does not accept a request body.
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/sw-update-strategy/sw-update-strategy-get-step-subcloud-response.json
:language: json
--------------------------------
Subcloud Software Update Options
--------------------------------
Subcloud Software Update Options are configurable.
***************************
Lists all sw-update options
***************************
.. rest_method:: GET /v1.0/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**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/sw-update-options/sw-update-options-get-response.json
:language: json
******************************************************************************************************************************
Shows sw-update options (defaults or per subcloud). Use ``RegionOne`` as subcloud for default options which are pre-configured
******************************************************************************************************************************
.. rest_method:: GET /v1.0/sw-update-options/{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**
.. rest_parameters:: parameters.yaml
- subcloud: subcloud_options_uri
This operation does not accept a request body.
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/sw-update-options/sw-update-options-get-one-response.json
:language: json
******************************************************************************************************
Updates sw-update options, defaults or per subcloud. Use ``RegionOne`` as subcloud for default options
******************************************************************************************************
.. rest_method:: POST /v1.0/sw-update-options/{subcloud}
**Normal response codes**
200
**Error response codes**
badRequest (400), unauthorized (401), forbidden (403), badMethod (405),
HTTPUnprocessableEntity (422), internalServerError (500),
serviceUnavailable (503)
**Request parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/sw-update-options/sw-update-options-post-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- 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
----------------
.. literalinclude:: samples/sw-update-options/sw-update-options-post-response.json
:language: json
*************************************
Delete per subcloud sw-update options
*************************************
.. rest_method:: DELETE /v1.0/sw-update-options/{subcloud}
This operation does not accept a request body.
**Normal response codes**
200
**Request parameters**
.. rest_parameters:: parameters.yaml
- 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
**************************
.. rest_method:: GET /v1.0/subcloud-deploy
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**
.. rest_parameters:: parameters.yaml
- 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
Response Example
----------------
.. literalinclude:: samples/subcloud-deploy/subcloud-deploy-get-response.json
:language: json
****************************
Upload Subcloud Deploy Files
****************************
.. rest_method:: POST /v1.0/subcloud-deploy
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**
.. rest_parameters:: parameters.yaml
- 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
Request Example
----------------
.. literalinclude:: samples/subcloud-deploy/subcloud-deploy-post-request.json
:language: json
**Response parameters**
.. rest_parameters:: parameters.yaml
- deploy_chart: subcloud_deploy_chart
- deploy_playbook: subcloud_deploy_playbook
- deploy_overrides: subcloud_deploy_overrides
- prestage_images: subcloud_deploy_prestage_images
Response Example
----------------
.. literalinclude:: samples/subcloud-deploy/subcloud-deploy-post-response.json
:language: json