def _fake_usage(self, is_exists=False, is_deleted=False, mock_deployment=False): usage = self.mox.CreateMockAnything() usage.id = 1 beginning_d = utils.decimal_utc() usage.instance = INSTANCE_ID_1 launched_at = beginning_d - (60 * 60) usage.launched_at = launched_at usage.instance_type_id = INSTANCE_TYPE_ID_1 usage.instance_flavor_id = INSTANCE_FLAVOR_ID_1 usage.tenant = TENANT_ID_1 usage.os_architecture = DEFAULT_OS_ARCH usage.os_distro = DEFAULT_OS_DISTRO usage.os_version = DEFAULT_OS_VERSION usage.rax_options = DEFAULT_RAX_OPTIONS if is_exists: usage.deleted_at = None if is_deleted: usage.deleted_at = beginning_d if mock_deployment: deployment = self.mox.CreateMockAnything() deployment.name = 'RegionOne.prod.cell1' usage.deployment().AndReturn(deployment) return usage
def test_missing_exists_for_instance(self): launch_id = 1 beginning_d = utils.decimal_utc() launch = self.mox.CreateMockAnything() launch.instance = INSTANCE_ID_1 launch.launched_at = beginning_d - (60*60) launch.instance_type_id = 1 models.InstanceUsage.objects.get(id=launch_id).AndReturn(launch) deployment = self.mox.CreateMockAnything() launch.deployment().AndReturn(deployment) deployment.name = 'RegionOne.prod.cell1' deleted_at = beginning_d - (60*30) rec_inst = self._fake_reconciler_instance(deleted=True, deleted_at=deleted_at) self.client.get_instance('RegionOne', INSTANCE_ID_1).AndReturn(rec_inst) reconcile_vals = { 'instance': launch.instance, 'launched_at': launch.launched_at, 'deleted_at': deleted_at, 'instance_type_id': launch.instance_type_id, 'source': 'reconciler:mocked_client' } result = self.mox.CreateMockAnything() models.InstanceReconcile(**reconcile_vals).AndReturn(result) result.save() self.mox.ReplayAll() result = self.reconciler.missing_exists_for_instance(launch_id, beginning_d) self.assertTrue(result) self.mox.VerifyAll()
def test_failed_validation_region_not_found(self): beginning_d = utils.decimal_utc() exists = self.mox.CreateMockAnything() exists.instance = INSTANCE_ID_1 launched_at = beginning_d - (60*60) exists.launched_at = launched_at exists.instance_flavor_id = INSTANCE_FLAVOR_ID_1 exists.deleted_at = None exists.deployment().AndReturn(None) ex = exceptions.NotFound() self.mox.ReplayAll() result = self.reconciler.failed_validation(exists) self.assertFalse(result) self.mox.VerifyAll()
def test_missing_exists_for_instance_region_not_found(self): launch_id = 1 beginning_d = utils.decimal_utc() launch = self.mox.CreateMockAnything() launch.instance = INSTANCE_FLAVOR_ID_1 launch.launched_at = beginning_d - (60*60) launch.instance_flavor_id = 1 models.InstanceUsage.objects.get(id=launch_id).AndReturn(launch) launch.deployment().AndReturn(None) self.mox.ReplayAll() result = self.reconciler.missing_exists_for_instance(launch_id, beginning_d) self.assertFalse(result) self.mox.VerifyAll()
def test_failed_validation_region_not_found(self): beginning_d = utils.decimal_utc() exists = self.mox.CreateMockAnything() exists.instance = INSTANCE_ID_1 launched_at = beginning_d - (60 * 60) exists.launched_at = launched_at exists.instance_flavor_id = INSTANCE_FLAVOR_ID_1 exists.deleted_at = None exists.deployment().AndReturn(None) ex = exceptions.NotFound() self.mox.ReplayAll() result = self.reconciler.failed_validation(exists) self.assertFalse(result) self.mox.VerifyAll()
def test_missing_exists_for_instance_region_not_found(self): launch_id = 1 beginning_d = utils.decimal_utc() launch = self.mox.CreateMockAnything() launch.instance = INSTANCE_FLAVOR_ID_1 launch.launched_at = beginning_d - (60 * 60) launch.instance_flavor_id = 1 models.InstanceUsage.objects.get(id=launch_id).AndReturn(launch) launch.deployment().AndReturn(None) self.mox.ReplayAll() result = self.reconciler.missing_exists_for_instance( launch_id, beginning_d) self.assertFalse(result) self.mox.VerifyAll()
def test_failed_validation_not_found(self): beginning_d = utils.decimal_utc() exists = self.mox.CreateMockAnything() exists.instance = INSTANCE_ID_1 launched_at = beginning_d - (60*60) exists.launched_at = launched_at exists.instance_flavor_id = INSTANCE_FLAVOR_ID_1 exists.deleted_at = None deployment = self.mox.CreateMockAnything() exists.deployment().AndReturn(deployment) deployment.name = 'RegionOne.prod.cell1' ex = exceptions.NotFound() self.client.get_instance('RegionOne', INSTANCE_ID_1, get_metadata=True).AndRaise(ex) self.mox.ReplayAll() result = self.reconciler.failed_validation(exists) self.assertFalse(result) self.mox.VerifyAll()
def test_missing_exists_for_instance_not_found(self): launch_id = 1 beginning_d = utils.decimal_utc() launch = self.mox.CreateMockAnything() launch.instance = INSTANCE_ID_1 launch.launched_at = beginning_d - (60*60) launch.instance_flavor_id = INSTANCE_FLAVOR_ID_1 models.InstanceUsage.objects.get(id=launch_id).AndReturn(launch) deployment = self.mox.CreateMockAnything() launch.deployment().AndReturn(deployment) deployment.name = 'RegionOne.prod.cell1' ex = exceptions.NotFound() self.client.get_instance('RegionOne', INSTANCE_ID_1).AndRaise(ex) self.mox.ReplayAll() result = self.reconciler.missing_exists_for_instance(launch_id, beginning_d) self.assertFalse(result) self.mox.VerifyAll()
def test_failed_validation_not_found(self): beginning_d = utils.decimal_utc() exists = self.mox.CreateMockAnything() exists.instance = INSTANCE_ID_1 launched_at = beginning_d - (60 * 60) exists.launched_at = launched_at exists.instance_flavor_id = INSTANCE_FLAVOR_ID_1 exists.deleted_at = None deployment = self.mox.CreateMockAnything() exists.deployment().AndReturn(deployment) deployment.name = 'RegionOne.prod.cell1' ex = exceptions.NotFound() self.client.get_instance('RegionOne', INSTANCE_ID_1, get_metadata=True).AndRaise(ex) self.mox.ReplayAll() result = self.reconciler.failed_validation(exists) self.assertFalse(result) self.mox.VerifyAll()
def test_missing_exists_for_instance_not_found(self): launch_id = 1 beginning_d = utils.decimal_utc() launch = self.mox.CreateMockAnything() launch.instance = INSTANCE_ID_1 launch.launched_at = beginning_d - (60 * 60) launch.instance_flavor_id = INSTANCE_FLAVOR_ID_1 models.InstanceUsage.objects.get(id=launch_id).AndReturn(launch) deployment = self.mox.CreateMockAnything() launch.deployment().AndReturn(deployment) deployment.name = 'RegionOne.prod.cell1' ex = exceptions.NotFound() self.client.get_instance('RegionOne', INSTANCE_ID_1).AndRaise(ex) self.mox.ReplayAll() result = self.reconciler.missing_exists_for_instance( launch_id, beginning_d) self.assertFalse(result) self.mox.VerifyAll()
def test_failed_validation_deleted_not_deleted_from_client(self): beginning_d = utils.decimal_utc() exists = self.mox.CreateMockAnything() exists.instance = INSTANCE_ID_1 launched_at = beginning_d - (60*60) exists.launched_at = launched_at exists.instance_type_id = 1 exists.deleted_at = beginning_d deployment = self.mox.CreateMockAnything() exists.deployment().AndReturn(deployment) deployment.name = 'RegionOne.prod.cell1' rec_inst = self._fake_reconciler_instance(launched_at=launched_at) self.client.get_instance('RegionOne', INSTANCE_ID_1, get_metadata=True).AndReturn(rec_inst) self.mox.ReplayAll() result = self.reconciler.failed_validation(exists) self.assertFalse(result) self.mox.VerifyAll()
def _fake_usage(self, is_exists=False, is_deleted=False, mock_deployment=False): usage = self.mox.CreateMockAnything() usage.id = 1 beginning_d = utils.decimal_utc() usage.instance = INSTANCE_ID_1 launched_at = beginning_d - (60*60) usage.launched_at = launched_at usage.instance_type_id = 1 usage.tenant = TENANT_ID_1 usage.os_architecture = DEFAULT_OS_ARCH usage.os_distro = DEFAULT_OS_DISTRO usage.os_version = DEFAULT_OS_VERSION usage.rax_options = DEFAULT_RAX_OPTIONS if is_exists: usage.deleted_at = None if is_deleted: usage.deleted_at = beginning_d if mock_deployment: deployment = self.mox.CreateMockAnything() deployment.name = 'RegionOne.prod.cell1' usage.deployment().AndReturn(deployment) return usage