diff options
| author | Selvasundaram <selvam@gluster.com> | 2011-08-10 21:23:10 +0530 |
|---|---|---|
| committer | Selvasundaram <selvam@gluster.com> | 2011-08-10 21:23:10 +0530 |
| commit | a26edbc55a5f80fb0ec333f3a043b3cfc6068cef (patch) | |
| tree | 742abb43e76e134d91e6c55de7919eb0cd79e031 /src/com.gluster.storage.management.gateway | |
| parent | 00902d1570b0416c71e3f45e7203ce8693639924 (diff) | |
CIFS Bug fixes
Diffstat (limited to 'src/com.gluster.storage.management.gateway')
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); |
