def test_multi_backend_with_ceph_no_swift(self):
     self.maxDiff = None
     self.relation_ids.return_value = []
     self.is_relation_made.return_value = True
     service = 'glance'
     self.service_name.return_value = service
     data_dir = '/some/data/dir'
     conf_dict = {
         'filesystem-store-datadir': data_dir,
         'rbd-pool-name': 'mypool',
     }
     self.config.side_effect = lambda x: conf_dict.get(x)
     self.assertEqual(
         contexts.MultiBackendContext()(), {
             'enabled_backend_configs': {
                 'local': {
                     'filesystem_store_datadir': data_dir,
                     'store_description': 'Local filesystem store',
                 },
                 'ceph': {
                     "rbd_store_chunk_size": 8,
                     "rbd_store_pool": 'mypool',
                     "rbd_store_user": service,
                     "rados_connect_timeout": 0,
                     "rbd_store_ceph_conf": "/etc/ceph/ceph.conf",
                 }
             },
             'enabled_backends': 'local:file, ceph:rbd',
             'default_store_backend': 'ceph',
         })
 def test_multi_backend_with_swift(self):
     self.maxDiff = None
     self.relation_ids.return_value = ["object-store:0"]
     self.is_relation_made.return_value = False
     data_dir = '/some/data/dir'
     conf_dict = {
         'filesystem-store-datadir': data_dir,
     }
     swift_conf = "/etc/glance/glance-swift.conf"
     self.config.side_effect = lambda x: conf_dict.get(x)
     self.assertEqual(
         contexts.MultiBackendContext()(), {
             'enabled_backend_configs': {
                 'local': {
                     'filesystem_store_datadir': data_dir,
                     'store_description': 'Local filesystem store',
                 },
                 'swift': {
                     "default_swift_reference": "swift",
                     "swift_store_config_file": swift_conf,
                     "swift_store_create_container_on_put": "true",
                 }
             },
             'enabled_backends': 'local:file, swift:swift',
             'default_store_backend': 'swift',
         })
 def test_multi_backend_no_relations_no_data_dir(self):
     self.relation_ids.return_value = []
     self.is_relation_made.return_value = False
     data_dir = ''
     conf_dict = {
         'filesystem-store-datadir': data_dir,
     }
     self.config.side_effect = lambda x: conf_dict.get(x)
     self.assertEqual(
         contexts.MultiBackendContext()(), {
             'enabled_backend_configs': {},
             'enabled_backends': None,
             'default_store_backend': None,
         })
 def test_multi_backend_no_relations(self):
     self.relation_ids.return_value = []
     self.is_relation_made.return_value = False
     data_dir = '/some/data/dir'
     conf_dict = {
         'filesystem-store-datadir': data_dir,
     }
     self.config.side_effect = lambda x: conf_dict.get(x)
     self.assertEqual(
         contexts.MultiBackendContext()(), {
             'enabled_backend_configs': {
                 'local': {
                     'filesystem_store_datadir': data_dir,
                     'store_description': 'Local filesystem store',
                 }
             },
             'enabled_backends': 'local:file',
             'default_store_backend': 'local',
         })
Esempio n. 5
0
     'hook_contexts': [
         context.SharedDBContext(ssl_dir=GLANCE_CONF_DIR),
         context.AMQPContext(ssl_dir=GLANCE_CONF_DIR),
         context.IdentityServiceContext(service='glance',
                                        service_user='******'),
         glance_contexts.GlanceContext(),
         glance_contexts.CephGlanceContext(),
         glance_contexts.ObjectStoreContext(),
         glance_contexts.CinderStoreContext(),
         glance_contexts.HAProxyContext(),
         context.SyslogContext(),
         glance_contexts.LoggingConfigContext(),
         glance_contexts.GlanceIPv6Context(),
         context.WorkerConfigContext(),
         glance_contexts.MultiStoreContext(),
         glance_contexts.MultiBackendContext(),
         context.OSConfigFlagContext(charm_flag='api-config-flags',
                                     template_flag='api_config_flags'),
         context.InternalEndpointContext(),
         context.VolumeAPIContext('glance-common'),
         context.SubordinateConfigContext(interface=['storage-backend'],
                                          service=['glance-api'],
                                          config_file=GLANCE_API_CONF),
         context.MemcacheContext()
     ],
     'services': ['glance-api']
 }),
 (GLANCE_SWIFT_CONF, {
     'hook_contexts': [
         glance_contexts.ObjectStoreContext(),
         context.IdentityServiceContext(service='glance',