diff options
Diffstat (limited to 'heatclient')
-rw-r--r-- | heatclient/osc/v1/stack.py | 8 | ||||
-rw-r--r-- | heatclient/tests/unit/osc/v1/test_stack.py | 10 |
2 files changed, 18 insertions, 0 deletions
diff --git a/heatclient/osc/v1/stack.py b/heatclient/osc/v1/stack.py index 4a64221..4490d1e 100644 --- a/heatclient/osc/v1/stack.py +++ b/heatclient/osc/v1/stack.py @@ -278,6 +278,11 @@ class UpdateStack(command.ShowOne): help=_('Wait until stack goes to UPDATE_COMPLETE or ' 'UPDATE_FAILED') ) + parser.add_argument( + '--converge', + action='store_true', + help=_('Stack update with observe on reality.') + ) return parser @@ -354,6 +359,9 @@ class UpdateStack(command.ShowOne): limit=1) marker = events[0].id if events else None + if parsed_args.converge: + fields['converge'] = True + client.stacks.update(**fields) if parsed_args.wait: diff --git a/heatclient/tests/unit/osc/v1/test_stack.py b/heatclient/tests/unit/osc/v1/test_stack.py index 54fe9be..2eb3ab9 100644 --- a/heatclient/tests/unit/osc/v1/test_stack.py +++ b/heatclient/tests/unit/osc/v1/test_stack.py @@ -304,6 +304,16 @@ class TestStackUpdate(TestStack): self.stack_client.update.assert_called_with(**kwargs) + def test_stack_update_converge(self): + arglist = ['my_stack', '-t', self.template_path, '--converge'] + kwargs = copy.deepcopy(self.defaults) + kwargs['converge'] = True + parsed_args = self.check_parser(self.cmd, arglist, []) + + self.cmd.take_action(parsed_args) + + self.stack_client.update.assert_called_with(**kwargs) + def test_stack_update_pre_update(self): arglist = ['my_stack', '-t', self.template_path, '--pre-update', 'a'] kwargs = copy.deepcopy(self.defaults) |