def test_storage_no_state_change(self): storagePool = libvirt.virStoragePool() self.mox.StubOutWithMock(api, 'storage_volume_save') api.storage_volume_save(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().AndReturn(None) cachedStorageVolume = StorageVolume() cachedStorageVolume.id = storagePool.UUIDString() cachedStorageVolume.size = 0 cachedStorageVolume.free = 0 cachedStorageVolume.connectionState = \ Constants.STORAGE_STATE_ACTIVE self.mox.StubOutWithMock( InventoryCacheManager, 'get_object_from_cache') InventoryCacheManager.get_object_from_cache(storagePool.UUIDString(), Constants.StorageVolume).AndReturn(cachedStorageVolume) # self.mox.StubOutWithMock(InventoryCacheManager, 'get_compute_conn_driver') # # InventoryCacheManager.get_compute_conn_driver(self.LibvirtStorageVolume.compute_id, # Constants.VmHost).AndReturn(fake.get_connection()) self.mox.ReplayAll() nova_db.service_get_all_by_topic(None, None) self.LibvirtStorageVolume._processStorage(storagePool) self.assertEquals(len(test_notifier.NOTIFICATIONS), 0)
def test_storage_added_event(self): storagePool = libvirt.virStoragePool() self.mox.StubOutWithMock(api, 'storage_volume_save') api.storage_volume_save( mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().AndReturn(None) self.mox.StubOutWithMock( InventoryCacheManager, 'get_object_from_cache') InventoryCacheManager.get_object_from_cache( storagePool.UUIDString(), Constants.StorageVolume).AndReturn(None) self.mox.ReplayAll() self.LibvirtStorageVolume._processStorage(storagePool) self.assertEquals(len(test_notifier.NOTIFICATIONS), 1) msg = test_notifier.NOTIFICATIONS[0] self.assertEquals(msg['priority'], notifier_api.INFO) event_type = \ event_metadata.get_EventMetaData( event_metadata.EVENT_TYPE_STORAGE_ADDED) self.assertEquals(msg['event_type'], event_type.get_event_fully_qal_name()) payload = msg['payload'] self.assertEquals(payload['entity_type'], 'StorageVolume') self.assertEquals(payload['entity_id'], storagePool.UUIDString())
def test_storage_added_event(self): storagePool = libvirt.virStoragePool() self.mox.StubOutWithMock(api, 'storage_volume_save') api.storage_volume_save( mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().AndReturn(None) self.mox.StubOutWithMock(InventoryCacheManager, 'get_object_from_cache') InventoryCacheManager.get_object_from_cache( storagePool.UUIDString(), Constants.StorageVolume).AndReturn(None) self.mox.ReplayAll() self.LibvirtStorageVolume._processStorage(storagePool) self.assertEquals(len(test_notifier.NOTIFICATIONS), 1) msg = test_notifier.NOTIFICATIONS[0] self.assertEquals(msg['priority'], notifier_api.INFO) event_type = \ event_metadata.get_EventMetaData( event_metadata.EVENT_TYPE_STORAGE_ADDED) self.assertEquals(msg['event_type'], event_type.get_event_fully_qal_name()) payload = msg['payload'] self.assertEquals(payload['entity_type'], 'StorageVolume') self.assertEquals(payload['entity_id'], storagePool.UUIDString())
def test_storage_no_state_change(self): storagePool = libvirt.virStoragePool() self.mox.StubOutWithMock(api, 'storage_volume_save') api.storage_volume_save( mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().AndReturn(None) cachedStorageVolume = StorageVolume() cachedStorageVolume.id = storagePool.UUIDString() cachedStorageVolume.size = 0 cachedStorageVolume.free = 0 cachedStorageVolume.connectionState = \ Constants.STORAGE_STATE_ACTIVE self.mox.StubOutWithMock(InventoryCacheManager, 'get_object_from_cache') InventoryCacheManager.get_object_from_cache( storagePool.UUIDString(), Constants.StorageVolume).AndReturn(cachedStorageVolume) # self.mox.StubOutWithMock(InventoryCacheManager, 'get_compute_conn_driver') # # InventoryCacheManager.get_compute_conn_driver(self.LibvirtStorageVolume.compute_id, # Constants.VmHost).AndReturn(fake.get_connection()) self.mox.ReplayAll() nova_db.service_get_all_by_topic(None, None) self.LibvirtStorageVolume._processStorage(storagePool) self.assertEquals(len(test_notifier.NOTIFICATIONS), 0)
def test_processStorage(self): self.mock.StubOutWithMock(api, 'storage_volume_save') api.storage_volume_save( mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().AndReturn(None) self.mock.ReplayAll() self.assertEquals( self.LibvirtStorageVolume._processStorage( libvirt.virStoragePool()), None) host = InventoryCacheManager.get_object_from_cache( '1', Constants.VmHost) storage = InventoryCacheManager.get_object_from_cache( '95f7101b-892c-c388-867a-8340e5fea27a', Constants.StorageVolume) self.assertTrue('95f7101b-892c-c388-867a-8340e5fea27a', host.get_storageVolumeIds()) self.assertTrue(storage is not None) self.assertEquals('default', storage.get_name()) self.mock.stubs.UnsetAll()
def test_processStorage(self): self.mock.StubOutWithMock(api, 'storage_volume_save') api.storage_volume_save(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().AndReturn(None) self.mock.ReplayAll() self.assertEquals( self.LibvirtStorageVolume._processStorage( libvirt.virStoragePool()), None) host = InventoryCacheManager.get_object_from_cache( '1', Constants.VmHost) storage = InventoryCacheManager.get_object_from_cache( '95f7101b-892c-c388-867a-8340e5fea27a', Constants.StorageVolume) self.assertTrue('95f7101b-892c-c388-867a-8340e5fea27a', host.get_storageVolumeIds()) self.assertTrue(storage is not None) self.assertEquals('default', storage.get_name()) self.assertEquals('34353438-3934-434e-3738-313630323543', storage.get_resourceManagerId()) self.mock.stubs.UnsetAll()
def test_storage_disabled_event(self): storagePool = libvirt.virStoragePool() self.mox.StubOutWithMock(api, 'storage_volume_save') api.storage_volume_save(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().AndReturn(None) cachedStorageVolume = StorageVolume() cachedStorageVolume.id = storagePool.UUIDString() cachedStorageVolume.size = 0 cachedStorageVolume.free = 0 cachedStorageVolume.connectionState = \ Constants.STORAGE_STATE_ACTIVE self.mox.StubOutWithMock( InventoryCacheManager, 'get_object_from_cache') InventoryCacheManager.get_object_from_cache(storagePool.UUIDString(), Constants.StorageVolume).AndReturn(cachedStorageVolume) self.mox.StubOutWithMock(storagePool, 'isActive') storagePool.isActive().AndReturn(0) # self.mox.StubOutWithMock(InventoryCacheManager, 'get_compute_conn_driver') # # InventoryCacheManager.get_compute_conn_driver(self.LibvirtStorageVolume.compute_id, # Constants.VmHost).AndReturn(fake.get_connection()) self.mox.ReplayAll() self.LibvirtStorageVolume._processStorage(storagePool) self.assertEquals(len(test_notifier.NOTIFICATIONS), 1) msg = test_notifier.NOTIFICATIONS[0] self.assertEquals(msg['priority'], notifier_api.WARN) event_type = \ event_metadata.get_EventMetaData( event_metadata.EVENT_TYPE_STORAGE_DISABLED) self.assertEquals(msg['event_type'], event_type.get_event_fully_qal_name()) payload = msg['payload'] self.assertEquals(payload['entity_type'], 'StorageVolume') self.assertEquals(payload['entity_id'], storagePool.UUIDString()) self.assertEquals(payload['state'], Constants.STORAGE_STATE_INACTIVE)
def test_processUpdates_hostupdate_event(self): defaultInstancesPath = cfg.CONF.instances_path cfg.CONF.set_override('instances_path', '/var/lib/libvirt/images') storagePool = libvirt.virStoragePool() self.mock.StubOutWithMock(api, 'storage_volume_save') api.storage_volume_save(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().\ AndReturn(None) cachedStorageVolume = StorageVolume() cachedStorageVolume.id = storagePool.UUIDString() cachedStorageVolume.size = 0 cachedStorageVolume.free = 0 cachedStorageVolume.connectionState = \ Constants.STORAGE_STATE_INACTIVE InventoryCacheManager.update_object_in_cache( '95f7101b-892c-c388-867a-8340e5fea27x', cachedStorageVolume) self.mock.StubOutWithMock(api, 'storage_volume_delete_by_ids') api.storage_volume_delete_by_ids(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().\ AndReturn(None) self.mock.StubOutWithMock( InventoryCacheManager, 'get_compute_conn_driver') InventoryCacheManager.get_compute_conn_driver(None, Constants.VmHost).\ AndReturn(fake. get_connection()) self.mock.ReplayAll() self.assertEquals(self.LibvirtStorageVolume.processUpdates(), None) self.assertEquals(self.LibvirtStorageVolume._createNovaPool(), None) cfg.CONF.set_override('instances_path', defaultInstancesPath) self.mock.stubs.UnsetAll()
def test_storage_disabled_event(self): storagePool = libvirt.virStoragePool() self.mox.StubOutWithMock(api, 'storage_volume_save') api.storage_volume_save( mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().AndReturn(None) cachedStorageVolume = StorageVolume() cachedStorageVolume.id = storagePool.UUIDString() cachedStorageVolume.size = 0 cachedStorageVolume.free = 0 cachedStorageVolume.connectionState = \ Constants.STORAGE_STATE_ACTIVE self.mox.StubOutWithMock(InventoryCacheManager, 'get_object_from_cache') InventoryCacheManager.get_object_from_cache( storagePool.UUIDString(), Constants.StorageVolume).AndReturn(cachedStorageVolume) self.mox.StubOutWithMock(storagePool, 'isActive') storagePool.isActive().AndReturn(0) # self.mox.StubOutWithMock(InventoryCacheManager, 'get_compute_conn_driver') # # InventoryCacheManager.get_compute_conn_driver(self.LibvirtStorageVolume.compute_id, # Constants.VmHost).AndReturn(fake.get_connection()) self.mox.ReplayAll() self.LibvirtStorageVolume._processStorage(storagePool) self.assertEquals(len(test_notifier.NOTIFICATIONS), 1) msg = test_notifier.NOTIFICATIONS[0] self.assertEquals(msg['priority'], notifier_api.WARN) event_type = \ event_metadata.get_EventMetaData( event_metadata.EVENT_TYPE_STORAGE_DISABLED) self.assertEquals(msg['event_type'], event_type.get_event_fully_qal_name()) payload = msg['payload'] self.assertEquals(payload['entity_type'], 'StorageVolume') self.assertEquals(payload['entity_id'], storagePool.UUIDString()) self.assertEquals(payload['state'], Constants.STORAGE_STATE_INACTIVE)