Beispiel #1
0
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'])
Beispiel #2
0
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])
Beispiel #3
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
Beispiel #4
0
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)
Beispiel #5
0
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)
Beispiel #6
0
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']
Beispiel #7
0
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)
Beispiel #8
0
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']
Beispiel #9
0
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'])
Beispiel #10
0
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)
Beispiel #11
0
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']