provision-net: Remove transitional unshare code

Ie59f0c729381e5bea112ab7f5d0c738a9488b772 changed the provision-net and
cleaning-net to be non-shared when they are VLAN networks. It also
added some transitional tasks to modify existing VLAN networks to unset
the shared property.

This change removes the transitional code since it has been in place for
over 3 years.

This change also slightly refactors the code to use only a 'tasks' list.

Change-Id: I6d358502d37e6a2d0098ad4733840613e93b4279
This commit is contained in:
Mark Goddard 2023-11-02 09:28:29 +00:00
parent bd9043dca0
commit 874e3d1070

@ -48,7 +48,7 @@
tags:
- provision-net
- cleaning-net
pre_tasks:
tasks:
- name: Validate OpenStack password authentication parameters
fail:
msg: >
@ -62,69 +62,16 @@
tags:
- config-validation
roles:
- role: stackhpc.os-networks
os_openstacksdk_install_epel: "{{ dnf_install_epel }}"
os_openstacksdk_state: "latest"
os_networks_upper_constraints_file: "{{ openstacksdk_upper_constraints_file }}"
os_networks_venv: "{{ venv }}"
os_networks_auth_type: "{{ openstack_auth_type }}"
os_networks_auth: "{{ openstack_auth }}"
os_networks_cacert: "{{ openstack_cacert | default(omit, true) }}"
os_networks_interface: "{{ openstack_interface | default(omit, true) }}"
# Network configuration.
os_networks: "{{ network_registrations }}"
tasks:
# NOTE(mgoddard): Originally, provisioning and cleaning networks were
# always shared. However now, VLAN networks are not shared. The os_network
# module does not appear to update networks after they have been created,
# so during this transition we manually update them here if necessary.
# TODO(mgoddard): Remove this code after a suitable transition period.
- name: Ensure python-openstackclient is installed
pip:
name: python-openstackclient
state: latest
extra_args: "{% if pip_upper_constraints_file %}-c {{ pip_upper_constraints_file }}{% endif %}"
virtualenv: "{{ venv }}"
when: network_registrations | rejectattr('shared') | list | length > 0
- block:
- name: Gather facts about provisioning network
os_networks_info:
auth: "{{ openstack_auth }}"
auth_type: "{{ openstack_auth_type }}"
cacert: "{{ openstack_cacert | default(omit, true) }}"
interface: "{{ openstack_interface | default(omit, true) }}"
name: "{{ provision_net.name }}"
register: provisioning_network_facts
- name: Set provisioning network to unshared
command: "{{ venv }}/bin/openstack network set {{ provision_net.name }} --no-share"
changed_when: true
when: provisioning_network_facts.openstack_networks[0].shared
environment: "{{ openstack_auth_env }}"
- import_role:
name: stackhpc.os-networks
vars:
ansible_python_interpreter: "{{ venv }}/bin/python"
when: not provision_net.shared | bool
- block:
- name: Gather facts about cleaning network
os_networks_info:
auth: "{{ openstack_auth }}"
auth_type: "{{ openstack_auth_type }}"
cacert: "{{ openstack_cacert | default(omit, true) }}"
interface: "{{ openstack_interface | default(omit, true) }}"
name: "{{ cleaning_net.name }}"
register: cleaning_network_facts
- name: Set cleaning network to unshared
command: "{{ venv }}/bin/openstack network set {{ cleaning_net.name }} --no-share"
changed_when: true
when: cleaning_network_facts.openstack_networks[0].shared
environment: "{{ openstack_auth_env }}"
vars:
ansible_python_interpreter: "{{ venv }}/bin/python"
when:
- cleaning_net_name != provision_wl_net_name
- not cleaning_net.shared | bool
os_openstacksdk_install_epel: "{{ dnf_install_epel }}"
os_openstacksdk_state: "latest"
os_networks_upper_constraints_file: "{{ openstacksdk_upper_constraints_file }}"
os_networks_venv: "{{ venv }}"
os_networks_auth_type: "{{ openstack_auth_type }}"
os_networks_auth: "{{ openstack_auth }}"
os_networks_cacert: "{{ openstack_cacert | default(omit, true) }}"
os_networks_interface: "{{ openstack_interface | default(omit, true) }}"
# Network configuration.
os_networks: "{{ network_registrations }}"