# (c) 2018, James Denton # # Copyright 2018, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: Configure ovn-controller template: src: ovn-controller-opts.j2 dest: "{{ neutron_ovn_controller_opts_file }}" mode: "0644" register: ovn_controller_config when: - neutron_services['neutron-ovn-controller']['group'] in group_names - neutron_ovn_ssl # NOTE(noonedeapdunk): ovs 3.1 installed by rdo now has a bug, where # `ovs-vsctl add` acts exactly as `set` and resets hostname # so we fully disable functionality of managing hostnames # Ubuntu in it's place don't run this vulnerable version and # passes --no-record-hostname in systemd unit file already - name: Disable seetting ovs hostname for RHEL lineinfile: path: /etc/sysconfig/openvswitch line: OPTIONS="--no-record-hostname" search_string: 'OPTIONS=' when: - ansible_facts['pkg_mgr'] == 'dnf' - neutron_services['neutron-ovn-controller']['group'] in group_names # NOTE(noonedeadpunk): ovs 3.1.0 installed from UCA for Antelope now has a bug where # `ovs-vsctl add` acts exactly as `set` and resets hostname # so we mask service that executes that part to prevent failures # https://bugs.launchpad.net/cloud-archive/+bug/2017757 - name: Mask setting OVS hostname service service: name: ovs-record-hostname enabled: false state: stopped when: - ansible_facts['pkg_mgr'] == 'apt' - ansible_facts['distribution_version'] == '22.04' - neutron_services['neutron-ovn-controller']['group'] in group_names - name: Ensure ovn-northd service is started and enabled systemd: name: "{{ neutron_ovn_northd_service_name }}" state: started enabled: yes when: - neutron_services['neutron-ovn-northd']['group'] in group_names - name: Ensure ovn-controller service is started and enabled systemd: name: "{{ neutron_ovn_controller_service_name }}" state: "{{ (ovn_controller_config.changed) | ternary('restarted', 'started') }}" enabled: yes when: - neutron_services['neutron-ovn-controller']['group'] in group_names - name: Including setup_ovs_ovn tasks ansible.builtin.include_tasks: setup_ovs_ovn.yml