def test_get_ceph_request_rbd(self, uuid1, mock_create_pool,
                               mock_request_access,
                               mock_bluestore_compression):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     self.test_config.set('libvirt-image-backend', 'rbd')
     uuid1.return_value = 'my_uuid'
     expected = hooks.CephBrokerRq(request_id="my_uuid")
     result = hooks.get_ceph_request()
     mock_create_pool.assert_called_with(name='nova',
                                         replica_count=3,
                                         weight=28,
                                         group='vms',
                                         app_name='rbd')
     mock_request_access.assert_not_called()
     self.assertEqual(expected, result)
     # confirm operation with bluestore compression
     mock_create_pool.reset_mock()
     mock_bluestore_compression().get_kwargs.return_value = {
         'compression_mode': 'fake',
     }
     hooks.get_ceph_request()
     mock_create_pool.assert_called_once_with(name='nova',
                                              replica_count=3,
                                              weight=28,
                                              group='vms',
                                              app_name='rbd',
                                              compression_mode='fake')
 def test_get_ceph_request_rbd_ec(self, uuid1, mock_create_pool,
                                  mock_request_access,
                                  mock_create_erasure_profile,
                                  mock_create_erasure_pool,
                                  mock_bluestore_compression):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     self.test_config.set('libvirt-image-backend', 'rbd')
     self.test_config.set('pool-type', 'erasure-coded')
     self.test_config.set('ec-profile-plugin', 'shec')
     self.test_config.set('ec-profile-k', 6)
     self.test_config.set('ec-profile-m', 2)
     self.test_config.set('ec-profile-durability-estimator', 2)
     uuid1.return_value = 'my_uuid'
     expected = hooks.CephBrokerRq(request_id="my_uuid")
     result = hooks.get_ceph_request()
     mock_create_pool.assert_called_with(name='nova-metadata',
                                         replica_count=3,
                                         weight=0.28,
                                         group='vms',
                                         app_name='rbd')
     mock_create_erasure_profile.assert_called_with(
         name='nova-profile',
         k=6,
         m=2,
         lrc_locality=None,
         lrc_crush_locality=None,
         shec_durability_estimator=2,
         clay_helper_chunks=None,
         clay_scalar_mds=None,
         device_class=None,
         erasure_type='shec',
         erasure_technique=None)
     mock_create_erasure_pool.assert_called_with(
         name='nova',
         erasure_profile='nova-profile',
         weight=27.72,
         group='vms',
         app_name='rbd',
         allow_ec_overwrites=True)
     mock_request_access.assert_not_called()
     self.assertEqual(expected, result)
     # confirm operation with bluestore compression
     mock_create_erasure_pool.reset_mock()
     mock_bluestore_compression().get_kwargs.return_value = {
         'compression_mode': 'fake',
     }
     hooks.get_ceph_request()
     mock_create_erasure_pool.assert_called_with(
         name='nova',
         erasure_profile='nova-profile',
         weight=27.72,
         group='vms',
         app_name='rbd',
         allow_ec_overwrites=True,
         compression_mode='fake',
     )
 def test_get_ceph_request(self, mock_create_pool, mock_request_access):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     hooks.get_ceph_request()
     mock_create_pool.assert_not_called()
     mock_request_access.assert_not_called()
 def test_get_ceph_request(self, mock_create_pool,
                           mock_request_access):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     hooks.get_ceph_request()
     mock_create_pool.assert_not_called()
     mock_request_access.assert_not_called()
Example #5
0
 def test_get_ceph_request_rbd(self, mock_create_pool,
                               mock_request_access):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     self.test_config.set('libvirt-image-backend', 'rbd')
     hooks.get_ceph_request()
     mock_create_pool.assert_called_with(name='nova', replica_count=3,
                                         weight=28,
                                         group='vms')
     mock_request_access.assert_not_called()
 def test_get_ceph_request_rbd(self, mock_create_pool,
                               mock_request_access):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     self.test_config.set('libvirt-image-backend', 'rbd')
     hooks.get_ceph_request()
     mock_create_pool.assert_called_with(name='nova', replica_count=3,
                                         weight=28,
                                         group='vms')
     mock_request_access.assert_not_called()
 def test_get_ceph_request_perms(self, uuid1, mock_create_pool,
                                 mock_request_access):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     self.test_config.set('libvirt-image-backend', 'rbd')
     self.test_config.set('restrict-ceph-pools', True)
     uuid1.return_value = 'my_uuid'
     expected = hooks.CephBrokerRq(request_id="my_uuid")
     result = hooks.get_ceph_request()
     mock_create_pool.assert_called_with(name='nova',
                                         replica_count=3,
                                         weight=28,
                                         group='vms',
                                         app_name='rbd')
     mock_request_access.assert_has_calls([
         call(name='volumes',
              object_prefix_permissions={'class-read': ['rbd_children']},
              permission='rwx'),
         call(name='images',
              object_prefix_permissions={'class-read': ['rbd_children']},
              permission='rwx'),
         call(name='vms',
              object_prefix_permissions={'class-read': ['rbd_children']},
              permission='rwx'),
     ])
     self.assertEqual(expected, result)
 def test_get_ceph_request_perms(self, mock_create_pool,
                                 mock_request_access):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     self.test_config.set('libvirt-image-backend', 'rbd')
     self.test_config.set('restrict-ceph-pools', True)
     hooks.get_ceph_request()
     mock_create_pool.assert_called_with(name='nova', replica_count=3,
                                         weight=28,
                                         group='vms')
     mock_request_access.assert_has_calls([
         call(name='volumes', permission='rwx'),
         call(name='images', permission='rwx'),
         call(name='vms', permission='rwx'),
     ])
 def test_get_ceph_request_perms(self, mock_create_pool,
                                 mock_request_access):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     self.test_config.set('libvirt-image-backend', 'rbd')
     self.test_config.set('restrict-ceph-pools', True)
     hooks.get_ceph_request()
     mock_create_pool.assert_called_with(name='nova', replica_count=3,
                                         weight=28,
                                         group='vms')
     mock_request_access.assert_has_calls([
         call(name='volumes', permission='rwx'),
         call(name='images', permission='rwx'),
         call(name='vms', permission='rwx'),
     ])
 def test_get_ceph_request(self, uuid1, mock_create_pool,
                           mock_request_access, mock_bluestore_compression):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     uuid1.return_value = 'my_uuid'
     expected = hooks.CephBrokerRq(request_id="my_uuid")
     result = hooks.get_ceph_request()
     mock_create_pool.assert_not_called()
     mock_request_access.assert_not_called()
     self.assertEqual(expected, result)
 def test_get_ceph_request_rbd(self, uuid1, mock_create_pool,
                               mock_request_access):
     self.assert_libvirt_rbd_imagebackend_allowed.return_value = True
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     self.test_config.set('libvirt-image-backend', 'rbd')
     uuid1.return_value = 'my_uuid'
     expected = hooks.CephBrokerRq(request_id="my_uuid")
     result = hooks.get_ceph_request()
     mock_create_pool.assert_called_with(name='nova',
                                         replica_count=3,
                                         weight=28,
                                         group='vms',
                                         app_name='rbd')
     mock_request_access.assert_not_called()
     self.assertEqual(expected, result)
Example #12
0
 def test_get_ceph_request(self, mock_add_op):
     self.test_config.set('rbd-pool', 'nova')
     self.test_config.set('ceph-osd-replication-count', 3)
     self.test_config.set('ceph-pool-weight', 28)
     hooks.get_ceph_request()
     mock_add_op.assert_called_with(name='nova', replica_count=3, weight=28)