Exemple #1
0
def do_cmd(gargs, args, _):
    """ Add a new Project """

    request = {"desc": args.desc, "owner": args.owner}

    if args.ssid:

        request["wifi_props"] = {
            "bssid_type": args.ssid_type,
            "ssid": args.ssid
        }

    if args.plmnid:

        plmnid = PLMNID(args.plmnid)

        request["lte_props"] = {"plmnid": plmnid.to_str()}

    headers = command.get_headers(gargs)

    url = '/api/v1/projects'
    response, _ = command.connect(gargs, ('POST', url),
                                  201,
                                  request,
                                  headers=headers)

    location = response.headers['Location']
    tokens = location.split("/")
    project_id = tokens[-1]

    print(project_id)
Exemple #2
0
def do_cmd(gargs, args, _):
    """Create/update LTE slice. """

    headers = command.get_headers(gargs)

    request = {
        "version": "1.0",
        "slice_id": args.slice_id,
        "properties": {
            'rbgs': args.rbgs,
            'ue_scheduler': 0
        }
    }

    url = '/api/v1/projects/%s/lte_slices' % args.project_id
    command.connect(gargs, ('POST', url), 201, request, headers=headers)

    url = '/api/v1/projects/%s/lte_slices/%u' % \
        (args.project_id, args.slice_id)
    _, slc = command.connect(gargs, ('GET', url), 200, headers=headers)

    accum = []

    accum.append("slice_id ")
    accum.append(str(slc['slice_id']))

    for k, val in slc['properties'].items():
        accum.append("\n    %s: %s" % (k, val))

    print(''.join(accum))
Exemple #3
0
def do_cmd(gargs, args, leftovers):
    """Set worker parameters."""

    request = {"version": "1.0", "params": command.get_params(leftovers)}

    headers = command.get_headers(gargs)

    url = '/api/v1/workers/%s' % args.uuid
    command.connect(gargs, ('PUT', url), 204, request, headers=headers)

    url = '/api/v1/workers/%s' % args.uuid
    _, data = command.connect(gargs, ('GET', url), 200, headers=headers)

    accum = []

    accum.append("worker_id ")
    accum.append(data['service_id'])
    accum.append("\n  name ")
    accum.append(data['name'])

    accum.append("\n  params:")

    for k, val in data['params'].items():
        accum.append("\n    %s: %s" % (k, val))

    print(''.join(accum))
Exemple #4
0
def do_cmd(gargs, args, leftovers):
    """Load an application. """

    request = {
        "version": "1.0",
        "name": args.name,
        "params": command.get_params(leftovers)
    }

    headers = command.get_headers(gargs)

    url = '/api/v1/projects/%s/apps' % args.project_id
    response, _ = command.connect(gargs, ('POST', url),
                                  201,
                                  request,
                                  headers=headers)

    location = response.headers['Location']
    tokens = location.split("/")
    app_id = tokens[-1]

    url = '/api/v1/projects/%s/apps/%s' % (args.project_id, app_id)
    _, data = command.connect(gargs, ('GET', url), 200, headers=headers)

    print(data['service_id'])
Exemple #5
0
def do_cmd(gargs, args, _):
    """Update a lgtw."""
    request = {"version": "1.0"}

    if args.name:
        request["name"] = args.name

    if args.desc:
        request["desc"] = args.desc

    if args.owner:
        request["owner"] = args.owner

    headers = command.get_headers(gargs)

    url = '/api/v1/lns/lgtws/%s' % args.lgtw_euid
    response, _ = command.connect(gargs, ('PUT', url),
                                  201,
                                  request,
                                  headers=headers)

    location = response.headers['Location']
    tokens = location.split("/")
    euid = tokens[-1]

    print(euid, " lGTW updated to LNS  Database")
def do_cmd(gargs, args, _):
    """Add a new lenddevs."""

    headers = command.get_headers(gargs)
    url = '/api/v1/lns/lenddevs/'

    if args.json_file:

        with open(args.json_file, 'r') as file:
            lenddevs = json.load(file)

        for lenddev in lenddevs:
            dev_eui = lenddev.get("devEUI")
            if not dev_eui:
                print("devEUI missing, cannot add device")
                return
            request = dict(version="1.0")
            for key, value in KEYS.items():
                if value in lenddev:
                    request[key] = lenddev[value]
            # url = '/api/v1/lns/lenddevs/%s' % devEUI
            try:
                response, _ = command.connect(gargs, ('POST', url + dev_eui),
                                              201,
                                              request,
                                              headers=headers,
                                              exit_on_err=False)
            except Exception as err:
                print(err)
            else:
                location = response.headers['Location']
                tokens = location.split("/")
                dev_eui = tokens[-1]
                print("lEndDev (%s) added to LNS  Database" % dev_eui)
            print()

    else:

        request = {}
        url += args.devEUI
        try:
            response, _ = command.connect(gargs, ('POST', url),
                                          201,
                                          request,
                                          headers=headers,
                                          exit_on_err=False)
        except Exception as err:
            print(err)
        else:
            location = response.headers['Location']
            tokens = location.split("/")
            dev_eui = tokens[-1]
            print("lEndDev (%s) added to LNS  Database" % dev_eui)
        print()
Exemple #7
0
def do_cmd(gargs, *_):
    """Unload all workers. """

    headers = command.get_headers(gargs)

    url = '/api/v1/workers'
    _, data = command.connect(gargs, ('GET', url), 200, headers=headers)

    for entry in data.values():

        worker_id = entry['service_id']

        url = '/api/v1/workers/%s' % worker_id
        command.connect(gargs, ('DELETE', url), 204, headers=headers)

        print(worker_id)
Exemple #8
0
def do_cmd(gargs, args, _):
    """Unload all applications. """

    headers = command.get_headers(gargs)

    url = '/api/v1/projects/%s/apps' % args.project_id
    _, data = command.connect(gargs, ('GET', url), 200, headers=headers)

    for entry in data.values():

        app_id = entry['service_id']

        url = '/api/v1/projects/%s/apps/%s' % (args.project_id, app_id)
        command.connect(gargs, ('DELETE', url), 204, headers=headers)

        print(app_id)
Exemple #9
0
def do_cmd(gargs, args, _):
    """Set worker callback."""

    request = {
        "version": "1.0",
        "name": args.name,
        "callback_type": CALLBACK_REST,
        "callback": args.callback
    }

    headers = command.get_headers(gargs)
    url = '/api/v1/workers/%s/callbacks' % args.uuid
    command.connect(gargs, ('POST', url), 201, request, headers=headers)

    url = '/api/v1/workers/%s/callbacks/%s' % (args.uuid, args.name)

    _, data = command.connect(gargs, ('GET', url), 200, headers=headers)

    print(data)