Example #1
0
def login(username, project_id, password, region):
    params_no_version = {
        'username': username, 'project_id': project_id,
        'auth_url': config.os_auth_url,
        'user_domain_id': 'default',
        'tenant_name': project_id, 'password': password,
        'project_domain_id': 'default'}

    request_session = requests.session()

    auth = auth_plugin.load_from_options(**params_no_version)
    session = osc_session.Session(
        auth=auth,
        session=request_session,
        verify=True)
    catalog = auth.get_auth_ref(session)['catalog']
    nova_catalog = [res for res in catalog
                    if res['type'] == 'compute'
                    and res['endpoints'][0]['region'] == region]
    neutron_catalog = [res for res in catalog
                       if res['type'] == 'network'
                       and res['endpoints'][0]['region'] == region]
    cinder_catalog = [res for res in catalog
                      if res['type'] == 'volumev2'
                      and res['endpoints'][0]['region'] == region]

    glance_catalog = [res for res in catalog
                      if res['type'] == 'image'
                      and res['endpoints'][0]['region'] == region]

    final_nova_catalog = []
    for res in nova_catalog:
        for r in res['endpoints']:
            if r['interface'] == 'public':
                final_nova_catalog.append(r['url'])

    final_neutron_catalog = []
    for res in neutron_catalog:
        for r in res['endpoints']:
            if r['interface'] == 'public':
                final_neutron_catalog.append(r['url'] + '/v2.0')

    final_cinder_catalog = []
    for res in cinder_catalog:
        for r in res['endpoints']:
            if r['interface'] == 'public':
                final_cinder_catalog.append(r['url'])

    final_glance_catalog = []
    for res in glance_catalog:
        for r in res['endpoints']:
            if r['interface'] == 'public':
                final_glance_catalog.append(r['url'])

    return (session.get_token(), final_nova_catalog,
            final_neutron_catalog, final_cinder_catalog,
            final_glance_catalog)
Example #2
0
def get_admin_session():
    params_no_version = {
        'username': config.admin_user,
        'project_name': config.admin_project,
        'auth_url': config.os_auth_url,
        'user_domain_id': 'default',
        'tenant_name': config.admin_project,
        'password': config.admin_passwd,
        'project_domain_id': 'default'}

    request_session = requests.session()
    auth = auth_plugin.load_from_options(**params_no_version)
    session = osc_session.Session(
        auth=auth,
        session=request_session,
        verify=True)
    catalog = auth.get_auth_ref(session)['catalog']
    #ks = client.Client(session=session)
    return session, catalog
Example #3
0
def _get_user_info(user_id):
    params_no_version = {
        'username': config.admin_user,
        'project_name': config.admin_project,
        'auth_url': config.os_auth_url,
        'user_domain_id': 'default',
        'tenant_name': config.admin_project,
        'password': config.admin_passwd,
        'project_domain_id': 'default'}

    request_session = requests.session()

    auth = auth_plugin.load_from_options(**params_no_version)
    session = osc_session.Session(
        auth=auth,
        session=request_session,
        verify=True)
    ks = client.Client(session=session)
    user = ks.users.get(user_id)
    return user.name, user.default_project_id
Example #4
0
def login(username, project_id, password, region):
    params_no_version = {
        'username': username,
        'project_id': project_id,
        'auth_url': config.os_auth_url,
        'user_domain_id': 'default',
        'tenant_name': project_id,
        'password': password,
        'project_domain_id': 'default'
    }

    request_session = requests.session()

    auth = auth_plugin.load_from_options(**params_no_version)
    session = osc_session.Session(auth=auth,
                                  session=request_session,
                                  verify=True)
    catalog = auth.get_auth_ref(session)['catalog']
    nova_catalog = [
        res for res in catalog
        if res['type'] == 'compute' and res['endpoints'][0]['region'] == region
    ]
    neutron_catalog = [
        res for res in catalog
        if res['type'] == 'network' and res['endpoints'][0]['region'] == region
    ]
    cinder_catalog = [
        res for res in catalog if res['type'] == 'volumev2'
        and res['endpoints'][0]['region'] == region
    ]

    glance_catalog = [
        res for res in catalog
        if res['type'] == 'image' and res['endpoints'][0]['region'] == region
    ]

    final_nova_catalog = []
    for res in nova_catalog:
        for r in res['endpoints']:
            if r['interface'] == 'public':
                final_nova_catalog.append(r['url'])

    final_neutron_catalog = []
    for res in neutron_catalog:
        for r in res['endpoints']:
            if r['interface'] == 'public':
                final_neutron_catalog.append(r['url'] + '/v2.0')

    final_cinder_catalog = []
    for res in cinder_catalog:
        for r in res['endpoints']:
            if r['interface'] == 'public':
                final_cinder_catalog.append(r['url'])

    final_glance_catalog = []
    for res in glance_catalog:
        for r in res['endpoints']:
            if r['interface'] == 'public':
                final_glance_catalog.append(r['url'])

    return (session.get_token(), final_nova_catalog, final_neutron_catalog,
            final_cinder_catalog, final_glance_catalog)