--- # Copyright 2014, 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. - include_tasks: nova_compute_kvm_install.yml args: apply: tags: - nova-install tags: - always - name: Set nested kvm virt copy: src: kvm.conf dest: /etc/modprobe.d/kvm.conf owner: root group: root mode: 0644 when: - nova_nested_virt_enabled | bool tags: - nova-config - nova-kvm - name: Add nova user to libvirtd group user: name: "{{ nova_system_user_name }}" groups: "{{ libvirt_group }}" append: "yes" tags: - nova-install - nova-libvirt - name: Ensure kvm permissions command: "udevadm trigger" changed_when: false tags: - nova-config - nova-kvm - name: Set kernel permissions to enable libguestfs features (Ubuntu) include_tasks: nova_kernel_permissions.yml when: - ansible_facts['distribution'] == 'Ubuntu' - nova_libvirt_inject_key | bool or nova_libvirt_inject_password | bool args: apply: tags: - nova-config - nova-kvm - nova-libvirt tags: - always - name: Set libvirtd config template: src: libvirtd.conf.j2 dest: /etc/libvirt/libvirtd.conf owner: "root" group: "root" mode: 0644 notify: Restart libvirt-bin tags: - nova-config - nova-kvm - nova-libvirt - name: Set qemu config template: src: "qemu.conf.j2" dest: "/etc/libvirt/qemu.conf" owner: "root" group: "root" mode: "0600" when: - _nova_qemu_conf | length > 0 or nova_network_type == 'calico' notify: Restart libvirt-bin tags: - nova-config - nova-kvm - nova-libvirt - name: Unset libvirt runtime options (Ubuntu) lineinfile: dest: "/etc/default/libvirtd" line: 'libvirtd_opts=""' regexp: "^libvirtd_opts=" backup: "yes" when: - ansible_facts['pkg_mgr'] == 'apt' notify: Restart libvirt-bin tags: - nova-config - nova-kvm - nova-libvirt - name: Unset libvirt runtime options (RPM) lineinfile: dest: "/etc/sysconfig/libvirtd" line: 'LIBVIRTD_ARGS=""' regexp: "^(#)?LIBVIRTD_ARGS=*" backup: "yes" when: - ansible_facts['pkg_mgr'] == 'dnf' - ansible_facts['distribution_version'] is version('9', '<') notify: Restart libvirt-bin tags: - nova-config - nova-kvm - nova-libvirt - name: Set qemu-kvm KSM config (Ubuntu) lineinfile: dest: "/etc/default/qemu-kvm" line: "KSM_ENABLED={{ nova_compute_ksm_enabled | ternary('1','0') }}" regexp: "^KSM_ENABLED=*" backup: yes when: - ansible_facts['distribution'] == 'Ubuntu' notify: Restart libvirt-bin tags: - nova-config - nova-kvm - nova-libvirt - include_tasks: nova_disable_smt.yml when: - ansible_facts['architecture'] == 'ppc64le' args: apply: tags: - nova-config tags: - always - include_tasks: nova_enable_ksm.yml when: - nova_compute_ksm_enabled | bool args: apply: tags: - nova-config tags: - always - include_tasks: nova_compute_kvm_virsh_net_remove.yml args: apply: tags: - nova-config - nova-kvm - nova-libvirt - nova-kvm-virsh-net tags: - always