Compare commits
1 Commits
v0.9.103
...
5b2e679db0
Author | SHA1 | Date | |
---|---|---|---|
5b2e679db0 |
@ -2076,6 +2076,15 @@ def vm_worker_detach_device(zkhandler, celery, domain, xml_spec):
|
|||||||
def vm_worker_create_snapshot(
|
def vm_worker_create_snapshot(
|
||||||
zkhandler, celery, domain, snapshot_name=None, zk_only=False
|
zkhandler, celery, domain, snapshot_name=None, zk_only=False
|
||||||
):
|
):
|
||||||
|
current_stage = 0
|
||||||
|
total_stages = 1
|
||||||
|
start(
|
||||||
|
celery,
|
||||||
|
f"Creating snapshot '{snapshot_name}' of VM '{domain}'",
|
||||||
|
current=current_stage,
|
||||||
|
total=total_stages,
|
||||||
|
)
|
||||||
|
|
||||||
# Validate that VM exists in cluster
|
# Validate that VM exists in cluster
|
||||||
dom_uuid = getDomainUUID(zkhandler, domain)
|
dom_uuid = getDomainUUID(zkhandler, domain)
|
||||||
if not dom_uuid:
|
if not dom_uuid:
|
||||||
@ -2108,14 +2117,7 @@ def vm_worker_create_snapshot(
|
|||||||
# Get the list of all RBD volumes
|
# Get the list of all RBD volumes
|
||||||
rbd_list = zkhandler.read(("domain.storage.volumes", dom_uuid)).split(",")
|
rbd_list = zkhandler.read(("domain.storage.volumes", dom_uuid)).split(",")
|
||||||
|
|
||||||
current_stage = 0
|
|
||||||
total_stages = 2 + len(rbd_list)
|
total_stages = 2 + len(rbd_list)
|
||||||
start(
|
|
||||||
celery,
|
|
||||||
f"Creating snapshot '{snapshot_name}' of VM '{domain}'",
|
|
||||||
current=current_stage,
|
|
||||||
total=total_stages,
|
|
||||||
)
|
|
||||||
|
|
||||||
snap_list = list()
|
snap_list = list()
|
||||||
|
|
||||||
@ -2217,6 +2219,15 @@ def vm_worker_create_snapshot(
|
|||||||
|
|
||||||
|
|
||||||
def vm_worker_remove_snapshot(zkhandler, celery, domain, snapshot_name):
|
def vm_worker_remove_snapshot(zkhandler, celery, domain, snapshot_name):
|
||||||
|
current_stage = 0
|
||||||
|
total_stages = 1
|
||||||
|
start(
|
||||||
|
celery,
|
||||||
|
f"Removing snapshot '{snapshot_name}' of VM '{domain}'",
|
||||||
|
current=current_stage,
|
||||||
|
total=total_stages,
|
||||||
|
)
|
||||||
|
|
||||||
# Validate that VM exists in cluster
|
# Validate that VM exists in cluster
|
||||||
dom_uuid = getDomainUUID(zkhandler, domain)
|
dom_uuid = getDomainUUID(zkhandler, domain)
|
||||||
if not dom_uuid:
|
if not dom_uuid:
|
||||||
@ -2240,14 +2251,7 @@ def vm_worker_remove_snapshot(zkhandler, celery, domain, snapshot_name):
|
|||||||
)
|
)
|
||||||
rbd_snapshots = _snapshots.split(",")
|
rbd_snapshots = _snapshots.split(",")
|
||||||
|
|
||||||
current_stage = 0
|
|
||||||
total_stages = 2 + len(rbd_snapshots)
|
total_stages = 2 + len(rbd_snapshots)
|
||||||
start(
|
|
||||||
celery,
|
|
||||||
f"Removing snapshot '{snapshot_name}' of VM '{domain}'",
|
|
||||||
current=current_stage,
|
|
||||||
total=total_stages,
|
|
||||||
)
|
|
||||||
|
|
||||||
for snap in rbd_snapshots:
|
for snap in rbd_snapshots:
|
||||||
current_stage += 1
|
current_stage += 1
|
||||||
@ -2296,6 +2300,15 @@ def vm_worker_remove_snapshot(zkhandler, celery, domain, snapshot_name):
|
|||||||
|
|
||||||
|
|
||||||
def vm_worker_rollback_snapshot(zkhandler, celery, domain, snapshot_name):
|
def vm_worker_rollback_snapshot(zkhandler, celery, domain, snapshot_name):
|
||||||
|
current_stage = 0
|
||||||
|
total_stages = 1
|
||||||
|
start(
|
||||||
|
celery,
|
||||||
|
f"Rolling back to snapshot '{snapshot_name}' of VM '{domain}'",
|
||||||
|
current=current_stage,
|
||||||
|
total=total_stages,
|
||||||
|
)
|
||||||
|
|
||||||
# Validate that VM exists in cluster
|
# Validate that VM exists in cluster
|
||||||
dom_uuid = getDomainUUID(zkhandler, domain)
|
dom_uuid = getDomainUUID(zkhandler, domain)
|
||||||
if not dom_uuid:
|
if not dom_uuid:
|
||||||
@ -2328,14 +2341,7 @@ def vm_worker_rollback_snapshot(zkhandler, celery, domain, snapshot_name):
|
|||||||
)
|
)
|
||||||
rbd_snapshots = _snapshots.split(",")
|
rbd_snapshots = _snapshots.split(",")
|
||||||
|
|
||||||
current_stage = 0
|
|
||||||
total_stages = 2 + len(rbd_snapshots)
|
total_stages = 2 + len(rbd_snapshots)
|
||||||
start(
|
|
||||||
celery,
|
|
||||||
f"Rolling back to snapshot '{snapshot_name}' of VM '{domain}'",
|
|
||||||
current=current_stage,
|
|
||||||
total=total_stages,
|
|
||||||
)
|
|
||||||
|
|
||||||
for snap in rbd_snapshots:
|
for snap in rbd_snapshots:
|
||||||
current_stage += 1
|
current_stage += 1
|
||||||
@ -2394,6 +2400,15 @@ def vm_worker_rollback_snapshot(zkhandler, celery, domain, snapshot_name):
|
|||||||
def vm_worker_export_snapshot(
|
def vm_worker_export_snapshot(
|
||||||
zkhandler, celery, domain, snapshot_name, export_path, incremental_parent=None
|
zkhandler, celery, domain, snapshot_name, export_path, incremental_parent=None
|
||||||
):
|
):
|
||||||
|
current_stage = 0
|
||||||
|
total_stages = 1
|
||||||
|
start(
|
||||||
|
celery,
|
||||||
|
f"Exporting snapshot '{snapshot_name}' of VM '{domain}' to '{export_path}'",
|
||||||
|
current=current_stage,
|
||||||
|
total=total_stages,
|
||||||
|
)
|
||||||
|
|
||||||
# Validate that the target path is valid
|
# Validate that the target path is valid
|
||||||
if not re.match(r"^/", export_path):
|
if not re.match(r"^/", export_path):
|
||||||
fail(
|
fail(
|
||||||
@ -2477,14 +2492,7 @@ def vm_worker_export_snapshot(
|
|||||||
)
|
)
|
||||||
snapshot_rbdsnaps = snapshot_rbdsnaps.split(",")
|
snapshot_rbdsnaps = snapshot_rbdsnaps.split(",")
|
||||||
|
|
||||||
current_stage = 0
|
|
||||||
total_stages = 2 + len(snapshot_rbdsnaps)
|
total_stages = 2 + len(snapshot_rbdsnaps)
|
||||||
start(
|
|
||||||
celery,
|
|
||||||
f"Exporting snapshot '{snapshot_name}' of VM '{domain}' to '{export_path}'",
|
|
||||||
current=current_stage,
|
|
||||||
total=total_stages,
|
|
||||||
)
|
|
||||||
|
|
||||||
# Create destination directory
|
# Create destination directory
|
||||||
export_target_path = f"{export_path}/{domain}/{snapshot_name}/images"
|
export_target_path = f"{export_path}/{domain}/{snapshot_name}/images"
|
||||||
@ -2622,6 +2630,15 @@ def vm_worker_import_snapshot(
|
|||||||
):
|
):
|
||||||
myhostname = gethostname().split(".")[0]
|
myhostname = gethostname().split(".")[0]
|
||||||
|
|
||||||
|
current_stage = 0
|
||||||
|
total_stages = 1
|
||||||
|
start(
|
||||||
|
celery,
|
||||||
|
f"Importing snapshot '{snapshot_name}' of VM '{domain}' from '{import_path}'",
|
||||||
|
current=current_stage,
|
||||||
|
total=total_stages,
|
||||||
|
)
|
||||||
|
|
||||||
# 0. Validations
|
# 0. Validations
|
||||||
# Validate that VM does not exist in cluster
|
# Validate that VM does not exist in cluster
|
||||||
dom_uuid = getDomainUUID(zkhandler, domain)
|
dom_uuid = getDomainUUID(zkhandler, domain)
|
||||||
@ -2705,18 +2722,11 @@ def vm_worker_import_snapshot(
|
|||||||
)
|
)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
current_stage = 0
|
|
||||||
total_stages = 2
|
total_stages = 2
|
||||||
total_stages += 2 * len(export_source_details.get("export_files"))
|
total_stages += 2 * len(export_source_details.get("export_files"))
|
||||||
if incremental_parent is not None:
|
if incremental_parent is not None:
|
||||||
total_stages += 1
|
total_stages += 1
|
||||||
total_stages += len(export_source_parent_details.get("export_files"))
|
total_stages += len(export_source_parent_details.get("export_files"))
|
||||||
start(
|
|
||||||
celery,
|
|
||||||
f"Importing snapshot '{snapshot_name}' of VM '{domain}' from '{import_path}'",
|
|
||||||
current=current_stage,
|
|
||||||
total=total_stages,
|
|
||||||
)
|
|
||||||
|
|
||||||
# 4. Import volumes
|
# 4. Import volumes
|
||||||
if incremental_parent is not None:
|
if incremental_parent is not None:
|
||||||
|
Reference in New Issue
Block a user