{"id":17,"sha1":"068d337b95e2244e8a34b93cf7cb46005dd1a52a","playbook":{"id":1,"items":{"plays":1,"tasks":154,"results":154,"hosts":1,"files":22,"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/tests/test-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":10,"module_path":null,"syntax":false,"listtasks":false,"listtags":false,"step":false,"start_at_task":null,"args":["bootstrap-aio.yml"]},"labels":[{"id":1,"name":"check:False"},{"id":2,"name":"tags:all"}],"started":"2025-12-08T13:25:10.417083Z","ended":"2025-12-08T13:27:15.725717Z","duration":"00:02:05.308634","name":null,"ansible_version":"2.18.6","client_version":"1.7.4","python_version":"3.12.3","server_version":"1.7.4","status":"completed","path":"/home/zuul/src/opendev.org/openstack/openstack-ansible/tests/bootstrap-aio.yml","controller":"npdb25d4c136674","user":"root"},"content":"---\n# Copyright 2020, City Network International AB.\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: Install EPEL\n  when:\n    - \"'s3fs' in systemd_mount_types\"\n    - ansible_facts['os_family'] | lower == 'redhat'\n  block:\n    - name: Download EPEL gpg keys\n      ansible.builtin.get_url:\n        url: \"{{ systemd_centos_epel_key }}\"\n        dest: /etc/pki/rpm-gpg\n        mode: \"0640\"\n      register: _get_yum_keys\n      until: _get_yum_keys is success\n      retries: 5\n      delay: 2\n\n    - name: Install EPEL gpg keys\n      ansible.builtin.rpm_key:\n        key: \"/etc/pki/rpm-gpg/{{ systemd_centos_epel_key.split('/')[-1] }}\"\n        state: present\n\n    - name: Install the EPEL repository\n      ansible.builtin.yum_repository:\n        name: epel-systemd_mounts\n        baseurl: \"{{ systemd_centos_epel_mirror ~ '/' ~ ansible_facts['distribution_major_version'] ~ '/Everything/' ~ ansible_facts['architecture'] }}\"\n        description: \"Extra Packages for Enterprise Linux {{ ansible_facts['distribution_major_version'] }} - $basearch\"\n        gpgcheck: true\n        enabled: true\n        state: present\n        includepkgs: \"s3fs-fuse\"\n      register: install_epel_repo\n      until: install_epel_repo is success\n      retries: 5\n      delay: 2\n\n- name: Install required distro packages for mounts\n  ansible.builtin.package:\n    name: \"{{ systemd_mount_packages }}\"\n    state: present\n\n# NOTE(jrosser) as we call systemd_service from inside a block: with a when:\n#  parameter, the when: condition must be able to be resolved inside the\n#  systemd_service role where role vars from systemd_mount are not in scope\n- name: Make boolean flag for setting up glusterfs\n  ansible.builtin.set_fact:\n    _configure_glusterfs: \"{{ 'glusterfs' in systemd_mount_types }}\"\n\n- name: Configure fuse for glusterfs\n  when:\n    - _configure_glusterfs\n  block:\n    - name: Configure systemd-tmpfiles to create /dev/fuse at boot\n      ansible.builtin.copy:\n        content: \"c /dev/fuse 0600 - - - 10:229\"\n        dest: \"/etc/tmpfiles.d/openstack-ansible-systemd_mount-glusterfs-client.conf\"\n        mode: \"0644\"\n      register: _glusterfs_server_tmpfiles\n\n    - name: Apply systemctl overrides\n      when: ansible_facts['pkg_mgr'] == 'dnf'\n      ansible.builtin.include_role:\n        name: systemd_service\n      vars:\n        systemd_services:\n          - service_name: systemd-tmpfiles-setup-dev\n            restart_changed: false\n            load: false\n            systemd_overrides_only: true\n            systemd_overrides:\n              Unit:\n                ConditionCapability: \"\"\n\n    - name: Restart systemd-tmpfiles-setup-dev\n      ansible.builtin.service:\n        name: \"systemd-tmpfiles-setup-dev\"\n        state: restarted\n      when:\n        - _glusterfs_server_tmpfiles is changed\n","created":"2025-12-08T13:26:10.675747Z","updated":"2025-12-08T13:26:10.675773Z","path":"/home/zuul/src/opendev.org/openstack/ansible-role-systemd_mount/tasks/systemd_install.yml"}