Пример #1
0
    def test_calls_order(self, logger, heat_client, _job_ex, _db_ob, _shutdown,
                         _delete_aa):
        class FakeHeatEngine(heat_engine.HeatEngine):
            def __init__(self):
                super(FakeHeatEngine, self).__init__()
                self.order = []

            def _clean_job_executions(self, cluster):
                self.order.append('clean_job_executions')
                super(FakeHeatEngine, self)._clean_job_executions(cluster)

            def _remove_db_objects(self, cluster):
                self.order.append('remove_db_objects')
                super(FakeHeatEngine, self)._remove_db_objects(cluster)

            def _shutdown_instances(self, cluster):
                self.order.append('shutdown_instances')
                super(FakeHeatEngine, self)._shutdown_instances(cluster)

            def _delete_aa_server_group(self, cluster):
                self.order.append('delete_aa_server_group')
                super(FakeHeatEngine, self)._delete_aa_server_group(cluster)

        fake_cluster = mock.Mock()
        heat_client.side_effect = heat_exc.HTTPNotFound()
        engine = FakeHeatEngine()
        engine.shutdown_cluster(fake_cluster)
        self.assertEqual([
            'shutdown_instances', 'delete_aa_server_group',
            'clean_job_executions', 'remove_db_objects'
        ], engine.order)
        self.assertEqual([
            mock.call('Did not find stack for cluster. Trying to '
                      'delete cluster manually.')
        ], logger.call_args_list)
Пример #2
0
    def test_calls_order(self, logger, heat_client, _job_ex, _db_ob,
                         _shutdown, _delete_aa):
        class FakeHeatEngine(heat_engine.HeatEngine):
            def __init__(self):
                super(FakeHeatEngine, self).__init__()
                self.order = []

            def _clean_job_executions(self, cluster):
                self.order.append('clean_job_executions')
                super(FakeHeatEngine, self)._clean_job_executions(cluster)

            def _remove_db_objects(self, cluster):
                self.order.append('remove_db_objects')
                super(FakeHeatEngine, self)._remove_db_objects(cluster)

            def _shutdown_instances(self, cluster):
                self.order.append('shutdown_instances')
                super(FakeHeatEngine, self)._shutdown_instances(cluster)

            def _delete_aa_server_group(self, cluster):
                self.order.append('delete_aa_server_group')
                super(FakeHeatEngine, self)._delete_aa_server_group(cluster)

        fake_cluster = mock.Mock()
        heat_client.side_effect = heat_exc.HTTPNotFound()
        engine = FakeHeatEngine()
        engine.shutdown_cluster(fake_cluster)
        self.assertEqual(['shutdown_instances', 'delete_aa_server_group',
                          'clean_job_executions', 'remove_db_objects'],
                         engine.order)
        self.assertEqual(
            [mock.call('Did not find stack for cluster. Trying to '
                       'delete cluster manually.')], logger.call_args_list)
Пример #3
0
    def test_force_delete_calls(self, cj, rdb, lazy_delete, delete, log_err):
        engine = heat_engine.HeatEngine()

        # Force delete (lazy_delete)
        engine.shutdown_cluster(mock.Mock(), force=True)
        self.assertEqual(delete.call_count, 0)
        self.assertEqual(lazy_delete.call_count, 1)
        self.assertEqual(cj.call_count, 1)
        self.assertEqual(rdb.call_count, 1)

        delete.reset_mock()
        lazy_delete.reset_mock()
        rdb.reset_mock()
        cj.reset_mock()

        # Regular delete
        engine.shutdown_cluster(mock.Mock(), force=False)
        self.assertEqual(delete.call_count, 1)
        self.assertEqual(lazy_delete.call_count, 0)
        self.assertEqual(cj.call_count, 1)
        self.assertEqual(rdb.call_count, 1)
Пример #4
0
    def test_calls_order(self, logger, heat_client, _job_ex, _db_ob):
        class FakeHeatEngine(heat_engine.HeatEngine):
            def __init__(self):
                super(FakeHeatEngine, self).__init__()
                self.order = []

            def _clean_job_executions(self, cluster):
                self.order.append('clean_job_executions')
                super(FakeHeatEngine, self)._clean_job_executions(cluster)

            def _remove_db_objects(self, cluster):
                self.order.append('remove_db_objects')
                super(FakeHeatEngine, self)._remove_db_objects(cluster)

        fake_cluster = mock.Mock()
        heat_client.side_effect = heat_exc.HTTPNotFound()
        engine = FakeHeatEngine()
        engine.shutdown_cluster(fake_cluster)
        self.assertEqual(['clean_job_executions', 'remove_db_objects'],
                         engine.order)
        self.assertEqual([mock.call('Did not find stack for cluster.')],
                         logger.call_args_list)
Пример #5
0
    def test_force_delete_calls(self, cj, rdb, abandon, delete, log_err):
        engine = heat_engine.HeatEngine()

        # Force delete when Heat service support abandon
        engine.shutdown_cluster(mock.Mock(), force=True)
        self.assertEqual(delete.call_count, 0)
        self.assertEqual(abandon.call_count, 1)
        self.assertEqual(cj.call_count, 1)
        self.assertEqual(rdb.call_count, 1)

        delete.reset_mock()
        abandon.reset_mock()
        rdb.reset_mock()
        cj.reset_mock()

        # Regular delete
        engine.shutdown_cluster(mock.Mock(), force=False)
        self.assertEqual(delete.call_count, 1)
        self.assertEqual(abandon.call_count, 0)
        self.assertEqual(cj.call_count, 1)
        self.assertEqual(rdb.call_count, 1)

        delete.reset_mock()
        abandon.reset_mock()
        rdb.reset_mock()
        cj.reset_mock()

        # Force delete when stack abandon unavailable
        abandon.side_effect = heat_exc.BadRequest()
        engine.shutdown_cluster(mock.Mock(), force=True)
        self.assertEqual(delete.call_count, 0)
        self.assertEqual(abandon.call_count, 1)
        self.assertEqual(cj.call_count, 1)
        self.assertEqual(rdb.call_count, 1)
        log_err.assert_called_once_with(
            "Can't force delete cluster.", exc_info=True)