¡@

Home 

OpenStack Study: network_utils.py

OpenStack Index

**** CubicPower OpenStack Study ****

def find_network_with_name_label(session, name_label):

    networks = session.call_xenapi('network.get_by_name_label', name_label)

    if len(networks) == 1:

        return networks[0]

    elif len(networks) > 1:

        raise Exception(_('Found non-unique network for name_label %s') %

                        name_label)

    else:

        return None

**** CubicPower OpenStack Study ****

def find_network_with_bridge(session, bridge):

    """Return the network on which the bridge is attached, if found.

    The bridge is defined in the nova db and can be found either in the

    'bridge' or 'name_label' fields of the XenAPI network record.

    """

    expr = ('field "name__label" = "%s" or field "bridge" = "%s"' %

            (bridge, bridge))

    networks = session.call_xenapi('network.get_all_records_where', expr)

    if len(networks) == 1:

        return networks.keys()[0]

    elif len(networks) > 1:

        raise Exception(_('Found non-unique network for bridge %s') % bridge)

    else:

        raise Exception(_('Found no network for bridge %s') % bridge)