summaryrefslogtreecommitdiff
path: root/heatclient
diff options
context:
space:
mode:
Diffstat (limited to 'heatclient')
-rw-r--r--heatclient/osc/v1/stack.py8
-rw-r--r--heatclient/tests/unit/osc/v1/test_stack.py10
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)