Remove central backup path when subcloud deleted

This commit removes the subcloud directory after executing
the dcmanager subcloud delete.

Test Plan:
1. Create central backup
- dcmanager subcloud-backup create --subcloud <subcloud>
2. Delete subcloud with backup
- dcmanager subcloud delete <subcloud>
3. Check if the subcloud central backup directory was removed
- /opt/dc-vault/backups/<subcloud> deleted

Story: 2010116
Task: 46857

Signed-off-by: Hugo Brito <hugo.brito@windriver.com>
Change-Id: Ie3270add61bc0e8e2b9ef2ee3d78c807a988103e
This commit is contained in:
Hugo Brito
2022-11-16 18:54:48 -03:00
parent 8c199722a7
commit ad6462440d

View File

@@ -24,6 +24,7 @@ import json
import keyring
import netaddr
import os
import shutil
import threading
import time
@@ -1625,9 +1626,21 @@ class SubcloudManager(manager.Manager):
# Delete the subcloud intermediate certificate
SubcloudManager._delete_subcloud_cert(subcloud.name)
# Delete the subcloud backup path
self._delete_subcloud_backup_data(subcloud.name)
# Regenerate the addn_hosts_dc file
self._create_addn_hosts_dc(context)
@staticmethod
def _delete_subcloud_backup_data(subcloud_name):
try:
backup_path = os.path.join(CENTRAL_BACKUP_DIR, subcloud_name)
if os.path.exists(backup_path):
shutil.rmtree(backup_path)
except Exception as e:
LOG.exception(e)
def delete_subcloud(self, context, subcloud_id):
"""Delete subcloud and notify orchestrators.