{"id":850,"sha1":"1a9bedffef8e24de03a435309242f75fee353638","playbook":{"id":4,"items":{"plays":104,"tasks":1377,"results":1365,"hosts":2,"files":504,"records":0},"arguments":{"version":null,"verbosity":0,"private_key_file":null,"remote_user":null,"connection":"openstack.osa.ssh","timeout":null,"ssh_common_args":null,"sftp_extra_args":null,"scp_extra_args":null,"ssh_extra_args":null,"ask_pass":false,"connection_password_file":null,"force_handlers":true,"flush_cache":false,"become":false,"become_method":"sudo","become_user":null,"become_ask_pass":false,"become_password_file":null,"tags":["all"],"skip_tags":[],"check":false,"diff":false,"inventory":["/home/zuul/src/opendev.org/openstack/openstack-ansible/inventory/dynamic_inventory.py","/home/zuul/src/opendev.org/openstack/openstack-ansible/inventory/inventory.ini","/etc/openstack_deploy/inventory.ini"],"listhosts":false,"subset":null,"extra_vars":"Not saved by ARA as configured by 'ignored_arguments'","vault_ids":[],"ask_vault_pass":false,"vault_password_files":[],"forks":8,"module_path":null,"syntax":false,"listtasks":false,"listtags":false,"step":false,"start_at_task":null,"args":["setup-openstack.yml"]},"labels":[{"id":1,"name":"check:False"},{"id":2,"name":"tags:all"}],"started":"2025-12-08T13:39:52.478534Z","ended":"2025-12-08T14:14:54.510371Z","duration":"00:35:02.031837","name":null,"ansible_version":"2.18.6","client_version":"1.7.4","python_version":"3.12.3","server_version":"1.7.4","status":"failed","path":"/home/zuul/src/opendev.org/openstack/openstack-ansible/playbooks/setup-openstack.yml","controller":"aio1.openstack.local","user":"root"},"content":"---\n# Copyright 2014, Rackspace US, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n- name: Including nova_compute_kvm_install tasks\n  ansible.builtin.include_tasks: nova_compute_kvm_install.yml\n  args:\n    apply:\n      tags:\n        - nova-install\n  tags:\n    - always\n\n- name: Set nested kvm virt\n  ansible.builtin.copy:\n    src: kvm.conf\n    dest: /etc/modprobe.d/kvm.conf\n    owner: root\n    group: root\n    mode: \"0644\"\n  when:\n    - nova_nested_virt_enabled | bool\n  tags:\n    - nova-config\n    - nova-kvm\n\n- name: Add nova user to libvirtd group\n  ansible.builtin.user:\n    name: \"{{ nova_system_user_name }}\"\n    groups: \"{{ libvirt_group }}\"\n    append: \"yes\"\n  tags:\n    - nova-install\n    - nova-libvirt\n\n- name: Ensure kvm permissions\n  ansible.builtin.command: \"udevadm trigger\"\n  changed_when: false\n  tags:\n    - nova-config\n    - nova-kvm\n\n- name: Set kernel permissions to enable libguestfs features (Ubuntu)\n  ansible.builtin.include_tasks: nova_kernel_permissions.yml\n  when:\n    - ansible_facts['distribution'] == 'Ubuntu'\n    - nova_libvirt_inject_key | bool or nova_libvirt_inject_password | bool\n  args:\n    apply:\n      tags:\n        - nova-config\n        - nova-kvm\n        - nova-libvirt\n  tags:\n    - always\n\n- name: Set libvirtd config\n  ansible.builtin.template:\n    src: libvirtd.conf.j2\n    dest: /etc/libvirt/libvirtd.conf\n    owner: \"root\"\n    group: \"root\"\n    mode: \"0644\"\n  notify: Restart libvirt-bin\n  tags:\n    - nova-config\n    - nova-kvm\n    - nova-libvirt\n\n- name: Set qemu config\n  ansible.builtin.template:\n    src: \"qemu.conf.j2\"\n    dest: \"/etc/libvirt/qemu.conf\"\n    owner: \"root\"\n    group: \"root\"\n    mode: \"0600\"\n  notify: Restart libvirt-bin\n  tags:\n    - nova-config\n    - nova-kvm\n    - nova-libvirt\n\n- name: Unset libvirt runtime options (Ubuntu)\n  ansible.builtin.lineinfile:\n    dest: \"/etc/default/libvirtd\"\n    line: 'libvirtd_opts=\"\"'\n    regexp: \"^libvirtd_opts=\"\n    backup: \"yes\"\n  when:\n    - ansible_facts['pkg_mgr'] == 'apt'\n  notify: Restart libvirt-bin\n  tags:\n    - nova-config\n    - nova-kvm\n    - nova-libvirt\n\n- name: Unset libvirt runtime options (RPM)\n  ansible.builtin.lineinfile:\n    dest: \"/etc/sysconfig/libvirtd\"\n    line: 'LIBVIRTD_ARGS=\"\"'\n    regexp: \"^(#)?LIBVIRTD_ARGS=*\"\n    backup: \"yes\"\n  when:\n    - ansible_facts['pkg_mgr'] == 'dnf'\n    - ansible_facts['distribution_version'] is version('9', '<')\n  notify: Restart libvirt-bin\n  tags:\n    - nova-config\n    - nova-kvm\n    - nova-libvirt\n\n- name: Set qemu-kvm KSM config (Ubuntu)\n  ansible.builtin.lineinfile:\n    dest: \"/etc/default/qemu-kvm\"\n    line: \"KSM_ENABLED={{ nova_compute_ksm_enabled | ternary('1', '0') }}\"\n    regexp: \"^KSM_ENABLED=*\"\n    backup: true\n  when:\n    - ansible_facts['distribution'] == 'Ubuntu'\n  notify: Restart libvirt-bin\n  tags:\n    - nova-config\n    - nova-kvm\n    - nova-libvirt\n\n# TODO(noonedeadpunk): Clean up in 2026.2 cycle\n- name: Clean up old apparmor config (Ubuntu/Debian)\n  ansible.builtin.lineinfile:\n    dest: \"/etc/apparmor.d/local/usr.lib.libvirt.virt-aa-helper\"\n    line: \"  {{ nova_system_home_folder }}/instances/_base/* r,\"\n    create: true\n    owner: \"root\"\n    group: \"root\"\n    mode: \"0644\"\n    state: absent\n  when:\n    - ansible_facts['distribution'] == 'Ubuntu' or ansible_facts['distribution'] == 'Debian'\n  notify: Reload apparmor profile\n  tags:\n    - nova-config\n    - nova-kvm\n    - nova-libvirt\n\n- name: Set apparmor overrides (Ubuntu/Debian)\n  ansible.builtin.blockinfile:\n    dest: \"/etc/apparmor.d/local/usr.lib.libvirt.virt-aa-helper\"\n    block: |\n      # arbitrary path to nova home folder\n        {{ nova_system_home_folder }}/images/** r,\n        {{ nova_system_home_folder }}/instances/_base/** r,\n        {{ nova_system_home_folder }}/instances/snapshots/** r,\n    create: true\n    owner: \"root\"\n    group: \"root\"\n    mode: \"0644\"\n    marker: \"# {mark} OPENSTACK-ANSIBLE MANAGED BLOCK\"\n  when:\n    - ansible_facts['distribution'] == 'Ubuntu' or ansible_facts['distribution'] == 'Debian'\n    - nova_system_home_folder != '/var/lib/nova'\n  notify: Reload apparmor profile\n  tags:\n    - nova-config\n    - nova-kvm\n    - nova-libvirt\n\n- name: Including nova_disable_smt tasks\n  ansible.builtin.include_tasks: nova_disable_smt.yml\n  when:\n    - ansible_facts['architecture'] == 'ppc64le'\n  args:\n    apply:\n      tags:\n        - nova-config\n  tags:\n    - always\n\n- name: Including nova_enable_ksm tasks\n  ansible.builtin.include_tasks: nova_enable_ksm.yml\n  when:\n    - nova_compute_ksm_enabled | bool\n  args:\n    apply:\n      tags:\n        - nova-config\n  tags:\n    - always\n\n- name: Including nova_compute_kvm_virsh_net_remove tasks\n  ansible.builtin.include_tasks: nova_compute_kvm_virsh_net_remove.yml\n  args:\n    apply:\n      tags:\n        - nova-config\n        - nova-kvm\n        - nova-libvirt\n        - nova-kvm-virsh-net\n  tags:\n    - always\n","created":"2025-12-08T13:59:24.985183Z","updated":"2025-12-08T13:59:24.985214Z","path":"/home/zuul/src/opendev.org/openstack/openstack-ansible-os_nova/tasks/drivers/qemu/nova_compute_qemu.yml"}