summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.gateway
diff options
context:
space:
mode:
authorSelvasundaram <selvam@gluster.com>2011-08-10 21:23:10 +0530
committerSelvasundaram <selvam@gluster.com>2011-08-10 21:23:10 +0530
commita26edbc55a5f80fb0ec333f3a043b3cfc6068cef (patch)
tree742abb43e76e134d91e6c55de7919eb0cd79e031 /src/com.gluster.storage.management.gateway
parent00902d1570b0416c71e3f45e7203ce8693639924 (diff)
CIFS Bug fixes
Diffstat (limited to 'src/com.gluster.storage.management.gateway')
-rwxr-xr-xsrc/com.gluster.storage.management.gateway/WebContent/scripts/add_user_cifs_all.py1
-rwxr-xr-xsrc/com.gluster.storage.management.gateway/WebContent/scripts/grun.py4
-rw-r--r--src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java5
-rw-r--r--src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java14
4 files changed, 20 insertions, 4 deletions
diff --git a/src/com.gluster.storage.management.gateway/WebContent/scripts/add_user_cifs_all.py b/src/com.gluster.storage.management.gateway/WebContent/scripts/add_user_cifs_all.py
index 40ad5228..d0ad89fc 100755
--- a/src/com.gluster.storage.management.gateway/WebContent/scripts/add_user_cifs_all.py
+++ b/src/com.gluster.storage.management.gateway/WebContent/scripts/add_user_cifs_all.py
@@ -81,6 +81,7 @@ def main():
else:
existingUser = True
+ print (serverFile, uid, userName, password)
rv = Utils.runCommand("grun.py %s add_user_cifs.py %s %s %s" % (serverFile, uid, userName, password))
if existingUser:
sys.exit(rv)
diff --git a/src/com.gluster.storage.management.gateway/WebContent/scripts/grun.py b/src/com.gluster.storage.management.gateway/WebContent/scripts/grun.py
index 47477ce8..f2e2d944 100755
--- a/src/com.gluster.storage.management.gateway/WebContent/scripts/grun.py
+++ b/src/com.gluster.storage.management.gateway/WebContent/scripts/grun.py
@@ -41,8 +41,8 @@ def main():
rv = Utils.runCommand(sshCommandPrefix + [serverName.strip()] + command, output=True)
if rv["Status"] != 0:
sys.stderr.write("%s: %s\n" % (serverName, rv["Status"]))
- sys.stderr.write("Stdout:\n%s\n" % rv["Stdout"]))
- sys.stderr.write("Stderr:\n%s\n" % rv["Stderr"]))
+ sys.stderr.write("Stdout:\n%s\n" % rv["Stdout"])
+ sys.stderr.write("Stderr:\n%s\n" % rv["Stderr"])
sys.stderr.write("---\n")
status = False
diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java
index 74275955..e62f7a12 100644
--- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java
+++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java
@@ -210,8 +210,11 @@ public class VolumesResource extends AbstractResource {
volumeService.rebalanceStop(clusterName, volumeName);
} else if (operation.equals(RESTConstants.FORM_PARAM_CIFS_CONFIG)) {
if (enableCifs) {
- volumeService.modifyCIFSUsers(clusterName, volumeName, cifsUsers);
+ // After add/modify volume cifs users, start/restart the cifs service
+ volumeService.createCIFSUsers(clusterName, volumeName, cifsUsers);
+ volumeService.startCifsReExport(clusterName, volumeName);
} else {
+ // Stop the Cifs service and delete the users (!important)
volumeService.stopCifsReExport(clusterName, volumeName);
volumeService.deleteCifsUsers(clusterName, volumeName);
}
diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java
index 0bd1b4ce..d1cb3a26 100644
--- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java
+++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java
@@ -44,6 +44,7 @@ import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.GlusterServer;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.model.Volume.NAS_PROTOCOL;
+import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
import com.gluster.storage.management.core.model.VolumeLogMessage;
import com.gluster.storage.management.core.response.LogMessageListResponse;
@@ -287,6 +288,8 @@ public class VolumeService {
ProcessResult result = serverUtil.executeGlusterScript(true, VOLUME_DELETE_CIFS_SCRIPT,
file.getAbsolutePath(), volumeName);
file.delete();
+ // All the CIFS users deleted, hence stop CIFS service for this volume
+ stopCifsReExport(clusterName, volumeName);
if (!result.isSuccess()) {
throw new GlusterRuntimeException(result.toString());
}
@@ -296,12 +299,20 @@ public class VolumeService {
}
}
- private void createCIFSUsers(String clusterName, String volumeName, String cifsUsers) {
+ public void createCIFSUsers(String clusterName, String volumeName, String cifsUsers) {
try {
File file = createOnlineServerList(clusterName);
ProcessResult result = serverUtil.executeGlusterScript(true, VOLUME_CREATE_CIFS_SCRIPT,
file.getAbsolutePath(), volumeName, cifsUsers.replace(",", " "));
file.delete();
+ Volume volume = getVolume(clusterName, volumeName);
+ // If the volume service is already in running, create user may start CIFS re-export automatically.
+ if (volume.getStatus() == VOLUME_STATUS.ONLINE) {
+ startCifsReExport(clusterName, volumeName);
+ }
+ /*
+ * else { stopCifsReExport(clusterName, volumeName); }
+ */
if (!result.isSuccess()) {
throw new GlusterRuntimeException(result.toString());
}
@@ -311,6 +322,7 @@ public class VolumeService {
}
}
+ @Deprecated
public void modifyCIFSUsers(String clusterName, String volumeName, String cifsUsers) {
try {
File file = createOnlineServerList(clusterName);