Beispiel #1
0
def main(*args):
    tc.check()
    ssh_key = tc.secret("project/servo/ssh-keys/docker-worker-kvm")
    tc_creds = tc.secret("project/servo/tc-client/worker/docker-worker-kvm/1")
    win2016 = tc.api("awsProvisioner", "workerType", "servo-win2016")
    files_by_desc = {
        f.get("description"): f
        for f in win2016["secrets"]["files"]
    }

    def decode(description):
        f = files_by_desc[description]
        assert f["encoding"] == "base64"
        return base64.b64decode(f["content"])

    terraform_vars = dict(
        ssh_pub_key=ssh_key["public"],
        ssh_priv_key=ssh_key["private"],
        taskcluster_client_id=tc_creds["client_id"],
        taskcluster_access_token=tc_creds["access_token"],
        packet_api_key=tc.packet_auth_token(),
        ssl_certificate=decode("SSL certificate for livelog"),
        cert_key=decode("SSL key for livelog"),
    )
    env = dict(os.environ)
    env["PACKET_AUTH_TOKEN"] = terraform_vars["packet_api_key"]
    env.update({"TF_VAR_" + k: v for k, v in terraform_vars.items()})
    sys.exit(subprocess.call(["terraform"] + list(args), env=env))
Beispiel #2
0
def main():
    tc.check()
    global PACKET_AUTH_TOKEN
    PACKET_AUTH_TOKEN = tc.packet_auth_token()
    response = api_request("/projects/%s/devices?per_page=1000" %
                           SERVO_PROJECT_ID)
    for device in response["devices"]:
        print(device["id"])
        print("    Hostname:\t" + device["hostname"])
        print("    Plan:\t" + device["plan"]["name"])
        print("    OS: \t" + device["operating_system"]["name"])
        for address in device["ip_addresses"]:
            if address["public"]:
                print("    IPv%s:\t%s" %
                      (address["address_family"], address["address"]))
        print("    Created:\t" + device["created_at"].replace("T", " "))
        print("    Updated:\t" + device["updated_at"].replace("T", " "))
    assert response["meta"]["next"] is None
Beispiel #3
0
def main(*args):
    tc.check()
    ssh_key = tc.secret("project/servo/ssh-keys/docker-worker-kvm")
    tc_creds = tc.secret("project/servo/tc-client/worker/docker-worker-kvm/1")
    livelog = tc.livelog()

    terraform_vars = dict(
        ssh_pub_key=ssh_key["public"],
        ssh_priv_key=ssh_key["private"],
        taskcluster_client_id=tc_creds["client_id"],
        taskcluster_access_token=tc_creds["access_token"],
        packet_api_key=tc.packet_auth_token(),
        ssl_certificate=livelog["livelog_cert_base64"],
        cert_key=livelog["livelog_key_base64"],
    )
    env = dict(os.environ)
    env["PACKET_AUTH_TOKEN"] = terraform_vars["packet_api_key"]
    env.update({"TF_VAR_" + k: v for k, v in terraform_vars.items()})
    sys.exit(subprocess.call(["terraform"] + list(args), env=env))
Beispiel #4
0
def main(*args):
    tc.check()
    ssh_key = tc.secret("project/servo/ssh-keys/docker-worker-kvm")
    tc_creds = tc.secret("project/servo/tc-client/worker/docker-worker-kvm/1")
    livelog = tc.livelog()

    terraform_vars = dict(
        ssh_pub_key=ssh_key["public"],
        ssh_priv_key=ssh_key["private"],
        taskcluster_client_id=tc_creds["client_id"],
        taskcluster_access_token=tc_creds["access_token"],
        packet_api_key=tc.packet_auth_token(),
        ssl_certificate=livelog["livelog_cert_base64"],
        cert_key=livelog["livelog_key_base64"],
    )
    env = dict(os.environ)
    env["PACKET_AUTH_TOKEN"] = terraform_vars["packet_api_key"]
    env.update({"TF_VAR_" + k: v for k, v in terraform_vars.items()})
    cwd = os.path.abspath(os.path.dirname(__file__))
    sys.exit(subprocess.call(["terraform"] + list(args), env=env, cwd=cwd))