Admin util: verify that a backup edge is a backup
Due to bugs we ran into cases where an edge is prefixed with 'backup-' but is functioning as a DHCP or router edge. Therefore we have to validate that the edge is unattached before we conclude that it is really a backup. Change-Id: I73fab0997edf36490df7c7db5c674baf2370f28d
This commit is contained in:
parent
307133d844
commit
bb06aecf8d
@ -38,9 +38,13 @@ def get_nsxv_backup_edges():
|
|||||||
edges = nsxv.get_edges()[1]
|
edges = nsxv.get_edges()[1]
|
||||||
edges = edges['edgePage'].get('data', [])
|
edges = edges['edgePage'].get('data', [])
|
||||||
backup_edges = []
|
backup_edges = []
|
||||||
|
edgeapi = utils.NeutronDbClient()
|
||||||
for edge in edges:
|
for edge in edges:
|
||||||
if edge['name'].startswith("backup-"):
|
if edge['name'].startswith("backup-"):
|
||||||
backup_edges.append(edge)
|
edge_vnic_binds = nsxv_db.get_edge_vnic_bindings_by_edge(
|
||||||
|
edgeapi.context.session, edge['id'])
|
||||||
|
if not edge_vnic_binds:
|
||||||
|
backup_edges.append(edge)
|
||||||
return backup_edges
|
return backup_edges
|
||||||
|
|
||||||
|
|
||||||
@ -71,7 +75,9 @@ def nsx_clean_backup_edge(resource, event, trigger, **kwargs):
|
|||||||
else:
|
else:
|
||||||
# edge[0] is response status code
|
# edge[0] is response status code
|
||||||
# edge[1] is response body
|
# edge[1] is response body
|
||||||
if not edge[1]['name'].startswith('backup-'):
|
backup_edges = [e['id'] for e in get_nsxv_backup_edges()]
|
||||||
|
if (not edge[1]['name'].startswith('backup-')
|
||||||
|
or edge[1]['id'] not in backup_edges):
|
||||||
LOG.error(
|
LOG.error(
|
||||||
_LE('Edge: %s is not a backup edge; aborting delete'), edge_id)
|
_LE('Edge: %s is not a backup edge; aborting delete'), edge_id)
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user