except Exception:
LOG.exception("Instance %s deletion failed", server.name)
LOG.info(' Waiting for %d instances to be fully deleted...', len(self.servers))
- retry_count = 5 + len(self.servers) * 2
+ retry_count = 15 + len(self.servers) * 5
while True:
retry_count -= 1
self.servers = [server for server in self.servers if self.instance_exists(server)]
len(self.servers), retry_count)
time.sleep(2)
else:
- LOG.warning(' instance deletion verification timed out: %d not removed',
+ LOG.warning(' instance deletion verification time-out: %d still not deleted',
len(self.servers))
break
class NetworkCleaner(object):
"""A cleaner for network resources."""
- def __init__(self, neutron_client, network_names):
+ def __init__(self, neutron_client, network_name_prefixes):
self.neutron_client = neutron_client
LOG.info('Discovering networks...')
all_networks = self.neutron_client.list_networks()['networks']
self.networks = []
+ net_ids = []
for net in all_networks:
- try:
- network_names.remove(net['name'])
- self.networks.append(net)
- except ValueError:
- pass
- if not network_names:
- break
- net_ids = [net['id'] for net in self.networks]
+ netname = net['name']
+ for prefix in network_name_prefixes:
+ if netname.startswith(prefix):
+ self.networks.append(net)
+ net_ids.append(net['id'])
+ break
if net_ids:
LOG.info('Discovering ports...')
all_ports = self.neutron_client.list_ports()['ports']
except Exception:
LOG.exception("Port deletion failed")
+ # associated subnets are automatically deleted by neutron
for net in self.networks:
LOG.info("Deleting network %s...", net['name'])
try:
self.neutron_client = nclient.Client('2.0', session=session)
self.nova_client = Client(2, session=session)
network_names = [inet['name'] for inet in config.internal_networks.values()]
+ # add idle networks as well
+ if config.idle_networks.name:
+ network_names.append(config.idle_networks.name)
self.cleaners = [ComputeCleaner(self.nova_client, config.loop_vm_name),
FlavorCleaner(self.nova_client, config.flavor_type),
NetworkCleaner(self.neutron_client, network_names)]
table.extend(res_list)
count = len(table) - 1
if count:
- LOG.info('Discovered %d NFVbench resources:', count)
- print tabulate(table, headers="firstrow", tablefmt="psql")
+ LOG.info('Discovered %d NFVbench resources:\n%s', count,
+ tabulate(table, headers="firstrow", tablefmt="psql"))
else:
LOG.info('No matching NFVbench resources found')
return count