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)
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
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
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)