diff options
author | spisarski <s.pisarski@cablelabs.com> | 2017-07-31 12:26:19 -0600 |
---|---|---|
committer | spisarski <s.pisarski@cablelabs.com> | 2017-07-31 12:26:19 -0600 |
commit | dc24c3d90a7a3068256381d815c689b3f243707f (patch) | |
tree | e7093116f7388dba23527dddd912bd8d04df92b2 /snaps/openstack/utils/heat_utils.py | |
parent | b003647b70545008405294c4268e62fa87c18574 (diff) |
Changed heat_utils#get_stack_by_name to get_stack.
Added stack_settings parameter to allow for more robust
queries based on the known settings as required.
JIRA: SNAPS-158
Change-Id: I538826f822307365b1afe997b71280b9ea500eab
Signed-off-by: spisarski <s.pisarski@cablelabs.com>
Diffstat (limited to 'snaps/openstack/utils/heat_utils.py')
-rw-r--r-- | snaps/openstack/utils/heat_utils.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/snaps/openstack/utils/heat_utils.py b/snaps/openstack/utils/heat_utils.py index ae367a0..a91a21c 100644 --- a/snaps/openstack/utils/heat_utils.py +++ b/snaps/openstack/utils/heat_utils.py @@ -41,19 +41,29 @@ def heat_client(os_creds): region_name=os_creds.region_name) -def get_stack_by_name(heat_cli, stack_name): +def get_stack(heat_cli, stack_settings=None, stack_name=None): """ - Returns a domain Stack object + Returns the first domain Stack object found. When stack_setting + is not None, the filter created will take the name attribute. When + stack_settings is None and stack_name is not, stack_name will be used + instead. When both are None, the first stack object received will be + returned, else None :param heat_cli: the OpenStack heat client - :param stack_name: the name of the heat stack + :param stack_settings: a StackSettings object + :param stack_name: the name of the heat stack to return :return: the Stack domain object else None """ - stacks = heat_cli.stacks.list(**{'name': stack_name}) + + stack_filter = dict() + if stack_settings: + stack_filter['stack_name'] = stack_settings.name + elif stack_name: + stack_filter['stack_name'] = stack_name + + stacks = heat_cli.stacks.list(**stack_filter) for stack in stacks: return Stack(name=stack.identifier, stack_id=stack.id) - return None - def get_stack_by_id(heat_cli, stack_id): """ |