diff options
author | Mohammed Junaid <junaid@redhat.com> | 2012-05-21 15:47:28 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-05-21 22:14:39 -0700 |
commit | 93893b9ac06479bdfe28f94fce961594b928121a (patch) | |
tree | 4db2b2f1e7757d78c6161685b6b8919f3e75be1a /swift/1.4.8/plugins | |
parent | afc623f85e766a9006d7ba7cb81123ca3e10a719 (diff) |
swift: Passing account name in container_update.
This patch also contains fixes to bugs
* 811501
* 812498
* 821310
Also, removed the default set of users in the proxy-server.conf file.
Change-Id: Ief83905d10ff7bf7c43685ada4d7f05959cee9d1
BUG: 821310
Signed-off-by: Mohammed Junaid <junaid@redhat.com>
Reviewed-on: http://review.gluster.com/3390
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'swift/1.4.8/plugins')
-rw-r--r-- | swift/1.4.8/plugins/DiskDir.py | 4 | ||||
-rw-r--r-- | swift/1.4.8/plugins/DiskFile.py | 20 | ||||
-rw-r--r-- | swift/1.4.8/plugins/Glusterfs.py | 1 | ||||
-rw-r--r-- | swift/1.4.8/plugins/conf/proxy-server.conf | 4 | ||||
-rw-r--r-- | swift/1.4.8/plugins/utils.py | 24 |
5 files changed, 28 insertions, 25 deletions
diff --git a/swift/1.4.8/plugins/DiskDir.py b/swift/1.4.8/plugins/DiskDir.py index 4b813167196..28671be3cd9 100644 --- a/swift/1.4.8/plugins/DiskDir.py +++ b/swift/1.4.8/plugins/DiskDir.py @@ -220,14 +220,14 @@ class DiskDir(DiskCommon): self.metadata[X_BYTES_USED] = int(self.metadata[X_BYTES_USED]) - int(content_length) self.put_metadata(self.metadata) - def put_container(self, timestamp, object_count, bytes_used): + def put_container(self, container, put_timestamp, del_timestamp, object_count, bytes_used): """ For account server. """ self.metadata[X_OBJECTS_COUNT] = 0 self.metadata[X_BYTES_USED] = 0 self.metadata[X_CONTAINER_COUNT] = int(self.metadata[X_CONTAINER_COUNT]) + 1 - self.metadata[X_PUT_TIMESTAMP] = timestamp + self.metadata[X_PUT_TIMESTAMP] = 1 self.put_metadata(self.metadata) def delete_container(self, object_count, bytes_used): diff --git a/swift/1.4.8/plugins/DiskFile.py b/swift/1.4.8/plugins/DiskFile.py index 815e1c3ab54..6f77eaaa57a 100644 --- a/swift/1.4.8/plugins/DiskFile.py +++ b/swift/1.4.8/plugins/DiskFile.py @@ -15,6 +15,8 @@ import os from eventlet import tpool +from tempfile import mkstemp +from contextlib import contextmanager from swift.common.utils import normalize_timestamp, renamer from swift.plugins.utils import mkdirs, rmdirs, validate_object, \ check_valid_account, create_object_metadata, do_open, \ @@ -294,3 +296,21 @@ class Gluster_DiskFile(DiskFile): if X_OBJECT_TYPE in self.metadata: self.metadata.pop(X_OBJECT_TYPE) + @contextmanager + def mkstemp(self): + """Contextmanager to make a temporary file.""" + + if not os.path.exists(self.tmpdir): + mkdirs(self.tmpdir) + fd, tmppath = mkstemp(dir=self.tmpdir) + try: + yield fd, tmppath + finally: + try: + os.close(fd) + except OSError: + pass + try: + os.unlink(tmppath) + except OSError: + pass diff --git a/swift/1.4.8/plugins/Glusterfs.py b/swift/1.4.8/plugins/Glusterfs.py index d5e847a8239..eb8d535dbf9 100644 --- a/swift/1.4.8/plugins/Glusterfs.py +++ b/swift/1.4.8/plugins/Glusterfs.py @@ -67,7 +67,6 @@ class Glusterfs(object): def get_export_list_remote(self): export_list = [] cmnd = 'ssh %s gluster volume info' % self.mount_ip - print 'Remote' if os.system(cmnd + ' >> /dev/null'): raise Exception('Getting volume info failed %s, make sure to have \ diff --git a/swift/1.4.8/plugins/conf/proxy-server.conf b/swift/1.4.8/plugins/conf/proxy-server.conf index 7f23d85ccd9..1fcde8e0d3a 100644 --- a/swift/1.4.8/plugins/conf/proxy-server.conf +++ b/swift/1.4.8/plugins/conf/proxy-server.conf @@ -13,10 +13,6 @@ account_autocreate = true [filter:tempauth] use = egg:swift#tempauth -user_admin_admin = admin .admin .reseller_admin -user_test_tester = testing .admin -user_test2_tester2 = testing2 .admin -user_test_tester3 = testing3 [filter:healthcheck] use = egg:swift#healthcheck diff --git a/swift/1.4.8/plugins/utils.py b/swift/1.4.8/plugins/utils.py index 57c6180fdd1..e28a6bd853c 100644 --- a/swift/1.4.8/plugins/utils.py +++ b/swift/1.4.8/plugins/utils.py @@ -323,33 +323,21 @@ def check_user_xattr(path): def _check_valid_account(account, fs_object): mount_path = getattr(fs_object, 'mount_path', MOUNT_PATH) - if not check_account_exists(fs_object.get_export_from_account_id(account), \ - fs_object): + if os.path.ismount(os.path.join(mount_path, account)): + return True + + if not check_account_exists(fs_object.get_export_from_account_id(account), fs_object): logging.error('Account not present %s', account) return False - if not os.path.ismount(os.path.join(mount_path, account)): - if not os.path.isdir(os.path.join(mount_path, account)): - mkdirs(os.path.join(mount_path, account)) - + if not os.path.isdir(os.path.join(mount_path, account)): + mkdirs(os.path.join(mount_path, account)) fs_object.unmount(os.path.join(mount_path, account)) if fs_object: if not fs_object.mount(account): return False - if not check_user_xattr(os.path.join(mount_path, account)): - logging.error('Error: No support for user.xattr on backend %s' % account) - return False - - chmod_cmd = ['chmod 777 %s' % (mount_path), \ - 'chmod 777 %s/%s' % (mount_path, account)] - - for cmd in chmod_cmd: - if os.system(cmd): - logging.error('Chmod failed: %s' % (cmd)) - return False - return True def check_valid_account(account, fs_object): |