def _build_store(self): # NOTE(flaper87): Due to the nice glance_store api (#sarcasm), we're # forced to build our own config object, register the required options # (and by required I mean *ALL* of them, even the ones we don't want), # and create our own store instance by calling a private function. # This is certainly unfortunate but it's the best we can do until the # glance_store refactor is done. A good thing is that glance_store is # under our team's management and it gates on Glance so changes to # this API will (should?) break task's tests. conf = cfg.ConfigOpts() backend.register_opts(conf) conf.set_override('filesystem_store_datadir', CONF.task.work_dir, group='glance_store', enforce_type=True) # NOTE(flaper87): Do not even try to judge me for this... :( # With the glance_store refactor, this code will change, until # that happens, we don't have a better option and this is the # least worst one, IMHO. store = backend._load_store(conf, 'file') if store is None: msg = (_("%(task_id)s of %(task_type)s not configured " "properly. Could not load the filesystem store") % {'task_id': self.task_id, 'task_type': self.task_type}) raise exception.BadTaskConfiguration(msg) store.configure() return store
def _build_store(self): # NOTE(flaper87): Due to the nice glance_store api (#sarcasm), we're # forced to build our own config object, register the required options # (and by required I mean *ALL* of them, even the ones we don't want), # and create our own store instance by calling a private function. # This is certainly unfortunate but it's the best we can do until the # glance_store refactor is done. A good thing is that glance_store is # under our team's management and it gates on Glance so changes to # this API will (should?) break task's tests. # TODO(abhishekk): After removal of backend module from glance_store # need to change this to use multi_backend module. conf = cfg.ConfigOpts() try: backend.register_opts(conf) except cfg.DuplicateOptError: pass conf.set_override('filesystem_store_datadir', CONF.node_staging_uri[7:], group='glance_store') # NOTE(flaper87): Do not even try to judge me for this... :( # With the glance_store refactor, this code will change, until # that happens, we don't have a better option and this is the # least worst one, IMHO. store = backend._load_store(conf, 'file') if store is None: msg = (_("%(task_id)s of %(task_type)s not configured " "properly. Could not load the filesystem store") % {'task_id': self.task_id, 'task_type': self.task_type}) raise exception.BadTaskConfiguration(msg) store.configure() return store
def _build_store(self): # NOTE(jokke): If we want to use some other store for staging, we can # implement the logic more general here. For now this should do. # NOTE(flaper87): Due to the nice glance_store api (#sarcasm), we're # forced to build our own config object, register the required options # (and by required I mean *ALL* of them, even the ones we don't want), # and create our own store instance by calling a private function. # This is certainly unfortunate but it's the best we can do until the # glance_store refactor is done. A good thing is that glance_store is # under our team's management and it gates on Glance so changes to # this API will (should?) break task's tests. conf = cfg.ConfigOpts() backend.register_opts(conf) conf.set_override('filesystem_store_datadir', CONF.node_staging_uri[7:], group='glance_store') # NOTE(flaper87): Do not even try to judge me for this... :( # With the glance_store refactor, this code will change, until # that happens, we don't have a better option and this is the # least worst one, IMHO. store = backend._load_store(conf, 'file') try: store.configure() except AttributeError: msg = (_("%(task_id)s of %(task_type)s not configured " "properly. Could not load the filesystem store") % { 'task_id': self.task_id, 'task_type': self.task_type }) raise exception.BadTaskConfiguration(msg)
def _build_store(self): # TODO(abhishekk): After removal of backend module from glance_store # need to change this to use multi_backend module. # NOTE(jokke): If we want to use some other store for staging, we can # implement the logic more general here. For now this should do. # NOTE(flaper87): Due to the nice glance_store api (#sarcasm), we're # forced to build our own config object, register the required options # (and by required I mean *ALL* of them, even the ones we don't want), # and create our own store instance by calling a private function. # This is certainly unfortunate but it's the best we can do until the # glance_store refactor is done. A good thing is that glance_store is # under our team's management and it gates on Glance so changes to # this API will (should?) break task's tests. conf = cfg.ConfigOpts() try: backend.register_opts(conf) except cfg.DuplicateOptError: pass conf.set_override('filesystem_store_datadir', CONF.node_staging_uri[7:], group='glance_store') # NOTE(flaper87): Do not even try to judge me for this... :( # With the glance_store refactor, this code will change, until # that happens, we don't have a better option and this is the # least worst one, IMHO. store = backend._load_store(conf, 'file') try: store.configure() except AttributeError: msg = (_("%(task_id)s of %(task_type)s not configured " "properly. Could not load the filesystem store") % {'task_id': self.task_id, 'task_type': self.task_type}) raise exception.BadTaskConfiguration(msg)
def setUp(self, mock_session): """Establish a clean test environment""" super(TestStore, self).setUp() vm_store.Store.CHUNKSIZE = 2 self.config(default_store='vmware', stores=['vmware']) backend.register_opts(self.conf) self.config(group='glance_store', vmware_server_username='******', vmware_server_password='******', vmware_server_host=VMWARE_DS['vmware_server_host'], vmware_api_insecure=VMWARE_DS['vmware_api_insecure'], vmware_datastore_name=VMWARE_DS['vmware_datastore_name'], vmware_datacenter_path=VMWARE_DS['vmware_datacenter_path']) backend.create_stores(self.conf) self.store = backend.get_store_from_scheme('vsphere') class FakeSession: def __init__(self): self.vim = FakeVim() class FakeVim: def __init__(self): self.client = FakeClient() class FakeClient: def __init__(self): self.options = FakeOptions() class FakeOptions: def __init__(self): self.transport = FakeTransport() class FakeTransport: def __init__(self): self.cookiejar = FakeCookieJar() class FakeCookieJar: pass self.store._session = FakeSession() self.store._session.invoke_api = mock.Mock() self.store._session.wait_for_task = mock.Mock() self.store.store_image_dir = ( VMWARE_DS['vmware_store_image_dir']) vm_store.Store._build_vim_cookie_header = mock.Mock()
def _build_staging_store(): conf = cfg.ConfigOpts() backend.register_opts(conf) conf.set_override('filesystem_store_datadir', CONF.node_staging_uri[7:], group='glance_store') staging_store = backend._load_store(conf, 'file') try: staging_store.configure() except AttributeError: msg = _("'node_staging_uri' is not set correctly. Could not " "load staging store.") raise exception.BadStoreUri(message=msg) return staging_store
def setUp(self, mock_session): """Establish a clean test environment""" super(TestStore, self).setUp() vm_store.Store.CHUNKSIZE = 2 self.config(default_store='vmware', stores=['vmware']) backend.register_opts(self.conf) self.config(group='glance_store', vmware_server_username='******', vmware_server_password='******', vmware_server_host=VMWARE_DS['vmware_server_host'], vmware_api_insecure=VMWARE_DS['vmware_api_insecure'], vmware_datastore_name=VMWARE_DS['vmware_datastore_name'], vmware_datacenter_path=VMWARE_DS['vmware_datacenter_path']) backend.create_stores(self.conf) self.store = backend.get_store_from_scheme('vsphere') class FakeSession: def __init__(self): self.vim = FakeVim() class FakeVim: def __init__(self): self.client = FakeClient() class FakeClient: def __init__(self): self.options = FakeOptions() class FakeOptions: def __init__(self): self.transport = FakeTransport() class FakeTransport: def __init__(self): self.cookiejar = FakeCookieJar() class FakeCookieJar: pass self.store._session = FakeSession() self.store._session.invoke_api = mock.Mock() self.store._session.wait_for_task = mock.Mock() self.store.store_image_dir = (VMWARE_DS['vmware_store_image_dir']) vm_store.Store._build_vim_cookie_header = mock.Mock()
def _build_staging_store(): conf = cfg.ConfigOpts() try: backend.register_opts(conf) except cfg.DuplicateOptError: pass conf.set_override('filesystem_store_datadir', CONF.node_staging_uri[7:], group='glance_store') staging_store = backend._load_store(conf, 'file') try: staging_store.configure() except AttributeError: msg = _("'node_staging_uri' is not set correctly. Could not " "load staging store.") raise exception.BadStoreUri(message=msg) return staging_store
def setUp(self, mock_api_session, mock_get_datastore): """Establish a clean test environment.""" super(TestStore, self).setUp() vm_store.Store.CHUNKSIZE = 2 self.config(default_store='vmware', stores=['vmware']) backend.register_opts(self.conf) self.config(group='glance_store', vmware_server_username='******', vmware_server_password='******', vmware_server_host=VMWARE_DS['vmware_server_host'], vmware_insecure=VMWARE_DS['vmware_insecure'], vmware_datastores=VMWARE_DS['vmware_datastores']) mock_get_datastore.side_effect = fake_datastore_obj backend.create_stores(self.conf) self.store = backend.get_store_from_scheme('vsphere') self.store.store_image_dir = (VMWARE_DS['vmware_store_image_dir'])
def setUp(self, mock_api_session, mock_get_datastore): """Establish a clean test environment.""" super(TestStore, self).setUp() vm_store.Store.CHUNKSIZE = 2 self.config(default_store='vmware', stores=['vmware']) backend.register_opts(self.conf) self.config(group='glance_store', vmware_server_username='******', vmware_server_password='******', vmware_server_host=VMWARE_DS['vmware_server_host'], vmware_api_insecure=VMWARE_DS['vmware_api_insecure'], vmware_datastores=VMWARE_DS['vmware_datastores']) mock_get_datastore.side_effect = fake_datastore_obj backend.create_stores(self.conf) self.store = backend.get_store_from_scheme('vsphere') self.store.store_image_dir = ( VMWARE_DS['vmware_store_image_dir'])
def setUp(self, mock_session): """Establish a clean test environment.""" super(TestStore, self).setUp() vm_store.Store.CHUNKSIZE = 2 self.config(default_store='vmware', stores=['vmware']) backend.register_opts(self.conf) self.config(group='glance_store', vmware_server_username='******', vmware_server_password='******', vmware_server_host=VMWARE_DS['vmware_server_host'], vmware_api_insecure=VMWARE_DS['vmware_api_insecure'], vmware_datastore_name=VMWARE_DS['vmware_datastore_name'], vmware_datacenter_path=VMWARE_DS['vmware_datacenter_path']) backend.create_stores(self.conf) self.store = backend.get_store_from_scheme('vsphere') self.store.store_image_dir = ( VMWARE_DS['vmware_store_image_dir']) vm_store.Store._build_vim_cookie_header = mock.Mock()