90cebe1938
Signed-off-by: Harshavardhana <harsha@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 421 (Make booster configuration honour conf-dir and transport type) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=421
124 lines
4.8 KiB
Python
124 lines
4.8 KiB
Python
GLUSTERFS_BOOSTER_FSTAB = "booster.fstab"
|
|
GLUSTERFS_UNFS3_EXPORTS = "boosterexports"
|
|
GLUSTERFS_CIFS_CONFIG = "boostersmb.conf"
|
|
LOGDIR = "/var/log/glusterfs"
|
|
fstype = "glusterfs"
|
|
|
|
class CreateBooster:
|
|
|
|
def __init__ (self, options, transports):
|
|
|
|
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
|
|
self.conf_dir = options.conf_dir
|
|
self.transports = transports
|
|
|
|
def configure_booster_fstab (self):
|
|
|
|
_fstab = ""
|
|
_options = ""
|
|
_options_log = ""
|
|
_options_ext = ""
|
|
|
|
if self.conf_dir:
|
|
booster_fstab_fd = file ("%s/%s" % (str(self.conf_dir),
|
|
GLUSTERFS_BOOSTER_FSTAB), "a")
|
|
else:
|
|
booster_fstab_fd = file (GLUSTERFS_BOOSTER_FSTAB, "a")
|
|
|
|
if self.need_nfs:
|
|
for transport in self.transports:
|
|
if self.conf_dir:
|
|
_fstab = "%s/%s-%s.vol %s" % (str(self.conf_dir),
|
|
self.volume_name,
|
|
transport,
|
|
str("/nfs/" +
|
|
self.volume_name))
|
|
else:
|
|
_fstab = "%s-%s.vol %s" % (self.volume_name,
|
|
transport,
|
|
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:
|
|
for transport in self.transports:
|
|
if self.conf_dir:
|
|
_fstab = "%s/%s-%s.vol %s" % (self.conf_dir,
|
|
self.volume_name,
|
|
transport,
|
|
str("/cifs/" +
|
|
self.volume_name))
|
|
else:
|
|
_fstab = "%s-%s.vol %s" % (self.volume_name,
|
|
transport,
|
|
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.conf_dir:
|
|
nfs_exports_fd = file ("%s/%s" % (str(self.conf_dir),
|
|
GLUSTERFS_UNFS3_EXPORTS), "a")
|
|
else:
|
|
nfs_exports_fd = file (GLUSTERFS_UNFS3_EXPORTS, "a")
|
|
|
|
nfs_exports_fd.write ("%s 0.0.0.0/0(rw,no_root_squash)\n" %
|
|
str("/nfs/" + self.volume_name))
|
|
return
|
|
|
|
def configure_cifs_booster (self):
|
|
|
|
if self.conf_dir:
|
|
cifs_config_fd = file ("%s/%s" % (str(self.conf_dir),
|
|
GLUSTERFS_CIFS_CONFIG), "a")
|
|
else:
|
|
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" % 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 ("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
|