--- - name: Create network - generic openstack.cloud.network: cloud: "{{ cloud }}" name: "{{ network_name }}" state: present shared: "{{ network_shared }}" external: "{{ network_external }}" register: infonet - name: Check output of creating network assert: that: - infonet.network - item in infonet.network loop: "{{ expected_fields }}" - name: Gather networks info openstack.cloud.networks_info: cloud: "{{ cloud }}" name: "{{ infonet.network.id }}" register: result - name: Check output of network info # TODO: Remove ignore_errors once SDK's search_networks() (re)implemented searching by id ignore_errors: yes assert: that: - result.networks|length == 1 - infonet.network.id == result.networks[0].id - name: Gather networks info - generic openstack.cloud.networks_info: cloud: "{{ cloud }}" name: "{{ network_name }}" filters: shared: "{{ network_shared|string|capitalize }}" register: result - name: Check output of network info assert: that: - item in result.networks[0] loop: "{{ expected_fields }}" - name: Gather networks info openstack.cloud.networks_info: cloud: "{{ cloud }}" name: "{{ network_name }}" filters: shared: "False" register: result - name: Verify networks info - generic assert: that: - result.networks.0.name == network_name - "'is_shared' in result.networks.0" - result.networks.0['is_shared']|lower == network_shared|lower - "'is_router_external' in result.networks.0" - result.networks[0]['is_router_external'] == {{ network_external }} - name: Create network - with new SDK params openstack.cloud.network: cloud: "{{ cloud }}" name: "{{ network_name_newparams }}" state: present shared: "{{ network_shared }}" external: "{{ network_external }}" mtu: "{{ mtu }}" port_security_enabled: "{{ port_security_enabled }}" register: result_create_nw_with_new_params ignore_errors: true - name: Gather networks info - with new SDK params openstack.cloud.networks_info: cloud: "{{ cloud }}" name: "{{ network_name_newparams }}" register: result_newparams - name: Verify networks info - with new SDK params assert: that: - result_newparams.networks.0.name == network_name_newparams - result_newparams.networks.0.mtu == mtu - "'is_port_security_enabled' in result_newparams.networks.0" - result_newparams.networks.0['is_port_security_enabled'] == port_security_enabled - name: Delete network - generic and with new SDK params openstack.cloud.network: cloud: "{{ cloud }}" name: "{{ item }}" state: absent with_items: - "{{ network_name }}" - "{{ network_name_newparams }}" - name: Gather networks info - deleted openstack.cloud.networks_info: cloud: "{{ cloud }}" name: "{{ network_name }}" register: result_nonet - name: Verify networks info - deleted assert: that: - result_nonet.networks == []