e3b0edbbe3
Corrects the error status responses for os-servers-admin Part of bp:api-ref-in-rst Change-Id: I3385834ed13104b49fbc4d2a566f9553da046c4b
216 lines
6.5 KiB
ReStructuredText
216 lines
6.5 KiB
ReStructuredText
.. -*- rst -*-
|
|
.. needs:parameter_verification
|
|
.. needs:example_verification
|
|
.. needs:body_verification
|
|
|
|
==========================================================
|
|
Servers - run an administrative action (servers, action)
|
|
==========================================================
|
|
|
|
Enables administrators to perform an action on a server. Specify the
|
|
action in the request body.
|
|
|
|
You can change the administrative password for, create a back up of, and
|
|
inject network information into a server.
|
|
|
|
You can migrate, live-migrate, reset networking on, and reset the state
|
|
of a server.
|
|
|
|
Create Server Back Up (Createbackup Action)
|
|
===========================================
|
|
|
|
.. rest_method:: POST /v2.1/{tenant_id}/servers/{server_id}/action
|
|
|
|
Creates a back up of a server.
|
|
|
|
Specify the ``createBackup`` action in the request body.
|
|
|
|
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the ``policy.json`` file.
|
|
|
|
Normal response codes: 202
|
|
|
|
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- server_id: server_id
|
|
- createBackup: createBackup
|
|
|
|
**Example Create Server Back Up (Createbackup Action): JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-create-backup/create-backup-req.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
Inject Network Information (Injectnetworkinfo Action)
|
|
=====================================================
|
|
|
|
.. rest_method:: POST /v2.1/{tenant_id}/servers/{server_id}/action
|
|
|
|
Injects network information into a server.
|
|
|
|
Specify the ``injectNetworkInfo`` action in the request body.
|
|
|
|
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the ``policy.json`` file.
|
|
|
|
Normal response codes: 202
|
|
|
|
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- server_id: server_id
|
|
- injectNetworkInfo: injectNetworkInfo
|
|
|
|
**Example Inject Network Information (Injectnetworkinfo Action): JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-admin-actions/admin-actions-inject-network-info.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
Migrate Server (Migrate Action)
|
|
===============================
|
|
|
|
.. rest_method:: POST /v2.1/{tenant_id}/servers/{server_id}/action
|
|
|
|
Migrates a server to a host. The scheduler chooses the host.
|
|
|
|
Specify the ``migrate`` action in the request body.
|
|
|
|
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the ``policy.json`` file.
|
|
|
|
Normal response codes: 202
|
|
|
|
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- server_id: server_id
|
|
- migrate: migrate
|
|
|
|
**Example Migrate Server (Migrate Action): JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-migrate-server/migrate-server.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
Live-Migrate Server (Os-Migratelive Action)
|
|
===========================================
|
|
|
|
.. rest_method:: POST /v2.1/{tenant_id}/servers/{server_id}/action
|
|
|
|
Live-migrates a server to a new host without rebooting.
|
|
|
|
Use the ``host`` parameter to specify the destination host. If you omit this parameter, the scheduler chooses a host. If a scheduled host is not suitable, the scheduler tries up to ``migrate_max_retries`` rescheduling attempts.
|
|
|
|
If both source and destination hosts provide local disks, you can set the ``block_migration`` parameter to ``true``. If either host uses shared storage, the migration fails if you set this parameter to ``true``.
|
|
|
|
Policy defaults enable only users with the administrative role to perform this operation. Cloud providers can change these permissions through the ``policy.json`` file.
|
|
|
|
Normal response codes: 202
|
|
|
|
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- server_id: server_id
|
|
- host: host_migration
|
|
- block_migration: block_migration
|
|
- disk_over_commit: disk_over_commit
|
|
|
|
**Example Live-Migrate Server (Os-Migratelive Action): JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-migrate-server/live-migrate-server.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
Reset Networking On A Server (Resetnetwork Action)
|
|
==================================================
|
|
|
|
.. rest_method:: POST /v2.1/{tenant_id}/servers/{server_id}/action
|
|
|
|
Resets networking on a server.
|
|
|
|
Specify the ``resetNetwork`` action in the request body.
|
|
|
|
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the ``policy.json`` file.
|
|
|
|
Normal response codes: 202
|
|
|
|
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- server_id: server_id
|
|
- resetNetwork: resetNetwork
|
|
|
|
**Example Reset Networking On A Server (Resetnetwork Action): JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-admin-actions/admin-actions-reset-network.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
Reset Server State (Os-Resetstate Action)
|
|
=========================================
|
|
|
|
.. rest_method:: POST /v2.1/{tenant_id}/servers/{server_id}/action
|
|
|
|
Resets the state of a server.
|
|
|
|
Specify the ``os-resetState`` action and the ``state`` in the request body.
|
|
|
|
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the ``policy.json`` file.
|
|
|
|
Normal response codes: 202
|
|
|
|
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
|
|
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- server_id: server_id
|
|
- os-resetState: os-resetState
|
|
|
|
**Example Reset Server State (Os-Resetstate Action): JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-admin-actions/admin-actions-reset-server-state.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|