diff options
author | Mohammed Junaid <junaid@redhat.com> | 2013-02-07 07:42:34 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2013-03-07 00:55:34 -0800 |
commit | 598ca6bbaabc0b67708a1ecfbef1372eb9927ed9 (patch) | |
tree | 69e1d0e63812cf26701997b396ecd11551247a10 /ufo/test/unit | |
parent | b7b5c51bbeb6401c65cc879f7aacb9c7ca1c85b1 (diff) |
object-storage: Restoring multi volume support in UFO.
* Currently, the users of UFO are restricted to use just one volume
at any given point of time. This patch removes this limitation.
* The usage of gluster-swift-gen-builders has also changed. With this
commit the users should mention the list of volumes that they want
to expose through UFO. So, only the volumes mentioned during the
ring file generation can be accessed.
Usage: gluster-swift-gen-builders <vol-name1> [<vol-name2>]...
This is an intermediate fix until we remove the account, container and
object server processes. Once we have this frame work running, it will
completely eliminate the ring files.
Change-Id: I9ad3808519fec9c7c60ad846c4f8b653117a8337
BUG: 909053
Signed-off-by: Mohammed Junaid <junaid@redhat.com>
Reviewed-on: http://review.gluster.org/4485
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-by: Peter Portante <pportant@redhat.com>
Diffstat (limited to 'ufo/test/unit')
-rw-r--r-- | ufo/test/unit/common/test_ring.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/ufo/test/unit/common/test_ring.py b/ufo/test/unit/common/test_ring.py new file mode 100644 index 00000000000..d3dac609c59 --- /dev/null +++ b/ufo/test/unit/common/test_ring.py @@ -0,0 +1,43 @@ +# Copyright (c) 2013 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import unittest +import gluster.swift.common.constraints +from gluster.swift.common.ring import * +from gluster.swift.common.Glusterfs import SWIFT_DIR + +def _mock_ring_data(): + return [{'zone': 1, 'weight': 100.0, 'ip': '127.0.0.1', 'port': 6012, \ + 'meta': '', 'device': 'test', 'id': 0}, + {'zone': 2, 'weight': 100.0, 'ip': '127.0.0.1', 'id': 1, \ + 'meta': '', 'device': 'iops', 'port': 6012}] + +class TestRing(unittest.TestCase): + """ Tests for common.utils """ + + def setUp(self): + self.ring = Ring(SWIFT_DIR, ring_name='object') + + def test_get_notes(self): + try: + __devs = self.ring._devs + self.ring._devs = _mock_ring_data() + part, node = self.ring.get_nodes('test') + assert node[0]['device'] == 'test' + part, node = self.ring.get_nodes('test2') + assert node + assert node[0]['device'] == 'volume' + finally: + self.ring._devs = __devs |