Example #1
0
def generate_environment_json(admin_host_ipaddr, available_hosts,
        use_bogus_hosts=False):
    log.info("Deploying SSH keys")
    tsclient.deploy_ssh_key(admin_host_ipaddr)

    tsclient.fetch_admin_node_ssh_key(admin_host_ipaddr)

    available_hosts2 = []
    machine_id = tsclient.fetch_machine_id(admin_host_ipaddr, admin_host_ipaddr)
    available_hosts2.append(("admin", admin_host_ipaddr,
        "bogus_mac", admin_host_ipaddr, machine_id))

    log.info("Fetching machine IDs")
    for servername, serial, macaddr, ipaddr in available_hosts:
        log.info("Attempting to fetch {} {} machine ID".format(servername, ipaddr))
        while True:
            try:
                machine_id = tsclient.fetch_machine_id(admin_host_ipaddr, ipaddr)
                available_hosts2.append((servername, serial, macaddr, ipaddr,
                    machine_id))
                break
            except APIError as e:
                # 'port 22: No route to host'
                # 'port 22: Connection refused'
                if 'Connection timed out' not in str(e):
                    log.info("The host is not ready yet: %s" % str(e))
                sleep(10)

    log.info("Fetching done")

    if use_bogus_hosts:
        log.info("Adding bogus hosts to environment.json to run Velum setup")
        available_hosts2.append(('bogus', 'bogus', 'bogus', '8.8.8.8', 'bogus'))

    create_environment_json(admin_host_ipaddr, available_hosts2)
Example #2
0
def generate_environment_json(admin_host_ipaddr,
                              available_hosts,
                              use_bogus_hosts=False):
    log.info("Deploying SSH keys")
    tsclient.deploy_ssh_key(admin_host_ipaddr)

    tsclient.fetch_admin_node_ssh_key(admin_host_ipaddr)

    available_hosts2 = []
    machine_id = tsclient.fetch_machine_id(admin_host_ipaddr,
                                           admin_host_ipaddr)
    available_hosts2.append(("admin", admin_host_ipaddr, "bogus_mac",
                             admin_host_ipaddr, machine_id))

    log.info("Fetching machine IDs")
    for servername, serial, macaddr, ipaddr in available_hosts:
        log.info("Attempting to fetch {} {} machine ID".format(
            servername, ipaddr))
        while True:
            msg = ""
            try:
                machine_id = tsclient.fetch_machine_id(admin_host_ipaddr,
                                                       ipaddr)
                available_hosts2.append(
                    (servername, serial, macaddr, ipaddr, machine_id))
                break
            except APIError as e:
                # log out message only when it changes
                if str(e) != msg:
                    msg = str(e)
                    log.info("The host is not ready yet: {}".format(msg))
                sleep(10)

    log.info("Fetching done")

    if use_bogus_hosts:
        log.info("Adding bogus hosts to environment.json to run Velum setup")
        available_hosts2.append(
            ('bogus', 'bogus', 'bogus', '8.8.8.8', 'bogus'))

    create_environment_json(admin_host_ipaddr, available_hosts2)
Example #3
0
def generate_environment_json(admin_host_ipaddr, available_hosts,
        use_bogus_hosts=False):
    log.info("Deploying SSH keys")
    tsclient.deploy_ssh_key(admin_host_ipaddr)

    tsclient.fetch_admin_node_ssh_key(admin_host_ipaddr)

    available_hosts2 = []
    machine_id = tsclient.fetch_machine_id(admin_host_ipaddr, admin_host_ipaddr)
    available_hosts2.append(("admin", admin_host_ipaddr,
        "bogus_mac", admin_host_ipaddr, machine_id))

    log.info("Fetching machine IDs")
    for servername, serial, macaddr, ipaddr in available_hosts:
        log.info("Attempting to fetch {} {} machine ID".format(servername, ipaddr))
        while True:
            msg = ""
            try:
                machine_id = tsclient.fetch_machine_id(admin_host_ipaddr, ipaddr)
                available_hosts2.append((servername, serial, macaddr, ipaddr,
                    machine_id))
                break
            except APIError as e:
                # log out message only when it changes
                if str(e) != msg:
                    msg = str(e)
                    log.info("The host is not ready yet: {}".format(msg))
                sleep(10)

    log.info("Fetching done")

    if use_bogus_hosts:
        log.info("Adding bogus hosts to environment.json to run Velum setup")
        available_hosts2.append(('bogus', 'bogus', 'bogus', '8.8.8.8', 'bogus'))

    create_environment_json(admin_host_ipaddr, available_hosts2)