diff options
author | Steve Baker <sbaker@redhat.com> | 2016-02-15 13:11:25 +1300 |
---|---|---|
committer | Steve Baker <sbaker@redhat.com> | 2016-02-26 08:58:55 +1300 |
commit | 7f6b769aeb7ee1ff081b61b18b22fd920a1f6c35 (patch) | |
tree | db43b995748e1568363fdebc0c5bb963c4fbe24c | |
parent | 0fd58aae36d76ebffffeafde65ca115f079ba305 (diff) | |
download | python-heatclient-7f6b769aeb7ee1ff081b61b18b22fd920a1f6c35.tar.gz |
Use poll_for_events for "openstack stack adopt"
Change-Id: I2fe9fd46846393dca7958cf0793ecb1d93e5b841
Blueprint: heat-support-python-openstackclient
-rw-r--r-- | heatclient/osc/v1/stack.py | 8 | ||||
-rw-r--r-- | heatclient/tests/unit/osc/v1/test_stack.py | 14 |
2 files changed, 13 insertions, 9 deletions
diff --git a/heatclient/osc/v1/stack.py b/heatclient/osc/v1/stack.py index 98ce4e0..44dbcc7 100644 --- a/heatclient/osc/v1/stack.py +++ b/heatclient/osc/v1/stack.py @@ -732,11 +732,9 @@ class AdoptStack(show.ShowOne): stack = client.stacks.create(**fields)['stack'] if parsed_args.wait: - if not utils.wait_for_status(client.stacks.get, parsed_args.name, - status_field='stack_status', - success_status='create_complete', - error_status=['create_failed']): - msg = _('Stack %s failed to create.') % parsed_args.name + stack_status, msg = event_utils.poll_for_events( + client, parsed_args.name, action='ADOPT') + if stack_status == 'ADOPT_FAILED': raise exc.CommandError(msg) return _show_stack(client, stack['id'], format='table', short=True) diff --git a/heatclient/tests/unit/osc/v1/test_stack.py b/heatclient/tests/unit/osc/v1/test_stack.py index 971395d..aab7686 100644 --- a/heatclient/tests/unit/osc/v1/test_stack.py +++ b/heatclient/tests/unit/osc/v1/test_stack.py @@ -684,10 +684,13 @@ class TestStackAdopt(TestStack): self.stack_client.create.assert_called_with(**kwargs) - def test_stack_adopt_wait(self): + @mock.patch('heatclient.common.event_utils.poll_for_events', + return_value=('ADOPT_COMPLETE', + 'Stack my_stack ADOPT_COMPLETE')) + def test_stack_adopt_wait(self, mock_poll): arglist = ['my_stack', '--adopt-file', self.adopt_file, '--wait'] self.stack_client.get = mock.MagicMock(return_value=( - stacks.Stack(None, {'stack_status': 'CREATE_COMPLETE'}))) + stacks.Stack(None, {'stack_status': 'ADOPT_COMPLETE'}))) parsed_args = self.check_parser(self.cmd, arglist, []) self.cmd.take_action(parsed_args) @@ -695,10 +698,13 @@ class TestStackAdopt(TestStack): self.stack_client.create.assert_called_with(**self.defaults) self.stack_client.get.assert_called_with(**{'stack_id': '1234'}) - def test_stack_adopt_wait_fail(self): + @mock.patch('heatclient.common.event_utils.poll_for_events', + return_value=('ADOPT_FAILED', + 'Stack my_stack ADOPT_FAILED')) + def test_stack_adopt_wait_fail(self, mock_poll): arglist = ['my_stack', '--adopt-file', self.adopt_file, '--wait'] self.stack_client.get = mock.MagicMock(return_value=( - stacks.Stack(None, {'stack_status': 'CREATE_FAILED'}))) + stacks.Stack(None, {'stack_status': 'ADOPT_FAILED'}))) parsed_args = self.check_parser(self.cmd, arglist, []) self.assertRaises(exc.CommandError, self.cmd.take_action, parsed_args) |