From 2ffa65f5b98919dc8c948e5570a3604226c09895 Mon Sep 17 00:00:00 2001 From: yuyangbj Date: Tue, 10 Apr 2018 11:01:34 +0800 Subject: [PATCH] Adding --force support for nsxadmin backup-edges resources Change-Id: Ic4d55c734230460225091c8e002cc68dbb785efb --- doc/source/admin_util.rst | 6 +-- .../plugins/nsxv/resources/backup_edges.py | 43 ++++++++++--------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/doc/source/admin_util.rst b/doc/source/admin_util.rst index f7cb9c51a6..8b90b3126f 100644 --- a/doc/source/admin_util.rst +++ b/doc/source/admin_util.rst @@ -125,11 +125,11 @@ Backup Edges - Delete backup edge:: - nsxadmin -r backup-edges -o clean --property edge-id=edge-9 + nsxadmin -r backup-edges -o clean --property edge-id=edge-9 [--force] - Delete all backup edges:: - nsxadmin -r backup-edges -o clean-all + nsxadmin -r backup-edges -o clean-all [--force] - List Edge name mismatches between DB and backend, and backup edges that are missing from the backend:: @@ -137,7 +137,7 @@ Backup Edges - Fix Edge name mismatch between DB and backend by updating the name on the backend:: - nsxadmin -r backup-edges -o fix-mismatch --property edge-id=edge-9 + nsxadmin -r backup-edges -o fix-mismatch --property edge-id=edge-9 [--force] - Delete a backup edge from the DB and NSX by it's router ID:: diff --git a/vmware_nsx/shell/admin/plugins/nsxv/resources/backup_edges.py b/vmware_nsx/shell/admin/plugins/nsxv/resources/backup_edges.py index 59d1709f02..dd961861b0 100644 --- a/vmware_nsx/shell/admin/plugins/nsxv/resources/backup_edges.py +++ b/vmware_nsx/shell/admin/plugins/nsxv/resources/backup_edges.py @@ -125,12 +125,13 @@ def nsx_clean_backup_edge(resource, event, trigger, **kwargs): if not edge_id: LOG.error("%s", errmsg) return - #ask for the user confirmation - confirm = admin_utils.query_yes_no( - "Do you want to delete edge: %s" % edge_id, default="no") - if not confirm: - LOG.info("Backup edge deletion aborted by user") - return + if not kwargs.get('force'): + #ask for the user confirmation + confirm = admin_utils.query_yes_no( + "Do you want to delete edge: %s" % edge_id, default="no") + if not confirm: + LOG.info("Backup edge deletion aborted by user") + return # delete the backup edge _nsx_delete_backup_edge(edge_id, get_nsxv_backup_edges()) @@ -139,13 +140,14 @@ def nsx_clean_all_backup_edges(resource, event, trigger, **kwargs): """Delete all backup edges""" backup_edges = get_nsxv_backup_edges() - #ask for the user confirmation - confirm = admin_utils.query_yes_no( - "Do you want to delete %s backup edges?" % len(backup_edges), - default="no") - if not confirm: - LOG.info("Backup edges deletion aborted by user") - return + if not kwargs.get('force'): + #ask for the user confirmation + confirm = admin_utils.query_yes_no( + "Do you want to delete %s backup edges?" % len(backup_edges), + default="no") + if not confirm: + LOG.info("Backup edges deletion aborted by user") + return deleted_cnt = 0 for edge in backup_edges: @@ -299,14 +301,15 @@ def nsx_fix_name_mismatch(resource, event, trigger, **kwargs): 'Edge %s', edge_id) return - confirm = admin_utils.query_yes_no( - "Do you want to rename edge %s to %s" % (edge_id, - edge['name']), - default="no") + if not kwargs.get('force'): + confirm = admin_utils.query_yes_no( + "Do you want to rename edge %s to %s" % + (edge_id, edge['name']), + default="no") - if not confirm: - LOG.info("Edge rename aborted by user") - return + if not confirm: + LOG.info("Edge rename aborted by user") + return LOG.info("Edge rename started") # remove some keys that will fail the NSX transaction edge_utils.remove_irrelevant_keys_from_edge_request(edge)