コード例 #1
0
 def test_determine_block_device_with_missing(self, _ensure):
     _ensure.side_effect = self._fake_ensure
     bdevs = '/dev/vdb /srv/swift.img|20G /dev/vdz'
     self.test_config.set('block-device', bdevs)
     result = swift_utils.determine_block_devices()
     ex = ['/dev/vdb', '/srv/swift.img']
     self.assertEqual(ex, result)
コード例 #2
0
 def test_determine_block_device_multi_dev(self, _ensure):
     _ensure.side_effect = self._fake_ensure
     bdevs = '/dev/vdb /dev/vdc /tmp/swift.img|1G'
     self.test_config.set('block-device', bdevs)
     result = swift_utils.determine_block_devices()
     ex = ['/dev/vdb', '/dev/vdc', '/tmp/swift.img']
     self.assertEquals(ex, result)
コード例 #3
0
 def test_determine_block_device_with_missing(self, _ensure):
     _ensure.side_effect = self._fake_ensure
     bdevs = '/dev/vdb /srv/swift.img|20G /dev/vdz'
     self.test_config.set('block-device', bdevs)
     result = swift_utils.determine_block_devices()
     ex = ['/dev/vdb', '/srv/swift.img']
     self.assertEqual(ex, result)
コード例 #4
0
 def test_determine_block_device_duplicate_dev(self, _ensure):
     _ensure.side_effect = self._fake_ensure
     bdevs = '/dev/vdb /dev/vdc /dev/vdc /dev/vdb /tmp/swift.img|1G'
     self.test_config.set('block-device', bdevs)
     result = swift_utils.determine_block_devices()
     ex = ['/dev/vdb', '/dev/vdc', '/tmp/swift.img']
     ex = list(set(ex))
     self.assertEqual(ex, result)
コード例 #5
0
 def test_determine_block_device_guess_dev(self, _ensure, _find,
                                           _check_output):
     "Devices already mounted under /srv/node/ should be returned"
     def _findmnt(cmd):
         dev = cmd[1].split('/')[-1]
         mnt_point = '/srv/node/' + dev
         return FINDMNT_FOUND_TEMPLATE.format(mnt_point, dev)
     _check_output.side_effect = _findmnt
     _ensure.side_effect = self._fake_ensure
     self.test_config.set('block-device', 'guess')
     _find.return_value = ['/dev/vdb', '/dev/sdb']
     result = swift_utils.determine_block_devices()
     self.assertTrue(_find.called)
     self.assertEquals(result, ['/dev/vdb', '/dev/sdb'])
コード例 #6
0
    def test_determine_block_device_guess_dev_not_eligable(
            self, _ensure, _find, _check_output):
        "Devices not mounted under /srv/node/ should not be returned"

        def _findmnt(cmd):
            dev = cmd[1].split('/')[-1]
            mnt_point = '/'
            return FINDMNT_FOUND_TEMPLATE.format(mnt_point, dev)

        _check_output.side_effect = _findmnt
        _ensure.side_effect = self._fake_ensure
        self.test_config.set('block-device', 'guess')
        _find.return_value = ['/dev/vdb']
        result = swift_utils.determine_block_devices()
        self.assertTrue(_find.called)
        self.assertEqual(result, [])
コード例 #7
0
 def test_determine_block_device_guess_dev_not_eligable(self, _ensure,
                                                        _find,
                                                        _check_output):
     "Devices not mounted under /srv/node/ should not be returned"
     def _findmnt(cmd):
         dev = cmd[1].split('/')[-1]
         mnt_point = '/'
         return (FINDMNT_FOUND_TEMPLATE
                 .format(mnt_point, dev).encode('ascii'))
     _check_output.side_effect = _findmnt
     _ensure.side_effect = self._fake_ensure
     self.test_config.set('block-device', 'guess')
     _find.return_value = ['/dev/vdb']
     result = swift_utils.determine_block_devices()
     self.assertTrue(_find.called)
     self.assertEqual(result, [])
コード例 #8
0
def swift_storage_relation_joined(rid=None):
    rel_settings = {
        'zone': config('zone'),
        'object_port': config('object-server-port'),
        'container_port': config('container-server-port'),
        'account_port': config('account-server-port'),
    }

    devs = determine_block_devices() or []
    devs = [os.path.basename(d) for d in devs]
    rel_settings['device'] = ':'.join(devs)
    # Keep a reference of devices we are adding to the ring
    remember_devices(devs)

    rel_settings['private-address'] = get_relation_ip('swift-storage')

    relation_set(relation_id=rid, relation_settings=rel_settings)
コード例 #9
0
    def test_determine_block_device_guess_dev(self, _ensure, _find,
                                              _check_output):
        "Devices already mounted under /srv/node/ should be returned"

        def _findmnt(cmd):
            dev = cmd[1].split('/')[-1]
            mnt_point = '/srv/node/' + dev
            return (FINDMNT_FOUND_TEMPLATE.format(mnt_point,
                                                  dev).encode('ascii'))

        _check_output.side_effect = _findmnt
        _ensure.side_effect = self._fake_ensure
        self.test_config.set('block-device', 'guess')
        _find.return_value = ['/dev/vdb', '/dev/sdb']
        result = swift_utils.determine_block_devices()
        self.assertTrue(_find.called)
        # always returns sorted results
        self.assertEqual(result, ['/dev/sdb', '/dev/vdb'])
コード例 #10
0
 def test_determine_block_device_single_dev(self, _ensure):
     _ensure.side_effect = self._fake_ensure
     bdevs = '/dev/vdb'
     self.test_config.set('block-device', bdevs)
     result = swift_utils.determine_block_devices()
     self.assertEqual(['/dev/vdb'], result)
コード例 #11
0
 def test_determine_block_device_no_config(self):
     self.test_config.set('block-device', None)
     self.assertEqual(swift_utils.determine_block_devices(), None)
コード例 #12
0
 def test_determine_block_device_single_dev(self, _ensure):
     _ensure.side_effect = self._fake_ensure
     bdevs = '/dev/vdb'
     self.test_config.set('block-device', bdevs)
     result = swift_utils.determine_block_devices()
     self.assertEqual(['/dev/vdb'], result)
コード例 #13
0
 def test_determine_block_device_no_config(self):
     self.test_config.set('block-device', None)
     self.assertIsNone(swift_utils.determine_block_devices())