List, show, perform actions on and delete server migrations.
.. rest_method:: GET /servers/{server_id}/migrations
Lists in-progress live migrations for a given server.
Note
Microversion 2.23 or greater is required for this API.
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: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
.. rest_parameters:: parameters.yaml - server_id: server_id_path
.. rest_parameters:: parameters.yaml - migrations: migrations - created_at: created - dest_compute: migrate_dest_compute - dest_host: migrate_dest_host - dest_node: migrate_dest_node - disk_processed_bytes: migrate_disk_processed_bytes - disk_remaining_bytes: migrate_disk_remaining_bytes - disk_total_bytes: migrate_disk_total_bytes - id: migration_id - memory_processed_bytes: migrate_memory_processed_bytes - memory_remaining_bytes: migrate_memory_remaining_bytes - memory_total_bytes: migrate_memory_total_bytes - server_uuid: server_id - source_compute: migrate_source_compute - source_node: migrate_source_node - status: migrate_status - updated_at: updated - uuid: migration_uuid - user_id: user_id_migration_2_80 - project_id: project_id_migration_2_80
Example List Migrations (2.80)
.. literalinclude:: ../../doc/api_samples/server-migrations/v2.80/migrations-index.json :language: javascript
.. rest_method:: GET /servers/{server_id}/migrations/{migration_id}
Show details for an in-progress live migration for a given server.
Note
Microversion 2.23 or greater is required for this API.
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: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
.. rest_parameters:: parameters.yaml - server_id: server_id_path - migration_id: migration_id_path
.. rest_parameters:: parameters.yaml - migration: migration - created_at: created - dest_compute: migrate_dest_compute - dest_host: migrate_dest_host - dest_node: migrate_dest_node - disk_processed_bytes: migrate_disk_processed_bytes - disk_remaining_bytes: migrate_disk_remaining_bytes - disk_total_bytes: migrate_disk_total_bytes - id: migration_id - memory_processed_bytes: migrate_memory_processed_bytes - memory_remaining_bytes: migrate_memory_remaining_bytes - memory_total_bytes: migrate_memory_total_bytes - server_uuid: server_id - source_compute: migrate_source_compute - source_node: migrate_source_node - status: migrate_status - updated_at: updated - uuid: migration_uuid - user_id: user_id_migration_2_80 - project_id: project_id_migration_2_80
Example Show Migration Details (2.80)
.. literalinclude:: ../../doc/api_samples/server-migrations/v2.80/migrations-get.json :language: javascript
.. rest_method:: POST /servers/{server_id}/migrations/{migration_id}/action
Force an in-progress live migration for a given server to complete.
Specify the force_complete
action in the request body.
Note
Microversion 2.22 or greater is required for this API.
Note
Not all compute back ends support forcefully completing an in-progress live migration.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through the
policy.json
file.
Preconditions
The server OS-EXT-STS:vm_state value must be active
and the server
OS-EXT-STS:task_state value must be migrating
.
If the server is locked, you must have administrator privileges to force the completion of the server migration.
The migration status must be running
.
Asynchronous Postconditions
After you make this request, you typically must keep polling the server status to determine whether the request succeeded.
Troubleshooting
If the server status remains MIGRATING
for an inordinate amount of time,
the request may have failed. Ensure you meet the preconditions and run the
request again. If the request fails again, investigate the compute back end.
More details can be found in the
admin guide.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
.. rest_parameters:: parameters.yaml - server_id: server_id_path - migration_id: migration_id_path - force_complete: force_migration_complete
Example Force Migration Complete (force_complete Action)
.. literalinclude:: ../../doc/api_samples/server-migrations/v2.22/force_complete.json :language: javascript
There is no body content for the response of a successful POST operation.
.. rest_method:: DELETE /servers/{server_id}/migrations/{migration_id}
Abort an in-progress live migration.
Note
Microversion 2.24 or greater is required for this API.
Note
With microversion 2.65 or greater, you can abort live migrations
also in queued
and preparing
status.
Note
Not all compute back ends support aborting an in-progress live migration.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through the
policy.json
file.
Preconditions
The server OS-EXT-STS:task_state value must be migrating
.
If the server is locked, you must have administrator privileges to force the completion of the server migration.
For microversions from 2.24 to 2.64 the migration status must be running
,
for microversion 2.65 and greater, the migration status can also be queued
and preparing
.
Asynchronous Postconditions
After you make this request, you typically must keep polling the server status to determine whether the request succeeded. You may also monitor the migration using:
GET /servers/{server_id}/migrations/{migration_id}
Troubleshooting
If the server status remains MIGRATING
for an inordinate amount of
time, the request may have failed. Ensure you meet the preconditions and run
the request again. If the request fails again, investigate the compute back
end.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
.. rest_parameters:: parameters.yaml - server_id: server_id_path - migration_id: migration_id_path
There is no body content for the response of a successful DELETE operation.