示例#1
0
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))
示例#2
0
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))
示例#3
0
文件: utils.py 项目: Kryndex/sdnvpn
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