api.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Copyright 2016 Cloudbase Solutions Srl
  2. # All Rights Reserved.
  3. from coriolis.conductor.rpc import client as rpc_client
  4. class API(object):
  5. def __init__(self):
  6. self._rpc_client = rpc_client.ConductorClient()
  7. def migrate_instances(self, ctxt, origin_endpoint_id,
  8. destination_endpoint_id, origin_minion_pool_id,
  9. destination_minion_pool_id,
  10. instance_osmorphing_minion_pool_mappings,
  11. source_environment, destination_environment,
  12. instances, network_map, storage_mappings,
  13. replication_count,
  14. shutdown_instances, notes=None,
  15. skip_os_morphing=False, user_scripts=None):
  16. return self._rpc_client.migrate_instances(
  17. ctxt, origin_endpoint_id, destination_endpoint_id,
  18. origin_minion_pool_id, destination_minion_pool_id,
  19. instance_osmorphing_minion_pool_mappings, source_environment,
  20. destination_environment, instances, network_map,
  21. storage_mappings, replication_count,
  22. shutdown_instances=shutdown_instances,
  23. notes=notes, skip_os_morphing=skip_os_morphing,
  24. user_scripts=user_scripts)
  25. def deploy_replica_instances(self, ctxt, replica_id,
  26. instance_osmorphing_minion_pool_mappings,
  27. clone_disks=False, force=False,
  28. skip_os_morphing=False, user_scripts=None):
  29. return self._rpc_client.deploy_replica_instances(
  30. ctxt, replica_id, instance_osmorphing_minion_pool_mappings=(
  31. instance_osmorphing_minion_pool_mappings),
  32. clone_disks=clone_disks, force=force,
  33. skip_os_morphing=skip_os_morphing,
  34. user_scripts=user_scripts)
  35. def delete(self, ctxt, migration_id):
  36. self._rpc_client.delete_migration(ctxt, migration_id)
  37. def cancel(self, ctxt, migration_id, force):
  38. self._rpc_client.cancel_migration(ctxt, migration_id, force)
  39. def get_migrations(self, ctxt, include_tasks=False,
  40. include_task_info=False):
  41. return self._rpc_client.get_migrations(
  42. ctxt, include_tasks, include_task_info=include_task_info)
  43. def get_migration(self, ctxt, migration_id, include_task_info=False):
  44. return self._rpc_client.get_migration(
  45. ctxt, migration_id, include_task_info=include_task_info)