Exemplo n.º 1
0
def pool_vip_delete_task(vip, pool):

    assert vip

    LOG.info("Begin to delete balancer vip[%s]", vip)
    try:
        rc = create_rc_by_balancer_vip(vip)
        lbaas.vip_delete(rc, vip.vip_uuid)
    except neutronclient.common.exceptions.NotFound:
        pass
    except Exception:
        LOG.exception("Failed to delete balancer vip[%s]", vip)
        vip.status = POOL_ERROR
        vip.save()

        pool.status = POOL_ACTIVE
        pool.save()

        return False

    floating = Floating.get_lbaas_ip(resource_id=pool.id)
    if floating:
        floating.unbind_resource()
    LOG.info("Floating IP of vip is released.")

    pool.vip = None
    pool.save()

    vip.vip_uuid = ''
    vip.deleted = True
    vip.save()
    LOG.info("Balancer vip[%s] is deleted.", vip)

    return True
Exemplo n.º 2
0
def pool_vip_delete(vip=None):
    rc = create_rc_by_balancer_vip(vip)
    try:
        lbaas.vip_delete(rc, vip.vip_uuid)
        return True
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 3
0
def vip_disassociate_floating_ip(vip=None, float_ip_uuid=None):
    rc = create_rc_by_balancer_vip(vip)
    try:
        network.floating_ip_disassociate(rc, float_ip_uuid, vip.port_id)
        return True
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 4
0
def pool_vip_delete(vip=None):
    rc = create_rc_by_balancer_vip(vip)
    try:
        lbaas.vip_delete(rc, vip.vip_uuid)
        return True
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 5
0
def pool_vip_get(vip=None):
    rc = create_rc_by_balancer_vip(vip)
    try:
        v = lbaas.vip_get(rc,vip.vip_uuid)
        return v
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 6
0
def pool_vip_get(vip=None):
    rc = create_rc_by_balancer_vip(vip)
    try:
        v = lbaas.vip_get(rc,vip.vip_uuid)
        return v
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 7
0
def vip_disassociate_floating_ip(vip=None, float_ip_uuid=None):
    rc = create_rc_by_balancer_vip(vip)
    try:
        network.floating_ip_disassociate(rc, float_ip_uuid, vip.port_id)
        return True
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 8
0
def vip_associate_floating_ip(vip=None, float_ip_uuid=None):
    rc = create_rc_by_balancer_vip(vip)
    try:
        LOG.info("vip associate floating ip ,float_ip[%s] port[%s]" % (float_ip_uuid, vip.port_id))
        network.floating_ip_associate(rc, float_ip_uuid, vip.port_id+"_"+vip.address)
        return True
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 9
0
def vip_associate_floating_ip(vip=None, float_ip_uuid=None):
    rc = create_rc_by_balancer_vip(vip)
    try:
        LOG.info("vip associate floating ip ,float_ip[%s] port[%s]" %
                 (float_ip_uuid, vip.port_id))
        network.floating_ip_associate(rc, float_ip_uuid,
                                      vip.port_id + "_" + vip.address)
        return True
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 10
0
def pool_vip_update(vip=None):
    rc = create_rc_by_balancer_vip(vip)

    if vip.has_session_persistence:
        session_persistence = {'type': vip.session_persistence_desc}
    else:
        session_persistence = {}

    params = {"vip": {
        'description': vip.description,
        'session_persistence': session_persistence}}

    return lbaas.vip_update(rc, vip_id=vip.vip_uuid, **params)
Exemplo n.º 11
0
def pool_vip_update(vip=None):
    rc = create_rc_by_balancer_vip(vip)
    try:
        session_persistence = {}
        if vip.session_persistence != '' and vip.session_persistence is not None:
            session_persistence = {'type': vip.session_persistence_desc}
        params = {"vip": {
            'description': vip.description,
            'session_persistence': session_persistence
        }}
        v = lbaas.vip_update(rc, vip_id=vip.vip_uuid, **params)
        return v
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 12
0
def vip_disassociate_floating_ip(vip, float_ip_uuid):
    rc = create_rc_by_balancer_vip(vip)

    LOG.info("Begin to disassociate floating ip[%s] from vip[%s]",
             float_ip_uuid, vip)
    try:
        network.floating_ip_disassociate(rc, float_ip_uuid, vip.port_id)
    except Exception:
        LOG.exception("Failed to disassociate floating ip[%s] from vip[%s]",
                      float_ip_uuid, vip)
        return False
    else:
        LOG.info("Floating ip[%s] is disassociated from vip[%s]",
                 float_ip_uuid, vip)
        return True
