diff --git a/senlin/engine/actions/cluster_action.py b/senlin/engine/actions/cluster_action.py index d287d242e..b9685a987 100644 --- a/senlin/engine/actions/cluster_action.py +++ b/senlin/engine/actions/cluster_action.py @@ -253,12 +253,15 @@ class ClusterAction(base.Action): self.entity.set_status(self.context, consts.CS_ERROR, reason) return self.RES_ERROR, reason + config = self.inputs.get('config') name = self.inputs.get('name') metadata = self.inputs.get('metadata') timeout = self.inputs.get('timeout') profile_id = self.inputs.get('new_profile_id') profile_only = self.inputs.get('profile_only') + if config is not None: + self.entity.config = config if name is not None: self.entity.name = name if metadata is not None: diff --git a/senlin/tests/unit/engine/test_cluster.py b/senlin/tests/unit/engine/test_cluster.py index 5255cceb3..31d5e334a 100644 --- a/senlin/tests/unit/engine/test_cluster.py +++ b/senlin/tests/unit/engine/test_cluster.py @@ -188,6 +188,7 @@ class TestCluster(base.SenlinTestCase): cluster.timeout = 120 cluster.data = {'FOO': 'BAR'} cluster.metadata = {'KEY': 'VALUE'} + cluster.config = {'KEY': 'VALUE'} new_id = cluster.store(self.context) self.assertEqual(cluster_id, new_id) @@ -206,6 +207,7 @@ class TestCluster(base.SenlinTestCase): self.assertEqual(120, result.timeout) self.assertEqual({'FOO': 'BAR'}, result.data) self.assertEqual({'KEY': 'VALUE'}, result.metadata) + self.assertEqual({'KEY': 'VALUE'}, result.config) @mock.patch.object(cm.Cluster, '_from_object') def test_load_via_db_object(self, mock_init):