コード例 #1
0
ファイル: sync.py プロジェクト: iychoi/syndicate-core
def delete_volumeslice_record(vs):
    """
    Unmount a volume from a slice.
    That is, prevent the slice from mounting it, by revoking the slice's principal's permissions and deleting its gateways.
    """
    principal_id = vs.slice_id.creator.email
    slice_name = vs.slice_id.name
    volume_name = vs.volume_id.name

    slice_principal_id = observer_core.make_slice_principal_id(principal_id, slice_name)

    try:
        observer_core.revoke_volume_access(slice_principal_id, volume_name)
    except Exception, e:
        traceback.print_exc()
        logger.error("Failed to remove slice principal %s from %s" % (slice_principal_id, volume_name))
        raise e
コード例 #2
0
ファイル: sync.py プロジェクト: iychoi/syndicate-core
def delete_volumeslice_record(vs):
    """
    Unmount a volume from a slice.
    That is, prevent the slice from mounting it, by revoking the slice's principal's permissions and deleting its gateways.
    """
    principal_id = vs.slice_id.creator.email
    slice_name = vs.slice_id.name
    volume_name = vs.volume_id.name

    slice_principal_id = observer_core.make_slice_principal_id(
        principal_id, slice_name)

    try:
        observer_core.revoke_volume_access(slice_principal_id, volume_name)
    except Exception, e:
        traceback.print_exc()
        logger.error("Failed to remove slice principal %s from %s" %
                     (slice_principal_id, volume_name))
        raise e
コード例 #3
0
ファイル: sync.py プロジェクト: iychoi/syndicate-core
    # get secrets...
    try:
        observer_pkey_pem = observer_core.get_observer_private_key_pem(observer_pkey_path)
        assert observer_pkey_pem is not None, "Failed to load Observer private key"

        # get/create the slice secret
        slice_secret = observer_core.get_or_create_slice_secret(observer_pkey_pem, slice_name)
        assert slice_secret is not None, "Failed to get or create slice secret for %s" % slice_name

    except Exception, e:
        traceback.print_exc()
        logger.error("Failed to load secret credentials")
        raise e

    # make sure there's a slice-controlled Syndicate user account for the slice owner
    slice_principal_id = observer_core.make_slice_principal_id(principal_id, slice_name)

    try:
        rc, user = observer_core.ensure_principal_exists(slice_principal_id, observer_secret, is_admin=False, max_UGs=1100, max_RGs=1)
        assert rc is True, "Failed to ensure principal %s exists (rc = %s,%s)" % (slice_principal_id, rc, user)
    except Exception, e:
        traceback.print_exc()
        logger.error('Failed to ensure slice user %s exists' % slice_principal_id)
        raise e

    # grant the slice-owning user the ability to provision UGs in this Volume
    try:
        rc = observer_core.ensure_volume_access_right_exists(slice_principal_id, volume_name, syndicate_caps)
        assert rc is True, "Failed to set up Volume access right for slice %s in %s" % (slice_principal_id, volume_name)

    except Exception, e:
コード例 #4
0
ファイル: sync.py プロジェクト: iychoi/syndicate-core
        observer_pkey_pem = observer_core.get_observer_private_key_pem(
            observer_pkey_path)
        assert observer_pkey_pem is not None, "Failed to load Observer private key"

        # get/create the slice secret
        slice_secret = observer_core.get_or_create_slice_secret(
            observer_pkey_pem, slice_name)
        assert slice_secret is not None, "Failed to get or create slice secret for %s" % slice_name

    except Exception, e:
        traceback.print_exc()
        logger.error("Failed to load secret credentials")
        raise e

    # make sure there's a slice-controlled Syndicate user account for the slice owner
    slice_principal_id = observer_core.make_slice_principal_id(
        principal_id, slice_name)

    try:
        rc, user = observer_core.ensure_principal_exists(slice_principal_id,
                                                         observer_secret,
                                                         is_admin=False,
                                                         max_UGs=1100,
                                                         max_RGs=1)
        assert rc is True, "Failed to ensure principal %s exists (rc = %s,%s)" % (
            slice_principal_id, rc, user)
    except Exception, e:
        traceback.print_exc()
        logger.error('Failed to ensure slice user %s exists' %
                     slice_principal_id)
        raise e