def get_catalog(request, catalog_id): from nikola_api import NikolaAPI nikapi = NikolaAPI() res = nikapi.send(url='/useast1/nikola/r2/openstack/get_catalog', data='{"id":"%s"}' % (catalog_id)) return ServiceCatalog(res['result']['result'])
def get_registry(request, service_name): from nikola_api import NikolaAPI nikapi = NikolaAPI() args = args={'service_name':service_name} res = nikapi.send(url='/useast1/nikola/r2/RegistryService/search', data=json.dumps(args)) sregistry = res['result']['result'][0] return ServiceRegistry(json.loads(sregistry)['services'][0])
def list_executions(request, workflow_name): from nikola_api import NikolaAPI nikapi = NikolaAPI() res = nikapi.send(url='/useast1/nikola/r2/workflow/list_executions', data=json.dumps({"workflow_definition": workflow_name})) print "####", res executions = [] for execution in res['result']['result']: executions.append(Execution(execution)) return executions
def list_catalogs(request, search_opts=None): from nikola_api import NikolaAPI nikapi = NikolaAPI() res = nikapi.send(url='/useast1/nikola/r2/openstack/list_catalogs', data='{"all":null}') catalogs = [] for catalog in res['result']['result']: catalogs.append(ServiceCatalog(catalog)) has_prev_data = False has_more_data = False return (catalogs, has_more_data, has_prev_data)
def list_workflows(request, search_opts=None): from nikola_api import NikolaAPI nikapi = NikolaAPI() res = nikapi.send(url='/useast1/nikola/r2/workflow/list_workflows', data='{"all":null}') workflows = [] for workflow in res['result']['result']['workflows']: workflows.append(Workflow(workflow)) has_prev_data = False has_more_data = False return (workflows, has_more_data, has_prev_data)
def nikola_authenticate(auth_url, user_name, password, domain_name): from nikola_api import NikolaAPI nikapi = NikolaAPI() data = { 'auth_url': auth_url, 'user_name': user_name, 'password': password, 'domain_name': domain_name } res = nikapi.send(url='/useast1/nikola/r2/openstack/authenticate_raw', data=json.dumps(data)) print "####", res return res['result']['result']
def list_registries(request, search_opts=None): from nikola_api import NikolaAPI nikapi = NikolaAPI() args = {} res = nikapi.send(url='/useast1/nikola/r2/RegistryService/search', data=json.dumps(args)) print res['result']['result'] registries = [] for sregistry in res['result']['result']: registries.append(ServiceRegistry(json.loads(sregistry)['services'][0])) has_prev_data = False has_more_data = False return (registries, has_more_data, has_prev_data)
def launch_workflow(request, workflow_name, params): #auth_ref = request.session['auth_ref'] #workflow = auth_ref.get('workflow') #endpoint = next(ep['url'] for ep in next(s['endpoints'] for s in workflow if s['name'] == 'heat') if ep['interface']=='public') #token = auth_ref['auth_token'] from nikola_api import NikolaAPI nikapi = NikolaAPI() print workflow_name, params data = json.dumps({ "workflow_definition": workflow_name, "input_json": params }) print data res = nikapi.send(url='/useast1/nikola/r2/workflow/start', data=data) print res return res['result']['result']['id']
def get_iam_user(request, iam_user_id): auth_ref = request.session['auth_ref'] catalog = auth_ref.get('catalog') endpoint = next(ep['url'] for ep in next( s['endpoints'] for s in catalog if s['name'] == 'keystone') if ep['interface'] == 'admin') token = auth_ref['auth_token'] from nikola_api import NikolaAPI nikapi = NikolaAPI() data = { 'user_id': iam_user_id, 'auth_admin_url': endpoint, 'admin_token': token } res = nikapi.send(url='/useast1/nikola/r2/iam/get_user', data=json.dumps(data)) print res return IAMUser(res['result']['result'])
def list_iam_users(request, search_opts=None): auth_ref = request.session['auth_ref'] catalog = auth_ref.get('catalog') endpoint = next(ep['url'] for ep in next( s['endpoints'] for s in catalog if s['name'] == 'keystone') if ep['interface'] == 'admin') token = auth_ref['auth_token'] from nikola_api import NikolaAPI nikapi = NikolaAPI() data = {'all': ''} res = nikapi.send(url='/useast1/nikola/r2/iam/list_users', data=json.dumps(data)) print res iam_users = [] for iam_user in res['result']['result']: iam_users.append(IAMUser(iam_user)) has_prev_data = False has_more_data = False return (iam_users, has_more_data, has_prev_data)
def launch_catalog(request, catalog_id, params): auth_ref = request.session['auth_ref'] catalog = auth_ref.get('catalog') endpoint = next(ep['url'] for ep in next( s['endpoints'] for s in catalog if s['name'] == 'heat') if ep['interface'] == 'public') token = auth_ref['auth_token'] from nikola_api import NikolaAPI nikapi = NikolaAPI() data = json.dumps({ "id": catalog_id, "params": params, "heat_url": endpoint, "token": token }) print data res = nikapi.send(url='/useast1/nikola/r2/openstack/launch_catalog', data=data) print res return res['result']['result']