Add `--converge` argument for osc stack update

This patch add `--converge` argument for osc stack update. This
flag will be used as the trigger for observe on reality.
implements bp get-reality-for-resources

depends-on: I151b575b714dcc9a5971a1573c126152ecd7ea93
Change-Id: If35e1b9234cab173b3c46601bbd331aceebcbcb3
This commit is contained in:
ricolin 2017-05-01 03:09:55 +08:00 committed by Rico Lin
parent 4722facf06
commit 58e357908e
3 changed files with 26 additions and 0 deletions

View File

@ -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:

View File

@ -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)

View File

@ -0,0 +1,8 @@
---
features:
- Adds '--converge' option for stack update with openstackclient. If
specified, existing resource attributes (which may have diverged) are
compared with the resource properties in the template used for update.
Usage:
# openstack stack update --converge ... <stack_name>