本文整理汇总了Python中usage.cluster函数的典型用法代码示例。如果您正苦于以下问题:Python cluster函数的具体用法?Python cluster怎么用?Python cluster使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cluster函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: node_standby
def node_standby(argv,standby=True):
if len(argv) == 0 and "--all" not in utils.pcs_options:
if standby:
usage.cluster(["standby"])
else:
usage.cluster(["unstandby"])
sys.exit(1)
nodes = utils.getNodesFromPacemaker()
if "--all" not in utils.pcs_options:
nodeFound = False
for node in nodes:
if node == argv[0]:
nodeFound = True
break
if not nodeFound:
utils.err("node '%s' does not appear to exist in configuration" % argv[0])
if standby:
utils.run(["crm_standby", "-v", "on", "-N", node])
else:
utils.run(["crm_standby", "-D", "-N", node])
else:
for node in nodes:
if standby:
utils.run(["crm_standby", "-v", "on", "-N", node])
else:
utils.run(["crm_standby", "-D", "-N", node])
开发者ID:yash2710,项目名称:wamp,代码行数:30,代码来源:cluster.py
示例2: cluster_get_corosync_conf
def cluster_get_corosync_conf(argv):
if len(argv) != 1:
usage.cluster()
exit(1)
node = argv[0]
print utils.getCorosyncConfig(node)
开发者ID:bwheatley,项目名称:pcs,代码行数:7,代码来源:cluster.py
示例3: cluster_localnode
def cluster_localnode(argv):
if len(argv) != 2:
usage.cluster()
exit(1)
elif argv[0] == "add":
node = argv[1]
if not utils.is_rhel6():
success = utils.addNodeToCorosync(node)
else:
success = utils.addNodeToClusterConf(node)
if success:
print "%s: successfully added!" % node
else:
utils.err("unable to add %s" % node)
elif argv[0] in ["remove","delete"]:
node = argv[1]
if not utils.is_rhel6():
success = utils.removeNodeFromCorosync(node)
else:
success = utils.removeNodeFromClusterConf(node)
if success:
print "%s: successfully removed!" % node
else:
utils.err("unable to remove %s" % node)
else:
usage.cluster()
exit(1)
开发者ID:deriamis,项目名称:pcs,代码行数:29,代码来源:cluster.py
示例4: cluster_get_corosync_conf
def cluster_get_corosync_conf(argv):
if len(argv) != 1:
usage.cluster()
exit(1)
node = argv[0]
retval, output = utils.getCorosyncConfig(node)
print output
开发者ID:lyon667,项目名称:pcs,代码行数:8,代码来源:cluster.py
示例5: corosync_setup
def corosync_setup(argv,returnConfig=False):
fedora_config = not utils.is_rhel6()
if len(argv) < 2:
usage.cluster()
exit(1)
if not returnConfig and "--start" in utils.pcs_options and not "--local" in utils.pcs_options and fedora_config:
sync_start(argv)
return
elif not returnConfig and not "--local" in utils.pcs_options and fedora_config:
sync(argv)
return
else:
nodes = argv[1:]
cluster_name = argv[0]
# Verify that all nodes are resolvable otherwise problems may occur
for node in nodes:
try:
socket.gethostbyname(node)
except socket.error:
print "Warning: Unable to resolve hostname: %s" % node
if fedora_config == True:
f = open(COROSYNC_CONFIG_FEDORA_TEMPLATE, 'r')
corosync_config = f.read()
f.close()
i = 1
new_nodes_section = ""
for node in nodes:
new_nodes_section += " node {\n"
new_nodes_section += " ring0_addr: %s\n" % (node)
new_nodes_section += " nodeid: %d\n" % (i)
new_nodes_section += " }\n"
i = i+1
corosync_config = corosync_config.replace("@@nodes", new_nodes_section)
corosync_config = corosync_config.replace("@@cluster_name",cluster_name)
if returnConfig:
return corosync_config
utils.setCorosyncConf(corosync_config)
else:
output, retval = utils.run(["/usr/sbin/ccs", "-i", "-f", "/etc/cluster/cluster.conf", "--createcluster", cluster_name])
if retval != 0:
print output
print "Error creating cluster:", cluster_name
sys.exit(1)
for node in nodes:
output, retval = utils.run(["/usr/sbin/ccs", "-f", "/etc/cluster/cluster.conf", "--addnode", node])
if retval != 0:
print output
print "Error adding node:", node
sys.exit(1)
if "--start" in utils.pcs_options:
start_cluster([])
开发者ID:lyon667,项目名称:pcs,代码行数:58,代码来源:cluster.py
示例6: cluster_reload
def cluster_reload(argv):
if len(argv) != 1 or argv[0] != "corosync":
usage.cluster(["reload"])
exit(1)
output, retval = utils.reloadCorosync()
if retval != 0 or "invalid option" in output:
utils.err(output.rstrip())
print "Corosync reloaded"
开发者ID:deriamis,项目名称:pcs,代码行数:9,代码来源:cluster.py
示例7: node_standby
def node_standby(argv,standby=True):
if len(argv) == 0:
usage.cluster()
sys.exit(1)
if standby:
utils.run(["crm_standby", "-v", "on", "-N", argv[0]])
else:
utils.run(["crm_standby", "-D", "-N", argv[0]])
开发者ID:lyon667,项目名称:pcs,代码行数:9,代码来源:cluster.py
示例8: cluster_pacemaker
def cluster_pacemaker(argv):
if len(argv) < 2 or argv[0] != "remove":
usage.cluster(["pacemaker"])
sys.exit(1)
argv.pop(0)
node = argv.pop(0)
output, retval = utils.run(["crm_node", "--force","-R", node])
if retval != 0 and output != "":
print output
utils.err("unable to remove node from pacemaker")
开发者ID:adrianlzt,项目名称:pcs,代码行数:11,代码来源:cluster.py
示例9: cluster_cib_rollback
def cluster_cib_rollback(argv):
if len(argv) != 1:
usage.cluster(["cib-rollback"])
sys.exit(1)
cib_path = os.path.join(settings.cib_dir, argv[0])
try:
snapshot_dom = parse(cib_path)
except Exception as e:
utils.err("unable to read CIB from '%s': %s" % (cib_path, e))
utils.replace_cib_configuration(snapshot_dom)
开发者ID:deriamis,项目名称:pcs,代码行数:11,代码来源:cluster.py
示例10: cluster_node
def cluster_node(argv):
if len(argv) != 2:
usage.cluster();
sys.exit(1)
if argv[0] == "add":
add_node = True
elif argv[0] == "remove":
add_node = False
else:
usage.cluster();
sys.exit(1)
node = argv[1]
status,output = utils.checkStatus(node)
if status == 2:
print "Error: pcsd is not running on %s" % node
sys.exit(1)
elif status == 3:
print "Error: %s is not yet authenticated (try pcs cluster auth %s)" % (node, node)
sys.exit(1)
if add_node == True:
corosync_conf = None
for my_node in utils.getNodesFromCorosyncConf():
retval, output = utils.addLocalNode(my_node,node)
if retval != 0:
print "Error: unable to add %s on %s - %s" % (node,my_node,output.strip())
else:
print "%s: Corosync updated" % my_node
corosync_conf = output
if corosync_conf != None:
utils.setCorosyncConfig(node, corosync_conf)
utils.startCluster(node)
else:
print "Error: Unable to update any nodes"
sys.exit(1)
else:
nodesRemoved = False
output, retval = utils.run(["crm_node", "--force","-R", node])
for my_node in utils.getNodesFromCorosyncConf():
retval, output = utils.removeLocalNode(my_node,node)
if retval != 0:
print "Error: unable to remove %s on %s - %s" % (node,my_node,output.strip())
else:
if output[0] == 0:
print "%s: Corosync updated" % my_node
nodesRemoved = True
else:
print "%s: Error executing command occured: %s" % (my_node, "".join(output[1]))
if nodesRemoved == False:
print "Error: Unable to update any nodes"
sys.exit(1)
开发者ID:lyon667,项目名称:pcs,代码行数:54,代码来源:cluster.py
示例11: cluster_push
def cluster_push(argv):
if len(argv) == 1:
filename = argv[0]
else:
usage.cluster()
sys.exit(1)
output, retval = utils.run(["cibadmin", "--replace", "--xml-file", filename])
if retval != 0:
utils.err("unable to push cib\n" + output)
else:
print "CIB updated"
开发者ID:deriamis,项目名称:pcs,代码行数:11,代码来源:cluster.py
示例12: cluster_uidgid
def cluster_uidgid(argv, silent_list = False):
if utils.is_rhel6():
cluster_uidgid_rhel6(argv, silent_list)
return
if len(argv) == 0:
found = False
uid_gid_files = os.listdir(settings.corosync_uidgid_dir)
for ug_file in uid_gid_files:
uid_gid_dict = utils.read_uid_gid_file(ug_file)
if "uid" in uid_gid_dict or "gid" in uid_gid_dict:
line = "UID/GID: uid="
if "uid" in uid_gid_dict:
line += uid_gid_dict["uid"]
line += " gid="
if "gid" in uid_gid_dict:
line += uid_gid_dict["gid"]
print line
found = True
if not found and not silent_list:
print "No uidgids configured in cluster.conf"
return
command = argv.pop(0)
uid=""
gid=""
if (command == "add" or command == "rm") and len(argv) > 0:
for arg in argv:
if arg.find('=') == -1:
utils.err("uidgid options must be of the form uid=<uid> gid=<gid>")
(k,v) = arg.split('=',1)
if k != "uid" and k != "gid":
utils.err("%s is not a valid key, you must use uid or gid" %k)
if k == "uid":
uid = v
if k == "gid":
gid = v
if uid == "" and gid == "":
utils.err("you must set either uid or gid")
if command == "add":
utils.write_uid_gid_file(uid,gid)
elif command == "rm":
retval = utils.remove_uid_gid_file(uid,gid)
if retval == False:
utils.err("no uidgid files with uid=%s and gid=%s found" % (uid,gid))
else:
usage.cluster(["uidgid"])
exit(1)
开发者ID:deriamis,项目名称:pcs,代码行数:54,代码来源:cluster.py
示例13: cluster_uidgid_rhel6
def cluster_uidgid_rhel6(argv, silent_list = False):
if not os.path.isfile("/etc/cluster/cluster.conf"):
utils.err("the /etc/cluster/cluster.conf file doesn't exist on this machine, create a cluster before running this command")
if len(argv) == 0:
found = False
output, retval = utils.run(["/usr/sbin/ccs", "-f", "/etc/cluster/cluster.conf", "--lsmisc"])
if retval != 0:
utils.err("error running ccs\n" + output)
lines = output.split('\n')
for line in lines:
if line.startswith('UID/GID: '):
print line
found = True
if not found and not silent_list:
print "No uidgids configured in cluster.conf"
return
command = argv.pop(0)
uid=""
gid=""
if (command == "add" or command == "rm") and len(argv) > 0:
for arg in argv:
if arg.find('=') == -1:
utils.err("uidgid options must be of the form uid=<uid> gid=<gid>")
(k,v) = arg.split('=',1)
if k != "uid" and k != "gid":
utils.err("%s is not a valid key, you must use uid or gid" %k)
if k == "uid":
uid = v
if k == "gid":
gid = v
if uid == "" and gid == "":
utils.err("you must set either uid or gid")
if command == "add":
output, retval = utils.run(["/usr/sbin/ccs", "-f", "/etc/cluster/cluster.conf", "--setuidgid", "uid="+uid, "gid="+gid])
if retval != 0:
utils.err("unable to add uidgid\n" + output.rstrip())
elif command == "rm":
output, retval = utils.run(["/usr/sbin/ccs", "-f", "/etc/cluster/cluster.conf", "--rmuidgid", "uid="+uid, "gid="+gid])
if retval != 0:
utils.err("unable to remove uidgid\n" + output.rstrip())
# If we make a change, we sync out the changes to all nodes unless we're using -f
if not utils.usefile:
sync_nodes(utils.getNodesFromCorosyncConf(), utils.getCorosyncConf())
else:
usage.cluster(["uidgid"])
exit(1)
开发者ID:deriamis,项目名称:pcs,代码行数:53,代码来源:cluster.py
示例14: cluster_remote_node
def cluster_remote_node(argv):
if len(argv) < 1:
usage.cluster(["remote-node"])
sys.exit(1)
command = argv.pop(0)
if command == "add":
if len(argv) < 2:
usage.cluster(["remote-node"])
sys.exit(1)
hostname = argv.pop(0)
rsc = argv.pop(0)
if not utils.is_resource(rsc):
utils.err("unable to find resource '%s'", rsc)
resource.resource_update(rsc, ["meta", "remote-node="+hostname] + argv)
elif command in ["remove","delete"]:
if len(argv) < 1:
usage.cluster(["remote-node"])
sys.exit(1)
hostname = argv.pop(0)
dom = utils.get_cib_dom()
nvpairs = dom.getElementsByTagName("nvpair")
nvpairs_to_remove = []
for nvpair in nvpairs:
if nvpair.getAttribute("name") == "remote-node" and nvpair.getAttribute("value") == hostname:
for np in nvpair.parentNode.getElementsByTagName("nvpair"):
if np.getAttribute("name").startswith("remote-"):
nvpairs_to_remove.append(np)
for nvpair in nvpairs_to_remove[:]:
nvpair.parentNode.removeChild(nvpair)
utils.replace_cib_configuration(dom)
else:
usage.cluster(["remote-node"])
sys.exit(1)
开发者ID:yash2710,项目名称:wamp,代码行数:35,代码来源:cluster.py
示例15: corosync_configure
def corosync_configure(argv,returnConfig=False):
fedora_config = True
if len(argv) == 0:
usage.cluster()
exit(1)
elif argv[0] == "sync" and len(argv) > 2:
sync(argv[1:])
return
elif argv[0] == "sync_start" and len(argv) > 2:
sync_start(argv[1:])
return
elif len(argv) > 1:
nodes = argv[1:]
cluster_name = argv[0]
else:
usage.cluster()
exit(1)
if fedora_config == True:
f = open(COROSYNC_CONFIG_FEDORA_TEMPLATE, 'r')
else:
f = open(COROSYNC_CONFIG_TEMPLATE, 'r')
corosync_config = f.read()
f.close()
if fedora_config == True:
i = 1
new_nodes_section = ""
for node in nodes:
new_nodes_section += " node {\n"
new_nodes_section += " ring0_addr: %s\n" % (node)
new_nodes_section += " nodeid: %d\n" % (i)
new_nodes_section += " }\n"
i = i+1
corosync_config = corosync_config.replace("@@nodes", new_nodes_section)
corosync_config = corosync_config.replace("@@cluster_name",cluster_name)
if returnConfig:
return corosync_config
try:
f = open(COROSYNC_CONFIG_FILE,'w')
f.write(corosync_config)
f.close()
except IOError:
print "ERROR: Unable to write corosync configuration file, try running as root."
exit(1)
开发者ID:nozawat,项目名称:pcs,代码行数:49,代码来源:cluster.py
示例16: cluster_report
def cluster_report(argv):
if len(argv) != 1:
usage.cluster(["report"])
sys.exit(1)
outfile = argv[0]
dest_outfile = outfile + ".tar.bz2"
if os.path.exists(dest_outfile):
if "--force" not in utils.pcs_options:
utils.err(dest_outfile + " already exists, use --force to overwrite")
else:
try:
os.remove(dest_outfile)
except OSError, e:
utils.err("Unable to remove " + dest_outfile + ": " + e.strerror)
开发者ID:deriamis,项目名称:pcs,代码行数:15,代码来源:cluster.py
示例17: cluster_get_corosync_conf
def cluster_get_corosync_conf(argv):
if utils.is_rhel6():
utils.err("corosync.conf is not supported on RHEL6")
if len(argv) > 1:
usage.cluster()
exit(1)
if len(argv) == 0:
print utils.getCorosyncConf()
return
node = argv[0]
retval, output = utils.getCorosyncConfig(node)
if retval != 0:
utils.err(output)
else:
print output
开发者ID:deriamis,项目名称:pcs,代码行数:18,代码来源:cluster.py
示例18: corosync_configure
def corosync_configure(argv,returnConfig=False):
fedora_config = True
if len(argv) == 0:
usage.cluster()
exit(1)
elif argv[0] == "sync" and len(argv) > 2:
sync(argv[1:])
return
elif argv[0] == "sync_start" and len(argv) > 2:
sync_start(argv[1:])
return
elif len(argv) > 1:
nodes = argv[1:]
cluster_name = argv[0]
else:
usage.cluster()
exit(1)
if fedora_config == True:
f = open(COROSYNC_CONFIG_FEDORA_TEMPLATE, 'r')
else:
f = open(COROSYNC_CONFIG_TEMPLATE, 'r')
corosync_config = f.read()
f.close()
if fedora_config == True:
i = 1
new_nodes_section = ""
for node in nodes:
new_nodes_section += " node {\n"
new_nodes_section += " ring0_addr: %s\n" % (node)
new_nodes_section += " nodeid: %d\n" % (i)
new_nodes_section += " }\n"
i = i+1
corosync_config = corosync_config.replace("@@nodes", new_nodes_section)
corosync_config = corosync_config.replace("@@cluster_name",cluster_name)
if returnConfig:
return corosync_config
utils.setCorosyncConf(corosync_config)
开发者ID:bwheatley,项目名称:pcs,代码行数:43,代码来源:cluster.py
示例19: corosync_setup
def corosync_setup(argv,returnConfig=False):
fedora_config = True
if len(argv) < 2:
usage.cluster()
exit(1)
if not returnConfig and "--start" in utils.pcs_options and not "--local" in utils.pcs_options:
sync_start(argv)
return
elif not returnConfig and not "--local" in utils.pcs_options:
sync(argv)
return
else:
nodes = argv[1:]
cluster_name = argv[0]
if fedora_config == True:
f = open(COROSYNC_CONFIG_FEDORA_TEMPLATE, 'r')
else:
f = open(COROSYNC_CONFIG_TEMPLATE, 'r')
corosync_config = f.read()
f.close()
if fedora_config == True:
i = 1
new_nodes_section = ""
for node in nodes:
new_nodes_section += " node {\n"
new_nodes_section += " ring0_addr: %s\n" % (node)
new_nodes_section += " nodeid: %d\n" % (i)
new_nodes_section += " }\n"
i = i+1
corosync_config = corosync_config.replace("@@nodes", new_nodes_section)
corosync_config = corosync_config.replace("@@cluster_name",cluster_name)
if returnConfig:
return corosync_config
utils.setCorosyncConf(corosync_config)
if "--start" in utils.pcs_options:
start_cluster([])
开发者ID:grueni,项目名称:pcs,代码行数:42,代码来源:cluster.py
示例20: cluster_localnode
def cluster_localnode(argv):
if len(argv) != 2:
usage.cluster()
exit(1)
elif argv[0] == "add":
node = argv[1]
success = utils.addNodeToCorosync(node)
if success:
print "%s: successfully added!" % node
else:
utils.err("unable to add %s" % node)
elif argv[0] == "remove":
node = argv[1]
success = utils.removeNodeFromCorosync(node)
if success:
print "%s: successfully removed!" % node
else:
utils.err("unable to remove %s" % node)
else:
usage.cluster()
exit(1)
开发者ID:adrianlzt,项目名称:pcs,代码行数:21,代码来源:cluster.py
注:本文中的usage.cluster函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论