diff options
Diffstat (limited to 'extras/volgen/glusterfs-volgen.in')
-rwxr-xr-x | extras/volgen/glusterfs-volgen.in | 121 |
1 files changed, 43 insertions, 78 deletions
diff --git a/extras/volgen/glusterfs-volgen.in b/extras/volgen/glusterfs-volgen.in index 4fc28f6af22..d36a5b668b2 100755 --- a/extras/volgen/glusterfs-volgen.in +++ b/extras/volgen/glusterfs-volgen.in @@ -27,51 +27,7 @@ if not (prefix + "/share/glusterfs") in sys.path: sys.path.append(prefix + "/share/glusterfs") from CreateVolfile import * -from CreateBooster import * - -def check_duplicate_entry(args): - """Check duplicate entries in incoming arguments""" - _tmp = [] - for server in args: - if server not in _tmp: - _tmp.append (server) - else: - print "Duplicate arguments detected (%s)" % server - raise ValueError - - return - -def args2dict(args): - - keyvalue = {} - for arg in args: - if int(arg.find(':')) == -1: - continue - first = arg.split(':')[0] - keyvalue[first] = [] - - for arg in args: - if int(arg.find(':')) == -1: - continue - first = arg.split(':')[0] - if arg.split(':')[1] not in keyvalue[first]: - if arg.split(':')[1][0] != '/': - print "Absolute export path required for %s" % arg - raise ValueError - keyvalue[first].append (arg.split(':')[1]) - - return keyvalue - -def args2array(args): - - array = [] - - for arg in args: - if int(arg.find(':')) == -1: - continue - array.append(arg) - - return array +from Common import * def generate_volume_files (): @@ -93,48 +49,39 @@ def generate_volume_files (): group.add_option("-p", "--port", type="int", dest="port", default=6996, help="<port> number") - group.add_option("-a", "--auth", dest="auth_param", default="*", + group.add_option("--auth", dest="auth_param", default="*", help="comma seperated ip range") group.add_option("-r", "--raid", type="int", dest="raid_type", help="0|1") + group.add_option("-c", "--conf-dir", dest="conf_dir", + default=os.getcwd(), + help="output directory for volume files") group.add_option("--nfs", action="store_true", dest="need_nfs", - default=False, help="booster nfs reexport") - group.add_option("--cifs", action="store_true", dest="need_cifs", - default=False, help="booster cifs reexport") - parse.add_option_group(group) - - # CIFS option list - group = OptionGroup(parse, "CIFS Options") - group.add_option("--username", dest="cifs_username", - default="gluster", help="<cifs_username>") - group.add_option("--guest", action="store_true", - dest="enable_guest", default=False, - help="enable guest access") + default=False, help="enable nfs translator") parse.add_option_group(group) - # NFS option list # Advanced option list group = OptionGroup(parse, "Advanced Options") group.add_option("--ibdev", type="int", dest="ib_dev", default=1, help="Infiniband device number <N>") - group.add_option("-c", "--conf-dir", dest="conf_dir", - help="output directory for volume files") group.add_option("--volume-size-server", dest="size_server", help="volume size for each server") group.add_option("--volume-size-client", dest="size_client", help="volume size for each client") + group.add_option("--safe-mode", action="store_true", + dest="enable_safe_mode", default=False, + help="generate volume files in safe mode") parse.add_option_group(group) - group = OptionGroup(parse, "Extra Options") - group.add_option("--unused", action="store_true", - dest="unused", default=False, - help="enable unused options") - group.add_option("--debug", action="store_true", - dest="debug", default=False, - help="add all debug modules to volumes") + # Changes for Dynamic Volume Manager + #group = OptionGroup(parse, "Dynamic Volume Options") + #group.add_option("--add-server", dest="add_server_args", + # help="Add server to existing volume") + #group.add_option("--migrate", dest="migrate_server_args", + # help="Migrate servers from existing volumes") - parse.add_option_group(group) + #parse.add_option_group(group) (options, args) = parse.parse_args() @@ -142,6 +89,10 @@ def generate_volume_files (): print "Error: volume name is mandatory, please provide volume name" raise ValueError + if options.need_nfs and options.size_client: + print "Error: Currently quota not supported with native NFS, please use server side instead" + raise ValueError + if options.transport_type: transports = options.transport_type.split(',') for transport in transports: @@ -155,13 +106,33 @@ def generate_volume_files (): print "Error: --raid: option " + str(options.raid_type) + " is not valid raid type" raise ValueError - - check_duplicate_entry(args) + if options.conf_dir: + if not os.path.isdir(options.conf_dir): + print "Specified directory %s doesn't exist" % options.conf_dir + raise ValueError server_dict = {} - server_dict = args2dict(args) + # Dynamic Volume Manager + #if options.add_server_args: + # add_server_list = (options.add_server_args).strip().split() + # check_duplicate_entry(add_server_list) + # old_server_list = get_old_server_args(list_export_vols(options.conf_dir, + # options.volume_name), + # options.conf_dir) + # for new_server in add_server_list: + # old_server_list.append(new_server) + + # server_dict = args2dict(old_server_list) + # server_array = args2array(old_server_list) + # if len (server_dict.keys()) == 0: + # print "Error: no servers provided, please provide atleast one server" + # raise ValueError + + #else: + check_duplicate_entry(args) + server_dict = args2dict(args) server_array = args2array(args) if len (server_dict.keys()) == 0: @@ -199,12 +170,6 @@ def generate_volume_files (): print "Got %s creating client volfiles for transport '%s'" % (strerror, transport) - create_booster = CreateBooster (options, transports) - try: - create_booster.configure_booster () - except IOError, (errno, strerror): - print "Got %s creating booster configuration" % (strerror) - def main (): try: |