Beispiel #1
0
def create_ctx_from_trust(trust_id):
    """Return context built from given trust."""
    ctx = context.current()

    ctx = context.BlazarContext(user_name=CONF.os_admin_username,
                                project_name=CONF.os_admin_project_name,
                                request_id=ctx.request_id,
                                global_request_id=ctx.global_request_id)
    auth_url = "%s://%s:%s" % (CONF.os_auth_protocol,
                               base.get_os_auth_host(CONF), CONF.os_auth_port)
    if CONF.os_auth_prefix:
        auth_url += "/%s" % CONF.os_auth_prefix
    client = keystone.BlazarKeystoneClient(
        password=CONF.os_admin_password,
        trust_id=trust_id,
        auth_url=auth_url,
        ctx=ctx,
    )

    # use 'with ctx' statement in the place you need context from trust
    return context.BlazarContext(
        user_name=ctx.user_name,
        project_name=ctx.project_name,
        auth_token=client.auth_token,
        service_catalog=client.service_catalog.catalog['catalog'],
        project_id=client.tenant_id,
        request_id=ctx.request_id,
        global_request_id=ctx.global_request_id)
Beispiel #2
0
def create_trust():
    """Creates trust via Keystone API v3 to use in plugins."""
    client = keystone.BlazarKeystoneClient()

    trustee_id = keystone.BlazarKeystoneClient(
        username=CONF.os_admin_username,
        password=CONF.os_admin_password,
        tenant_name=CONF.os_admin_project_name).user_id

    ctx = context.current()
    trust = client.trusts.create(trustor_user=ctx.user_id,
                                 trustee_user=trustee_id,
                                 impersonation=False,
                                 role_names=ctx.roles,
                                 project=ctx.project_id)
    return trust
Beispiel #3
0
def create_ctx_from_trust(trust_id):
    """Return context built from given trust."""
    ctx = context.BlazarContext(
        user_name=CONF.os_admin_username,
        project_name=CONF.os_admin_project_name,
    )
    auth_url = "%s://%s:%s/%s" % (CONF.os_auth_protocol,
                                  CONF.os_auth_host,
                                  CONF.os_auth_port,
                                  CONF.os_auth_prefix)
    client = keystone.BlazarKeystoneClient(
        password=CONF.os_admin_password,
        trust_id=trust_id,
        auth_url=auth_url,
        ctx=ctx,
    )

    # use 'with ctx' statement in the place you need context from trust
    return context.BlazarContext(
        ctx,
        auth_token=client.auth_token,
        service_catalog=client.service_catalog.catalog['catalog'],
        project_id=client.tenant_id,
    )
Beispiel #4
0
def delete_trust(lease):
    """Deletes trust for the specified lease."""
    if lease.trust_id:
        client = keystone.BlazarKeystoneClient(trust_id=lease.trust_id)
        client.trusts.delete(lease.trust_id)