From 0d07db0e6b58e583ede7e261d323e7fe3002b7ef Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Tue, 15 Dec 2015 16:48:26 +0000
Subject: [PATCH] got download working

---
 .../dm/common/utility/ldapLinuxPlatformUtility.py      |  6 +++++-
 .../ds_web_service/service/impl/experimentManager.py   | 10 +++++++---
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/python/dm/common/utility/ldapLinuxPlatformUtility.py b/src/python/dm/common/utility/ldapLinuxPlatformUtility.py
index 11b2a088..3b4e1a1a 100755
--- a/src/python/dm/common/utility/ldapLinuxPlatformUtility.py
+++ b/src/python/dm/common/utility/ldapLinuxPlatformUtility.py
@@ -183,7 +183,7 @@ class LdapLinuxPlatformUtility:
                 return
         except Exception, ex:
             raise InternalError(exception=ex)
-        logger.debug('Adding user %s to group %s' % (username, groupName))
+        logger.debug('Removing user %s from group %s' % (username, groupName))
         memberUidList2 = copy.copy(memberUidList)
         memberUidList2.remove(username)
         groupAttrs2 = copy.copy(groupAttrs)
@@ -278,4 +278,8 @@ class LdapLinuxPlatformUtility:
 if __name__ == '__main__':
     utility = LdapLinuxPlatformUtility('ldaps://dmid-vm.xray.aps.anl.gov:636', 'uid=dmadmin,ou=People,o=aps.anl.gov,dc=aps,dc=anl,dc=gov', '/tmp/ldapPassword', groupDnFormat='cn=%s,ou=DM,ou=Group,o=aps.anl.gov,dc=aps,dc=anl,dc=gov', minGidNumber=66000)
     print utility.getGroupInfo(u'id8i-test02')
+    utility.addLocalUserToGroup(u'sveseli', u'id8i-test02')
+    print utility.getGroupInfo(u'id8i-test02')
+    #utility.deleteLocalUserFromGroup(u'sveseli', u'id8i-test02')
+    #print utility.getGroupInfo(u'id8i-test02')
 
diff --git a/src/python/dm/ds_web_service/service/impl/experimentManager.py b/src/python/dm/ds_web_service/service/impl/experimentManager.py
index 804b031b..de809aeb 100755
--- a/src/python/dm/ds_web_service/service/impl/experimentManager.py
+++ b/src/python/dm/ds_web_service/service/impl/experimentManager.py
@@ -24,7 +24,7 @@ class ExperimentManager(Singleton):
     MANAGE_STORAGE_PERMISSIONS_KEY = 'managestoragepermissions'
     PLATFORM_UTILITY_KEY = 'platformutility'
 
-    RSYNC_SCRIPT_PERMISSIONS_MODE = 0711
+    RSYNC_SCRIPT_PERMISSIONS_MODE = 0755
     FILE_PERMISSIONS_MODE = 0640
     DIR_PERMISSIONS_MODE = 0750
 
@@ -93,17 +93,20 @@ class ExperimentManager(Singleton):
             self.platformUtility.setGroupUsers(experimentName, experimentUsers)
 
     def createRsyncScript(self, username, experimentName):
-        fileName = '/tmp/rsync.%s.%s.' % (username, experimentName)
+        fileName = '/tmp/rsync.%s.%s' % (username, experimentName)
+        self.logger.debug('Creating rsync script %s' % (fileName))
         f = open(fileName, 'w')
         f.write('#!/bin/sh\n')
         f.write('exec sg %s "rsync $*"\n' % experimentName)
         f.close()
         OsUtility.chmodPath(fileName, fileMode=self.RSYNC_SCRIPT_PERMISSIONS_MODE)
     def deleteRsyncScript(self, username, experimentName):
-        fileName = '/tmp/rsync.%s.%s.' % (username, experimentName)
+        fileName = '/tmp/rsync.%s.%s' % (username, experimentName)
+        self.logger.debug('Removing rsync script %s' % (fileName))
         OsUtility.removeFile(fileName)
 
     def authorizeDownload(self, username, experimentName):
+        self.logger.debug('Authorizing download for %s from experiment %s' % (username, experimentName))
         experiment = self.experimentDbApi.getExperimentByName(experimentName)
         storageDirectory = self.updateExperimentWithStorageDataDirectory(experiment)
         if os.path.exists(storageDirectory):
@@ -115,6 +118,7 @@ class ExperimentManager(Singleton):
 
     def deauthorizeDownload(self, username, experimentName):
         experiment = self.experimentDbApi.getExperimentByName(experimentName)
+        self.logger.debug('De-authorizing download for %s from experiment %s' % (username, experimentName))
         storageDirectory = self.updateExperimentWithStorageDataDirectory(experiment)
         if os.path.exists(storageDirectory):
             self.platformUtility.deleteLocalUserFromGroup(username, experimentName)
-- 
GitLab