mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-04-20 15:51:09 +00:00
Updated documentation of return values and added test to verify return values Function self.conn.search_security_groups() cannot be used here. Arguments for filtering such as 'description' would have to be passed to self.conn.search_security_groups() in its 'filters' argument [1]. The latter is passed to both as query arguments to OpenStack API and later to _utils._filter_list() [2] for filtering the results. Some arguments such as 'any_tags' are only used as query arguments by openstacksdk [3] when querying OpenStack API. They are no valid attributes in security_group.py [4]. Whenever those non-attribute arguments are passed to self.conn.search_security_groups(), _utils._filter_list() [2] would drop all results because no result would have a matching attributes. [1]0898398415/openstack/cloud/_security_group.py (L31)[2]0898398415/openstack/cloud/_utils.py (L63)[3]0898398415/openstack/common/tag.py (L19)[4]0898398415/openstack/network/v2/security_group.pyChange-Id: Ie7fe9d2e973d38751c48e71e6bd55e56a591ac1f
76 lines
2.1 KiB
YAML
76 lines
2.1 KiB
YAML
---
|
|
- name: Ensure security group does not exist before tests
|
|
openstack.cloud.security_group:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ secgroup_name }}"
|
|
state: absent
|
|
|
|
- name: Create security group
|
|
openstack.cloud.security_group:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ secgroup_name }}"
|
|
state: present
|
|
description: Created from Ansible playbook
|
|
register: security_group
|
|
|
|
- name: List all security groups of a project
|
|
openstack.cloud.security_group_info:
|
|
cloud: "{{ cloud }}"
|
|
register: test_sec_groups
|
|
|
|
- name: Check list all security groups of a project
|
|
assert:
|
|
that:
|
|
- test_sec_groups.security_groups | length > 0
|
|
|
|
- name: Assert fields returned by security_group_info
|
|
assert:
|
|
that:
|
|
- item in test_sec_groups.security_groups[0]
|
|
loop: "{{ expected_fields }}"
|
|
|
|
- name: Filter security group by name
|
|
openstack.cloud.security_group_info:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ secgroup_name }}"
|
|
register: test_sec_group
|
|
|
|
- name: Check filter security group by name
|
|
assert:
|
|
that:
|
|
- test_sec_group.security_groups | length == 1
|
|
- test_sec_group.security_groups[0]['id'] == security_group.id
|
|
|
|
- name: Filter security group by description
|
|
openstack.cloud.security_group_info:
|
|
cloud: "{{ cloud }}"
|
|
description: Created from Ansible playbook
|
|
register: test_sec_group
|
|
|
|
- name: Check filter security group by description
|
|
assert:
|
|
that:
|
|
- test_sec_group.security_groups | length == 1
|
|
- test_sec_group.security_groups[0]['id'] == security_group.id
|
|
|
|
- name: Filter security group by not_tags
|
|
openstack.cloud.security_group_info:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ secgroup_name }}"
|
|
not_tags:
|
|
- ansibletag1
|
|
- ansibletag2
|
|
register: test_sec_group
|
|
|
|
- name: Check filter security group by not_tags
|
|
assert:
|
|
that:
|
|
- test_sec_group.security_groups | length == 1
|
|
- test_sec_group.security_groups[0]['id'] == security_group.id
|
|
|
|
- name: Delete security group
|
|
openstack.cloud.security_group:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ secgroup_name }}"
|
|
state: absent
|