示例#1
0
def create_osds_remote(remote_mons_ips_ls):
    config_api = ConfigAPI()
    remote_status = StatusReport()
    for remot_mon in remote_mons_ips_ls:
        ssh_obj = ssh()
        status = StatusReport()

        out, err = ssh_obj.exec_command(
            remot_mon,
            " python {} ".format(config_api.get_node_create_osd_script_path()))

        logger.info(" ".join([remot_mon, out]))

        if "/report/" in out:  # To avoid -- IndexError: list index out of range
            status.load_json(str(out.split("/report/")[1]))
        else:
            if err:
                status.load_json("Status Report Error , error : {}".format(
                    str(err)))
            else:
                status.load_json("Connection Error.")

        remote_status.failed_tasks.extend(status.failed_tasks)

        if not status.success:
            logger.error(
                "Cannot create osd for remote node {}".format(remot_mon))
            remote_status.success = False
            return remote_status

    return remote_status
示例#2
0
def create_osds_local():
    config_api = ConfigAPI()
    status = StatusReport()
    out, err = exec_command(" python {} ".format(
        config_api.get_node_create_osd_script_path()))
    status.load_json(str(out.split("/report/")[1]))

    if os.path.exists(config_api.get_node_pre_config_disks()):
        os.remove(config_api.get_node_pre_config_disks())

    return status