f"G.7 Destination OpenStack VM RBD image does not exist ({server_block_device_mapping['destination']['ceph_pool_name']}/{destination_server_rbd_image})",
f"G.14 Source OpenStack VM cloned RBD image does not exist anymore ({server_block_device_mapping['source']['ceph_pool_name']}/{source_rbd_cloned_image_name})",
f"G.7 Destination OpenStack VM RBD image does not exist ({server_block_device_mapping['destination']['ceph_pool_name']}/{destination_server_rbd_image})",
f"G.14 Source OpenStack VM cloned RBD image does not exist anymore ({server_block_device_mapping['source']['ceph_pool_name']}/{source_rbd_cloned_image_name})",
Tool performs OpenStack workflow migration from single OpenStack cloud to another one.
Block storage is transferred on external node using ceph low-level commands.
Tool expects same block storage connected to both clouds to be able to perform storage transfer quickly.
Block storage is transferred using external ceph migrator server node using ceph low-level commands.
Ceph migrator server node is allowed to perform ceph operations (ceph storage access is blocked outside OpenStack servers) and also provides enough disk space for object storage migration.
TODO: Object storage migration
Tool relies on main libraries:
* openstacksdk for OpenStack management
* paramiko for low-level ceph storage migration (--ceph-migrator-host)
lib.log_or_assert(args,f"D.3 Source cloud RBD images are received ({i_pool_name}).",source_rbd_images[i_pool_name])
source_keypairs=lib.get_source_keypairs(args)
...
...
@@ -242,7 +256,7 @@ def main(args):
args.logger.info(f"F.23 Source OpenStack server - Root partition found as RBD image {args.source_ceph_ephemeral_pool_name}/{i_source_ceph_ephemeral_rbd_image}")