summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBala.FA <bala@gluster.com>2011-08-08 19:00:17 +0530
committerBala.FA <bala@gluster.com>2011-08-08 19:05:25 +0530
commite390256f76fc6980e39ba9e73f189b6306aa54ee (patch)
treec2c6c8f2115d4ef1a53b6438bb5a406acf0e6071
parent3db75057a2e3f416aaa4c62ce16a7ce50966e0cf (diff)
setup_cifs_config.py ignores already configured servers. Added new setup_cifs_config_all.py helps to setup samba on existing cluster.
Signed-off-by: Bala.FA <bala@gluster.com>
-rw-r--r--build/glustermg.spec2
-rwxr-xr-xsrc/com.gluster.storage.management.gateway.scripts/src/setup_cifs_config.py76
-rwxr-xr-xsrc/com.gluster.storage.management.gateway/WebContent/scripts/setup_cifs_config_all.py29
3 files changed, 75 insertions, 32 deletions
diff --git a/build/glustermg.spec b/build/glustermg.spec
index ce1e6217..d7bf474c 100644
--- a/build/glustermg.spec
+++ b/build/glustermg.spec
@@ -55,6 +55,7 @@ rm -f $RPM_BUILD_ROOT/glustermg.war.tar.gz
ln -sf /opt/glustermg/%{release_version}/glustermg/scripts/grun.py %{buildroot}%{_sbindir}/grun.py
ln -sf /opt/glustermg/%{release_version}/glustermg/scripts/add_user_cifs_all.py %{buildroot}%{_sbindir}/add_user_cifs_all.py
ln -sf /opt/glustermg/%{release_version}/glustermg/scripts/delete_user_cifs_all.py %{buildroot}%{_sbindir}/delete_user_cifs_all.py
+ln -sf /opt/glustermg/%{release_version}/glustermg/scripts/setup_cifs_config_all.py %{buildroot}%{_sbindir}/setup_cifs_config_all.py
mkdir -p $RPM_BUILD_ROOT/opt/glustermg/%{release_version}/backend
mkdir -p $RPM_BUILD_ROOT/var/lib/rrd
@@ -156,6 +157,7 @@ rm -rf $RPM_BUILD_ROOT
%{_sbindir}/grun.py
%{_sbindir}/add_user_cifs_all.py
%{_sbindir}/delete_user_cifs_all.py
+%{_sbindir}/setup_cifs_config_all.py
%changelog
diff --git a/src/com.gluster.storage.management.gateway.scripts/src/setup_cifs_config.py b/src/com.gluster.storage.management.gateway.scripts/src/setup_cifs_config.py
index 7f9ed612..bb9a47fe 100755
--- a/src/com.gluster.storage.management.gateway.scripts/src/setup_cifs_config.py
+++ b/src/com.gluster.storage.management.gateway.scripts/src/setup_cifs_config.py
@@ -11,28 +11,35 @@ if not p1 in sys.path:
sys.path.append(p1)
if not p2 in sys.path:
sys.path.append(p2)
+import time
import Globals
import Utils
def main():
try:
- os.mkdir(Globals.GLUSTER_BASE_DIR)
- os.mkdir(Globals.VOLUME_CONF_DIR)
- os.mkdir(Globals.CIFS_EXPORT_DIR)
- os.mkdir(Globals.REEXPORT_DIR)
+ if not os.path.exists(Globals.GLUSTER_BASE_DIR):
+ os.mkdir(Globals.GLUSTER_BASE_DIR)
+ if not os.path.exists(Globals.VOLUME_CONF_DIR):
+ os.mkdir(Globals.VOLUME_CONF_DIR)
+ if not os.path.exists(Globals.CIFS_EXPORT_DIR):
+ os.mkdir(Globals.CIFS_EXPORT_DIR)
+ if not os.path.exists(Globals.REEXPORT_DIR):
+ os.mkdir(Globals.REEXPORT_DIR)
except OSError, e:
Utils.log("failed to create directory: %s" % str(e))
sys.exit(1)
try:
- fp = open(Globals.VOLUME_SMBCONF_FILE, "w")
- fp.close()
+ if not os.path.exists(Globals.VOLUME_SMBCONF_FILE):
+ fp = open(Globals.VOLUME_SMBCONF_FILE, "w")
+ fp.close()
except IOError, e:
Utils.log("Failed to create file %s: %s" % (Globals.VOLUME_SMBCONF_FILE, str(e)))
sys.exit(2)
try:
- os.rename(Globals.SAMBA_CONF_FILE, "%s.orig" % Globals.SAMBA_CONF_FILE)
+ backupFile = "%s.%s" % (Globals.SAMBA_CONF_FILE, time.time())
+ os.rename(Globals.SAMBA_CONF_FILE, backupFile)
except IOError, e:
- Utils.log("Ignoring rename %s to %s: %s" % (Globals.SAMBA_CONF_FILE, "%s.orig" % Globals.SAMBA_CONF_FILE, str(e)))
+ Utils.log("Ignoring rename %s to %s: %s" % (Globals.SAMBA_CONF_FILE, backupFile))
try:
fp = open(Globals.SAMBA_CONF_FILE, "w")
fp.write("##\n")
@@ -48,38 +55,43 @@ def main():
Utils.log("Failed to create samba configuration file %s: %s" % (Globals.SAMBA_CONF_FILE, str(e)))
sys.exit(3)
try:
- fp = open(Globals.REAL_SAMBA_CONF_FILE, "w")
- fp.write("[global]\n")
- fp.write("## CAUTION: DO NOT REMOVE BELOW INCLUDE LINE. REMOVAL OF THE LINE\n")
- fp.write("## DISABLES SERVER/CIFS HIGH AVAILABILITY\n")
- #fp.write("include = %s\n" % Globals.CTDB_SAMBA_CONF_FILE)
- fp.write("##\n")
- fp.write("socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=131072 SO_RCVBUF=131072\n")
- fp.write("read raw = yes\n")
- fp.write("server string = %h\n")
- fp.write("write raw = yes\n")
- fp.write("oplocks = yes\n")
- fp.write("max xmit = 131072\n")
- fp.write("dead time = 15\n")
- fp.write("getwd cache = yes\n")
- fp.write("#read size = 131072\n")
- fp.write("use sendfile=yes\n")
- fp.write("block size = 131072\n")
- fp.write("printcap name = /etc/printcap\n")
- fp.write("load printers = no\n")
- fp.close()
+ if not os.path.exists(Globals.REAL_SAMBA_CONF_FILE):
+ fp = open(Globals.REAL_SAMBA_CONF_FILE, "w")
+ fp.write("[global]\n")
+ fp.write("## CAUTION: DO NOT REMOVE BELOW INCLUDE LINE. REMOVAL OF THE LINE\n")
+ fp.write("## DISABLES SERVER/CIFS HIGH AVAILABILITY\n")
+ #fp.write("include = %s\n" % Globals.CTDB_SAMBA_CONF_FILE)
+ fp.write("##\n")
+ fp.write("socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=131072 SO_RCVBUF=131072\n")
+ fp.write("read raw = yes\n")
+ fp.write("server string = %h\n")
+ fp.write("write raw = yes\n")
+ fp.write("oplocks = yes\n")
+ fp.write("max xmit = 131072\n")
+ fp.write("dead time = 15\n")
+ fp.write("getwd cache = yes\n")
+ fp.write("#read size = 131072\n")
+ fp.write("use sendfile=yes\n")
+ fp.write("block size = 131072\n")
+ fp.write("printcap name = /etc/printcap\n")
+ fp.write("load printers = no\n")
+ fp.close()
except IOError, e:
Utils.log("Failed to create samba configuration file %s: %s" % (Globals.REAL_SAMBA_CONF_FILE, str(e)))
sys.exit(4)
-
if Utils.runCommand("setsebool -P samba_share_fusefs on") != 0:
Utils.log("failed to set SELinux samba_share_fusefs")
sys.exit(5)
- if Utils.runCommand("service smb restart") != 0:
- Utils.log("failed to restart smb service")
- sys.exit(6)
+ if Utils.runCommand("service smb status") != 0:
+ if Utils.runCommand("service smb start") != 0:
+ Utils.log("failed to start smb service")
+ sys.exit(6)
+
+ if Utils.runCommand("service smb reload") != 0:
+ Utils.log("failed to reload smb configuration")
+ sys.exit(7)
sys.exit(0)
diff --git a/src/com.gluster.storage.management.gateway/WebContent/scripts/setup_cifs_config_all.py b/src/com.gluster.storage.management.gateway/WebContent/scripts/setup_cifs_config_all.py
new file mode 100755
index 00000000..8dd59c8c
--- /dev/null
+++ b/src/com.gluster.storage.management.gateway/WebContent/scripts/setup_cifs_config_all.py
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com>
+# This file is part of Gluster Management Gateway.
+#
+
+import os
+import sys
+p1 = os.path.abspath(os.path.dirname(sys.argv[0]))
+p2 = "%s/common" % os.path.dirname(p1)
+if not p1 in sys.path:
+ sys.path.append(p1)
+if not p2 in sys.path:
+ sys.path.append(p2)
+import Utils
+
+
+def main():
+ if len(sys.argv) < 2:
+ sys.stderr.write("usage: %s SERVER_FILE\n" % os.path.basename(sys.argv[0]))
+ sys.exit(-1)
+
+ serverFile = sys.argv[1]
+
+ rv = Utils.runCommand(["grun.py", serverFile, "setup_cifs_config.py"])
+ sys.exit(rv)
+
+
+if __name__ == "__main__":
+ main()