From ad6462440d37623e4d6b1ab4268d28329736e9d8 Mon Sep 17 00:00:00 2001 From: Hugo Brito Date: Wed, 16 Nov 2022 18:54:48 -0300 Subject: [PATCH] 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 2. Delete subcloud with backup - dcmanager subcloud delete 3. Check if the subcloud central backup directory was removed - /opt/dc-vault/backups/ deleted Story: 2010116 Task: 46857 Signed-off-by: Hugo Brito Change-Id: Ie3270add61bc0e8e2b9ef2ee3d78c807a988103e --- .../dcmanager/manager/subcloud_manager.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/distributedcloud/dcmanager/manager/subcloud_manager.py b/distributedcloud/dcmanager/manager/subcloud_manager.py index e65fc513d..b25587706 100644 --- a/distributedcloud/dcmanager/manager/subcloud_manager.py +++ b/distributedcloud/dcmanager/manager/subcloud_manager.py @@ -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.