def remove_routers(neutron_client, routers, default_routers): for router in routers: router_id = router['id'] router_name = router['name'] if (router_id not in default_routers and router_name not in default_routers.values()): logger.debug("Checking '%s' with ID=(%s) ..." % (router_name, router_id)) if router['external_gateway_info'] is not None: logger.debug("Router has gateway to external network." "Removing link...") if os_utils.remove_gateway_router(neutron_client, router_id): logger.debug(" > Done!") else: logger.error("There has been a problem removing " "the gateway...") else: logger.debug("Router is not connected to anything." "Ready to remove...") logger.debug("Removing router %s(%s) ..." % (router_name, router_id)) if os_utils.delete_neutron_router(neutron_client, router_id): logger.debug(" > Done!") else: logger.error("There has been a problem removing the " "router '%s'(%s)..." % (router_name, router_id))
def remove_routers(neutron_client, routers, default_routers): for router in routers: router_id = router['id'] router_name = router['name'] if router_id not in default_routers: logger.debug("Checking '%s' with ID=(%s) ..." % (router_name, router_id)) if router['external_gateway_info'] is not None: logger.debug("Router has gateway to external network." "Removing link...") if os_utils.remove_gateway_router(neutron_client, router_id): logger.debug(" > Done!") else: logger.error("There has been a problem removing " "the gateway...") else: logger.debug("Router is not connected to anything." "Ready to remove...") logger.debug("Removing router %s(%s) ..." % (router_name, router_id)) if os_utils.delete_neutron_router(neutron_client, router_id): logger.debug(" > Done!") else: logger.error("There has been a problem removing the " "router '%s'(%s)..." % (router_name, router_id))
def cleanup_neutron(neutron_client, floatingip_ids, bgpvpn_ids, interfaces, subnet_ids, router_ids, network_ids): if len(floatingip_ids) != 0: for floatingip_id in floatingip_ids: if not os_utils.delete_floating_ip(neutron_client, floatingip_id): logging.error('Fail to delete all floating ips. ' 'Floating ip with id {} was not deleted.'.format( floatingip_id)) return False if len(bgpvpn_ids) != 0: for bgpvpn_id in bgpvpn_ids: delete_bgpvpn(neutron_client, bgpvpn_id) if len(interfaces) != 0: for router_id, subnet_id in interfaces: if not os_utils.remove_interface_router(neutron_client, router_id, subnet_id): logging.error( 'Fail to delete all interface routers. ' 'Interface router with id {} was not deleted.'.format( router_id)) if len(router_ids) != 0: for router_id in router_ids: if not os_utils.remove_gateway_router(neutron_client, router_id): logging.error( 'Fail to delete all gateway routers. ' 'Gateway router with id {} was not deleted.'.format( router_id)) if len(subnet_ids) != 0: for subnet_id in subnet_ids: if not os_utils.delete_neutron_subnet(neutron_client, subnet_id): logging.error( 'Fail to delete all subnets. ' 'Subnet with id {} was not deleted.'.format(subnet_id)) return False if len(router_ids) != 0: for router_id in router_ids: if not os_utils.delete_neutron_router(neutron_client, router_id): logging.error( 'Fail to delete all routers. ' 'Router with id {} was not deleted.'.format(router_id)) return False if len(network_ids) != 0: for network_id in network_ids: if not os_utils.delete_neutron_net(neutron_client, network_id): logging.error( 'Fail to delete all networks. ' 'Network with id {} was not deleted.'.format(network_id)) return False return True