Ejemplo n.º 1
0
    def _network_update_callback(self, network_uuid, callback):
        """
        Network Update Callback
        """
        response = (yield)
        DLOG.verbose("Network-Update callback response=%s." % response)
        if response['completed']:
            network_table = tables.tables_get_network_table()
            nfvi_network = response['result-data']
            network = network_table.get(nfvi_network.uuid, None)
            if network is None:
                network = objects.Network(
                    nfvi_network.uuid, nfvi_network.name,
                    nfvi_network.admin_state, nfvi_network.oper_state,
                    nfvi_network.avail_status, nfvi_network.is_shared,
                    nfvi_network.mtu, nfvi_network.provider_data)
                network_table[nfvi_network.uuid] = network
            else:
                network.admin_state = nfvi_network.admin_state
                network.oper_state = nfvi_network.oper_state
                network.avail_status = nfvi_network.avail_status
                network.is_shared = nfvi_network.is_shared
                network.provider_data = nfvi_network.provider_data

        callback(response['completed'], network_uuid)
Ejemplo n.º 2
0
def database_network_get_list():
    """
    Fetch all the network objects from the database
    """
    db = database_get()
    session = db.session()
    query = session.query(model.Network)

    network_objs = list()
    for network in query.all():
        provider_data = objects.NetworkProviderData(network.physical_network,
                                                    network.network_type,
                                                    network.segmentation_id)

        network_obj = objects.Network(network.uuid, network.name,
                                      network.admin_state, network.oper_state,
                                      json.loads(network.avail_status),
                                      network.is_shared, network.mtu,
                                      provider_data)

        network_objs.append(network_obj)
    return network_objs
Ejemplo n.º 3
0
def _audit_nfvi_networks_callback(timer_id):
    """
    Audit Networks
    """
    global _main_audit_inprogress
    global _deletable_networks, _nfvi_networks_paging

    response = (yield)
    DLOG.verbose("Audit-Networks callback, response=%s." % response)

    if response['completed']:
        if response[
                'page-request-id'] == _nfvi_networks_paging.page_request_id:
            network_table = tables.tables_get_network_table()

            if _deletable_networks is None:
                _deletable_networks = list(network_table)

            for nfvi_network in response['result-data']:
                network = network_table.get(nfvi_network.uuid, None)
                if network is None:
                    network = objects.Network(
                        nfvi_network.uuid, nfvi_network.name,
                        nfvi_network.admin_state, nfvi_network.oper_state,
                        nfvi_network.avail_status, nfvi_network.is_shared,
                        nfvi_network.mtu, nfvi_network.provider_data)
                    network_table[nfvi_network.uuid] = network
                else:
                    network.admin_state = nfvi_network.admin_state
                    network.oper_state = nfvi_network.oper_state
                    network.avail_status = nfvi_network.avail_status
                    network.is_shared = nfvi_network.is_shared
                    network.provider_data = nfvi_network.provider_data

                    if nfvi_network.uuid in _deletable_networks:
                        _deletable_networks.remove(nfvi_network.uuid)

            if _nfvi_networks_paging.done:
                for network_uuid in _deletable_networks:
                    if network_uuid in list(network_table):
                        del network_table[network_uuid]

                _deletable_networks = list(network_table)
                _nfvi_networks_paging.first_page()
        else:
            DLOG.error("Audit-Networks callback, page-request-id mismatch, "
                       "responses=%s, page-request-id=%s." %
                       (response, _nfvi_networks_paging.page_request_id))
            network_table = tables.tables_get_network_table()
            _deletable_networks = list(network_table)
            _nfvi_networks_paging.first_page()
    else:
        DLOG.error("Audit-Networks callback, not completed, responses=%s." %
                   response)
        network_table = tables.tables_get_network_table()
        _deletable_networks = list(network_table)
        _nfvi_networks_paging.first_page()

    _nfvi_networks_paging.set_page_request_id()
    _main_audit_inprogress = False
    timers.timers_reschedule_timer(timer_id, 20)  # 20 seconds later