From a9fab3e39662805f74cb09f10a22085618fffd25 Mon Sep 17 00:00:00 2001 From: Andre Carneiro Date: Tue, 25 Oct 2022 12:17:58 -0300 Subject: [PATCH] Add API doc for subcloud-backup delete and restore Document the dcmanager subcloud-backup delete and restore API. Story: 2010116 Task: 46210 Signed-off-by: Andre Carneiro Change-Id: I2675dd555de9a5e89a6d78beda6f11846cc6f4ba --- api-ref/source/api-ref-dcmanager-v1.rst | 123 +++++++++++++++++- api-ref/source/parameters.yaml | 18 +++ ...on => subcloud-create-backup-request.json} | 0 ...n => subcloud-create-backup-response.json} | 1 + .../subcloud-delete-backup-request.json | 5 + .../subcloud-restore-backup-request.json | 10 ++ .../subcloud-restore-backup-response.json | 30 +++++ 7 files changed, 185 insertions(+), 2 deletions(-) rename api-ref/source/samples/subcloud-backup/{subcloud-post-backup-request.json => subcloud-create-backup-request.json} (100%) rename api-ref/source/samples/subcloud-backup/{subcloud-post-backup-response.json => subcloud-create-backup-response.json} (96%) create mode 100644 api-ref/source/samples/subcloud-backup/subcloud-delete-backup-request.json create mode 100644 api-ref/source/samples/subcloud-backup/subcloud-restore-backup-request.json create mode 100644 api-ref/source/samples/subcloud-backup/subcloud-restore-backup-response.json diff --git a/api-ref/source/api-ref-dcmanager-v1.rst b/api-ref/source/api-ref-dcmanager-v1.rst index 61204b4df..e5c9b22dd 100644 --- a/api-ref/source/api-ref-dcmanager-v1.rst +++ b/api-ref/source/api-ref-dcmanager-v1.rst @@ -74,6 +74,7 @@ Response - 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 @@ -213,6 +214,7 @@ This operation does not accept a request body. - 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 @@ -274,6 +276,7 @@ This operation does not accept a request body. - 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 @@ -352,6 +355,7 @@ Request Example - 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 @@ -424,6 +428,7 @@ Request Example - 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 @@ -495,6 +500,7 @@ Request Example - 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 @@ -565,6 +571,7 @@ Request Example - 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 @@ -827,6 +834,7 @@ This operation does not accept a request body. - 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 @@ -978,7 +986,7 @@ serviceUnavailable (503) Request Example ---------------- -.. literalinclude:: samples/subcloud-backup/subcloud-post-backup-request.json +.. literalinclude:: samples/subcloud-backup/subcloud-create-backup-request.json :language: json @@ -994,6 +1002,7 @@ Request Example - 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 @@ -1015,7 +1024,117 @@ Request Example Response Example ---------------- -.. literalinclude:: samples/subcloud-backup/subcloud-post-backup-response.json +.. literalinclude:: samples/subcloud-backup/subcloud-create-backup-response.json + :language: json + +*********************************************************************************** +Deletes subcloud backup files of a release for a given subcloud or subcloud group +*********************************************************************************** + +.. rest_method:: PATCH /v1.0/subcloud-backup/delete + +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** + +.. rest_parameters:: parameters.yaml + + - 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 +---------------- + +.. literalinclude:: samples/subcloud-backup/subcloud-delete-backup-request.json + :language: json + +*********************************************************************************** +Restores a subcloud or a subcloud group from a backup +*********************************************************************************** + +.. rest_method:: PATCH /v1.0/subcloud-backup/restore + +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** + +.. rest_parameters:: parameters.yaml + + - with_install: with_install + - 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 +---------------- + +.. literalinclude:: samples/subcloud-backup/subcloud-restore-backup-request.json + :language: json + + +**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 + - 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 +---------------- + +.. literalinclude:: samples/subcloud-backup/subcloud-restore-backup-response.json :language: json ---------------- diff --git a/api-ref/source/parameters.yaml b/api-ref/source/parameters.yaml index 101520840..44362a31f 100644 --- a/api-ref/source/parameters.yaml +++ b/api-ref/source/parameters.yaml @@ -1,5 +1,11 @@ --- # variables in path +backup_delete_release: + description: | + Backup release to be deleted (e.g. 22.12). + in: path + required: true + type: string subcloud_group_uri: description: | The subcloud group reference, name or id. @@ -75,6 +81,12 @@ backup_registry_images: in: body required: false type: boolean +backup_restore_values: + description: | + Content of a restore playbook overrides file. + in: body + required: false + type: string backup_status: description: | The backup status of the subcloud. @@ -177,6 +189,12 @@ endpoint_sync_status: in: body required: true type: list +error_description: + description: | + Description of the subcloud's error. + in: body + required: false + type: string external_oam_floating_address: description: | The external OAM Floating IP of the subcloud. diff --git a/api-ref/source/samples/subcloud-backup/subcloud-post-backup-request.json b/api-ref/source/samples/subcloud-backup/subcloud-create-backup-request.json similarity index 100% rename from api-ref/source/samples/subcloud-backup/subcloud-post-backup-request.json rename to api-ref/source/samples/subcloud-backup/subcloud-create-backup-request.json diff --git a/api-ref/source/samples/subcloud-backup/subcloud-post-backup-response.json b/api-ref/source/samples/subcloud-backup/subcloud-create-backup-response.json similarity index 96% rename from api-ref/source/samples/subcloud-backup/subcloud-post-backup-response.json rename to api-ref/source/samples/subcloud-backup/subcloud-create-backup-response.json index a1cd4ac1c..af25e74dd 100644 --- a/api-ref/source/samples/subcloud-backup/subcloud-post-backup-response.json +++ b/api-ref/source/samples/subcloud-backup/subcloud-create-backup-response.json @@ -11,6 +11,7 @@ }, "data_upgrade": null, "deploy-status": "pre-restore", + "error-description": "", "backup-status": "complete", "backup-datetime": "2022-07-08 11:23:58.132134", "description": "Ottawa Site", diff --git a/api-ref/source/samples/subcloud-backup/subcloud-delete-backup-request.json b/api-ref/source/samples/subcloud-backup/subcloud-delete-backup-request.json new file mode 100644 index 000000000..670c09595 --- /dev/null +++ b/api-ref/source/samples/subcloud-backup/subcloud-delete-backup-request.json @@ -0,0 +1,5 @@ +{ + "subcloud": 1, + "local_only": false, + "sysadmin_password": "XXXXXXX" +} diff --git a/api-ref/source/samples/subcloud-backup/subcloud-restore-backup-request.json b/api-ref/source/samples/subcloud-backup/subcloud-restore-backup-request.json new file mode 100644 index 000000000..9b689d4b7 --- /dev/null +++ b/api-ref/source/samples/subcloud-backup/subcloud-restore-backup-request.json @@ -0,0 +1,10 @@ +{ + "subcloud": 1, + "local_only": "false", + "registry_images": "false", + "with_install": "false", + "sysadmin_password": "XXXXXXX", + "restore_values": { + "backup_filename": "filename" + } +} \ No newline at end of file diff --git a/api-ref/source/samples/subcloud-backup/subcloud-restore-backup-response.json b/api-ref/source/samples/subcloud-backup/subcloud-restore-backup-response.json new file mode 100644 index 000000000..b1cc38773 --- /dev/null +++ b/api-ref/source/samples/subcloud-backup/subcloud-restore-backup-response.json @@ -0,0 +1,30 @@ +{ + "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" + } + ] +} \ No newline at end of file