Exemplo n.º 13
0
def pool_vip_update(vip=None):
    rc = create_rc_by_balancer_vip(vip)
    try:
        session_persistence = {}
        if vip.session_persistence != '' and vip.session_persistence is not None:
            session_persistence = {'type': vip.session_persistence_desc}
        params = {
            "vip": {
                'description': vip.description,
                'session_persistence': session_persistence
            }
        }
        v = lbaas.vip_update(rc, vip_id=vip.vip_uuid, **params)
        return v
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 14
0
def pool_vip_create(vip, pool_uuid):
    rc = create_rc_by_balancer_vip(vip)
    if vip.has_session_persistence:
        session_persistence = {'type': vip.session_persistence_desc}
    else:
        session_persistence = {}

    name = "balancer-vip-%04d%04d" % (vip.user.id, vip.id)

    v = lbaas.vip_create(rc, name=name,
                         description=vip.description,
                         subnet_id=vip.subnet.subnet_id,
                         protocol_port=vip.protocol_port,
                         protocol=vip.get_protocol_display(),
                         pool_id=pool_uuid,
                         session_persistence=session_persistence,
                         admin_state_up=vip.admin_state_up,
                         connection_limit=vip.connection_limit,
                         address=vip.address)
    return v
Exemplo n.º 15
0
def vip_associate_floating_ip(vip, float_ip_uuid):

    assert vip
    assert float_ip_uuid

    rc = create_rc_by_balancer_vip(vip)

    LOG.info("Begin to associate floating ip [%s] to vip[%s]",
             float_ip_uuid, vip)
    try:
        port_id = "%s_%s" % (vip.port_id, vip.address)
        network.floating_ip_associate(rc, float_ip_uuid, port_id)
    except Exception:
        LOG.exception("Failed to associate floating ip [%s] to vip[%s]",
                      float_ip_uuid, vip)
        return False
    else:
        LOG.info("Floating ip [%s] is associated to vip[%s]",
                 float_ip_uuid, vip)
        return True
Exemplo n.º 16
0
def pool_vip_create(vip, pool_uuid):
    rc = create_rc_by_balancer_vip(vip)
    try:
        session_persistence = {}
        if vip.session_persistence != '' and vip.session_persistence is not None:
            session_persistence = {'type': vip.session_persistence_desc}

        v = lbaas.vip_create(rc,
                             name="balancer-vip-%04d%04d" %
                             (vip.user.id, vip.id),
                             description=vip.description,
                             subnet_id=vip.subnet.subnet_id,
                             protocol_port=vip.protocol_port,
                             protocol=vip.get_protocol_display(),
                             pool_id=pool_uuid,
                             session_persistence=session_persistence,
                             admin_state_up=vip.admin_state_up,
                             connection_limit=vip.connection_limit,
                             address=vip.address)
        return v
    except Exception as e:
        LOG.exception(e)
        return False
Exemplo n.º 17
0
def pool_vip_create(vip, pool_uuid):
    rc = create_rc_by_balancer_vip(vip)
    try:
        session_persistence = {}
        if vip.session_persistence != '' and vip.session_persistence is not None:
            session_persistence = {'type': vip.session_persistence_desc}

        v = lbaas.vip_create(rc,
                               name="balancer-vip-%04d%04d" % (
                                   vip.user.id, vip.id),
                               description=vip.description,
                               subnet_id=vip.subnet.subnet_id,
                               protocol_port=vip.protocol_port,
                               protocol=vip.get_protocol_display(),
                               pool_id=pool_uuid,
                               session_persistence=session_persistence,
                               admin_state_up=vip.admin_state_up,
                               connection_limit=vip.connection_limit,
                               address=vip.address
                               )
        return v
    except Exception as e:
        LOG.exception(e)
        return False