def main_installer(): gluster_version = run_helper.get_gluster_version() if gluster_version[-7:] != '.tar.gz': tarball = gluster_version + '.tar.gz' else: tarball = gluster_version status = install_gluster(tarball) if status: print 'Installation went Bananas. Please look into it.' return status
def install_gluster_rpms(rpms): nodes = run_helper.get_nodes_ip() clients = run_helper.get_client_ip() for client in clients: if client not in nodes: nodes.append(client) g_version = run_helper.get_gluster_version() if g_version[-7:] == '.tar.gz': gluster_version = g_version[:-7] else: gluster_version = g_version match = re.search(r'glusterfs-([\w.]+)', gluster_version) if not match: print 'unable to get gluster version to determine the rpm URL. Please check the configfile' sys.exit(1) version = match.group(1) ret_queue = Queue.Queue() threads = [] for node in nodes: t = threading.Thread(target=install_rpm, args=(node, version, rpms, ret_queue)) t.start() threads.append(t) ret_codes = [] for t in threads: t.join() ret_codes.append(ret_queue.get()) ret_value = 0 for ret in ret_codes: if ret != 0: ret_value = 1 break return ret_value