Ejemplo n.º 1
0
def set_device_auth_status(opts, status):
    url = admissions_url(opts.service, '/{}/status'.format(opts.device))
    logging.debug('device auth URL: %s', url)
    with api_from_opts(opts) as api:
        do_request(api, url, method='PUT',
                   json={
                       'status': status
                   })
Ejemplo n.º 2
0
def do_inventory(opts):
    url = device_url(opts.service, '/inventory/device/attributes')

    # prepare attributes
    attrs = []
    for attr in opts.attrs_set:
        n, v = attr.split(':')
        attrs.append({'name': n.strip(), 'value': v.strip()})

    with device_api_from_opts(opts) as api:
        do_request(api, url, method='PATCH', json=attrs)
Ejemplo n.º 3
0
def do_inventory(opts):
    url = device_url(opts.service, '/inventory/device/attributes')

    # prepare attributes
    attrs = []
    for attr in opts.attrs_set:
        n, v = attr.split(':')
        attrs.append({'name': n.strip(), 'value': v.strip()})

    with device_api_from_opts(opts) as api:
        do_request(api, url, method='PATCH', json=attrs)
Ejemplo n.º 4
0
def device_group(opts):
    url = inventory_url(opts.service, '/devices/{}/group'.format(opts.device))
    if not opts.group_set and not opts.group_delete:
        with api_from_opts(opts) as api:
            do_simple_get(api, url)
    elif opts.group_set:
        group = {
            'group': opts.group_set,
        }
        method = 'PUT'
    elif opts.group_delete:
        url = inventory_url(opts.service, '/devices/{}/group/{}'.format(opts.device,
                                                                        opts.group_delete))
        group = {
            'group': opts.group_delete,
        }
        method = 'DELETE'

    with api_from_opts(opts) as api:
        do_request(api, url, method=method, success=204,
                   json=group)
Ejemplo n.º 5
0
def set_device_auth_status(opts, status):
    url = admissions_url(opts.service, '/{}/status'.format(opts.device))
    logging.debug('device auth URL: %s', url)
    with api_from_opts(opts) as api:
        do_request(api, url, method='PUT', json={'status': status})
Ejemplo n.º 6
0
def do_fake_update(opts):
    logging.info('fake update')
    while True:
        resp = do_update(opts)
        if resp.status_code == 200:
            break
        else:
            logging.info("No update available..")
        time.sleep(5)

    deployment_id = resp.json()["id"]
    deployment_image_uri = resp.json()["image"]["uri"]

    logging.info("Update: " + deployment_id + " available")

    url = device_url(
        opts.service,
        '/deployments/device/deployments/%s/status' % deployment_id)

    with device_api_from_opts(opts) as api:
        do_request(api, url, method='PUT', json={"status": "installing"})

        download_image(deployment_image_uri,
                       deployment_id=deployment_id,
                       store=opts.store)

        do_request(api, url, method='PUT', json={"status": "downloading"})
        time.sleep(random.randint(0, int(opts.wait)))

        do_request(api, url, method='PUT', json={"status": "rebooting"})
        time.sleep(random.randint(0, int(opts.wait)))

        if opts.fail:
            do_request(api, url, method='PUT', json={"status": "failure"})
            logsurl = device_url(
                opts.service,
                '/deployments/device/deployments/%s/log' % deployment_id)
            do_request(api,
                       logsurl,
                       method='PUT',
                       json={
                           "messages": [{
                               "level":
                               "debug",
                               "message":
                               opts.fail,
                               "timestamp":
                               "2012-11-01T22:08:41+00:00"
                           }]
                       })
        else:
            do_request(api, url, method='PUT', json={"status": "success"})
Ejemplo n.º 7
0
def do_fake_update(opts):
    logging.info('fake update')
    while True:
        resp = do_update(opts)
        if resp.status_code == 200:
            break
        else:
            logging.info("No update available..")
        time.sleep(5)

    deployment_id = resp.json()["id"]
    deployment_image_uri = resp.json()["image"]["uri"]

    logging.info("Update: " + deployment_id + " available")

    url = device_url(opts.service,
                     '/deployments/device/deployments/%s/status' % deployment_id)

    with device_api_from_opts(opts) as api:
        do_request(api, url, method='PUT', json={"status": "installing"})

        download_image(deployment_image_uri,
                       deployment_id=deployment_id, store=opts.store)

        do_request(api, url, method='PUT', json={"status": "downloading"})
        time.sleep(random.randint(0, int(opts.wait)))

        do_request(api, url, method='PUT', json={"status": "rebooting"})
        time.sleep(random.randint(0, int(opts.wait)))

        if opts.fail:
            do_request(api, url, method='PUT', json={"status": "failure"})
            logsurl = device_url(opts.service,
                                 '/deployments/device/deployments/%s/log' % deployment_id)
            do_request(api, logsurl, method='PUT',
                       json={
                           "messages": [
                               {
                                   "level": "debug",
                                   "message": opts.fail,
                                   "timestamp": "2012-11-01T22:08:41+00:00"
                               }
                           ]
                       })
        else:
            do_request(api, url, method='PUT',
                       json={"status": "success"})