diff options
Diffstat (limited to 'extras/volgen/CreateBooster.py')
| -rw-r--r-- | extras/volgen/CreateBooster.py | 67 | 
1 files changed, 44 insertions, 23 deletions
diff --git a/extras/volgen/CreateBooster.py b/extras/volgen/CreateBooster.py index 9051f44017f..3f56db34d3e 100644 --- a/extras/volgen/CreateBooster.py +++ b/extras/volgen/CreateBooster.py @@ -7,50 +7,71 @@ fstype = "glusterfs"  class CreateBooster: -    def __init__ (self, main_name, export_dir): +    def __init__ (self, options): -        self.volume_name = main_name -        self.export = export_dir +        self.volume_name = options.volume_name +        self.need_nfs = options.need_nfs +        self.need_cifs = options.need_cifs +        self.username = options.cifs_username +        self.enable_guest = options.enable_guest      def configure_booster_fstab (self): -        if self.volume_name is None or self.export is None: -            sys.exit(1)          booster_fstab_fd = file (GLUSTERFS_BOOSTER_FSTAB, "a") -        _fstab = "%s/%s.vol  %s" % (CONFDIR, self.volume_name, self.export) -        _options = "%s subvolume=io-cache" % fstype -        _options_log = "logfile=%s/%s.log" % (LOGDIR, self.volume_name) -        _options_ext = "loglevel=ERROR,attr_timeout=0" -        booster_fstab_fd.write ("%s %s,%s,%s\n" % -                                (_fstab, -                                 _options, -                                 _options_log, -                                 _options_ext)) +        if self.need_nfs: +            _fstab = "%s/%s.vol  %s" % (CONFDIR, self.volume_name, str("/nfs/" + self.volume_name)) +            _options = "%s" % fstype +            _options_log = "logfile=%s/%s-nfs.log" % (LOGDIR, self.volume_name) +            _options_ext = "loglevel=ERROR,attr_timeout=0" +            booster_fstab_fd.write ("%s %s %s,%s\n" % +                                    (_fstab, +                                     _options, +                                     _options_log, +                                     _options_ext)) + +        if self.need_cifs: +            _fstab = "%s/%s.vol  %s" % (CONFDIR, self.volume_name, str("/cifs/" + self.volume_name)) +            _options = "%s" % fstype +            _options_log = "logfile=%s/%s-cifs.log" % (LOGDIR, self.volume_name) +            _options_ext = "loglevel=ERROR,attr_timeout=0" +            booster_fstab_fd.write ("%s %s %s,%s\n" % +                                    (_fstab, +                                     _options, +                                     _options_log, +                                     _options_ext))          return      def configure_nfs_booster (self): -        if self.volume_name is None or self.export is None: -            sys.exit(1)          nfs_exports_fd = file (GLUSTERFS_UNFS3_EXPORTS, "a")          nfs_exports_fd.write ("%s  0.0.0.0/0(rw,no_root_squash)\n" % -                              self.export) +                              str("/nfs/" + self.volume_name))          return      def configure_cifs_booster (self): -        if self.volume_name is None or self.export is None: -            sys.exit(1) -          cifs_config_fd = file (GLUSTERFS_CIFS_CONFIG, "a")          cifs_config_fd.write ("[%s]\n" % self.volume_name)          cifs_config_fd.write ("comment = %s volume served by Gluster\n" %                                self.volume_name) -        cifs_config_fd.write ("path = %s\n" % self.export) -        cifs_config_fd.write ("guest ok = yes\n") +        cifs_config_fd.write ("path = %s\n" % str("/cifs/" + self.volume_name)) +        if self.enable_guest: +            cifs_config_fd.write ("guest ok = yes\n")          cifs_config_fd.write ("public = yes\n")          cifs_config_fd.write ("writable = yes\n") -        cifs_config_fd.write ("admin users = gluster\n") +        cifs_config_fd.write ("users = %s\n" % self.username)          cifs_config_fd.close()          return + +    def configure_booster (self): + +        self.configure_booster_fstab() +        if self.need_nfs: +            self.configure_nfs_booster() +            print "Generating booster configuration for NFS reexport" +        if self.need_cifs: +            self.configure_cifs_booster() +            print "Generating booster configuration for CIFS reexport" + +        return  | 
