cinder/api-ref/source/v3/os-services.inc

354 lines
7.4 KiB
ReStructuredText

.. -*- rst -*-
Services (os-services)
======================
Administrator only. Lists all Cinder services, enables or disables
a Cinder service, freeze or thaw the specified cinder-volume host,
failover a replicating cinder-volume host.
List All Cinder Services
~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v3/{project_id}/os-services
Lists all Cinder services. Provides details why any services
were disabled.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- host: host_query
- binary: binary_query
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- services: services
- binary: binary
- disabled_reason: disabled_reason_body
- host: host_name_body
- state: service_state_1
- status: service_status
- frozen: frozen
- updated_at: updated
- zone: availability_zone_3
- cluster: cluster
- replication_status: replication_status_1
- active_backend_id: active_backend_id
Response Example
----------------
.. literalinclude:: ./samples/services-list-response.json
:language: javascript
Disable a Cinder Service
~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{project_id}/os-services/disable
Disables a Cinder service. Specify the service by its host name
and binary name.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- host: host_query
- binary: binary_query
Request Example
---------------
.. literalinclude:: ./samples/services-disable-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- disabled: disabled_1
- status: service_status
- host: host_name_body
- service: service_key
- binary: binary
Response Example
----------------
.. literalinclude:: ./samples/services-disable-response.json
:language: javascript
Log Disabled Cinder Service Information
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{project_id}/os-services/disable-log-reason
Logs information to the Cinder service table about why a Cinder service was disabled.
Specify the service by its host name and binary name.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- binary: binary
- host: host_name_body
- disabled_reason: disabled_reason_body
Request Example
---------------
.. literalinclude:: ./samples/services-disable-log-request.json
:language: javascript
Response
--------
.. rest_parameters:: parameters.yaml
- disabled: disabled_1
- status: service_status
- host: host_name_body
- service: service_key
- binary: binary
- disabled_reason: disabled_reason_body
Response Example
----------------
.. literalinclude:: ./samples/services-disable-log-response.json
:language: javascript
Enable a Cinder Service
~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{project_id}/os-services/enable
Enables a Cinder service. Specify the service by its host name
and binary name.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- binary: binary
- host: host_name_body
Request Example
---------------
.. literalinclude:: ./samples/services-enable-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- disabled: disabled_1
- status: service_status
- host: host_name_body
- service: service_key
- binary: binary
- disabled_reason: disabled_reason_body
Response Example
----------------
.. literalinclude:: ./samples/services-enable-response.json
:language: javascript
Get Current Log Levels for Cinder Services
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{project_id}/os-services/get-log
Get current log levels for services, supported since v3.32. Filter the
services by binary, server name and prefix for the log path.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- binary: binary_1
- server: host_name_body_1
- prefix: prefix
Request Example
---------------
.. literalinclude:: ./samples/services-get-log-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- log_levels: log_levels
- binary: binary
- host: host_name_body
- levels: levels
Response Example
----------------
.. literalinclude:: ./samples/services-get-log-response.json
:language: javascript
Set Log Levels of Cinder Services Dynamically
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{project_id}/os-services/set-log
Set log levels of services dynamically, supported since v3.32. Filter the
services by binary, server name and prefix for the log path.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- binary: binary_1
- server: host_name_body_1
- prefix: prefix
- levels: levels_1
Request Example
---------------
.. literalinclude:: ./samples/services-set-log-request.json
:language: javascript
Freeze a Cinder Backend Host
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{project_id}/os-services/freeze
Freeze and disable the specified cinder-volume host, and set
``Disabled Reason`` of Cinder service table to ``frozen``.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- host: host_name_body
Request Example
---------------
.. literalinclude:: ./samples/services-freeze-request.json
:language: javascript
Thaw a Cinder Backend Host
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{project_id}/os-services/thaw
Thaw and enable the specified cinder-volume host, and clean
``Disabled Reason`` of Cinder service table.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- host: host_name_body
Request Example
---------------
.. literalinclude:: ./samples/services-thaw-request.json
:language: javascript
Failover a Cinder Backend Host
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{project_id}/os-services/failover_host
Failover a replicating cinder-volume host. Since Cinder Volume API Version
3.26, you can use ``failover`` in request URL instead of ``failover_host``,
and the cluster name in request body is supported.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403),
itemNotFound(404)
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- host: host_name_body
- backend_id: backend_id
- cluster: cluster
Request Example
---------------
.. literalinclude:: ./samples/services-failover-host-request.json
:language: javascript