--- - name: Check if bootstrap is needed raw: which python register: need_bootstrap failed_when: false changed_when: false tags: - facts - name: Remove podman network cni raw: "podman network rm podman" become: true ignore_errors: true # noqa ignore-errors when: need_bootstrap.rc != 0 - name: Clean up possible pending packages on fedora coreos raw: "export http_proxy={{ http_proxy | default('') }};rpm-ostree cleanup -p }}" become: true when: need_bootstrap.rc != 0 # Because the package "python3-libselinux" has a dependency on libselinux, # which is a base package in Fedora CoreOS and cannot be upgraded. # Temporary disabling update repo allows to install python3-libselinux # see https://github.com/coreos/fedora-coreos-tracker/issues/592 - name: Temporary disable fedora updates repo because of base packages conflicts raw: "sed -i 's|^enabled=1|enabled=0|g' /etc/yum.repos.d/fedora-updates.repo" become: true when: need_bootstrap.rc != 0 - name: Install required packages on fedora coreos raw: "export http_proxy={{ http_proxy | default('') }};rpm-ostree install --allow-inactive {{ fedora_coreos_packages|join(' ') }}" become: true when: need_bootstrap.rc != 0 # see https://github.com/coreos/fedora-coreos-tracker/issues/592 - name: Enable fedora updates repo raw: "sed -i 's|^enabled=0|enabled=1|g' /etc/yum.repos.d/fedora-updates.repo" become: true when: need_bootstrap.rc != 0 # playbook fails because connection lost - name: Reboot immediately for updated ostree, please run playbook again if failed first time. raw: "nohup bash -c 'sleep 5s && shutdown -r now'" become: true ignore_errors: true # noqa ignore-errors ignore_unreachable: yes when: need_bootstrap.rc != 0 - name: Wait for the reboot to complete wait_for_connection: timeout: 240 connect_timeout: 20 delay: 5 sleep: 5 when: need_bootstrap.rc != 0 - name: Store the fact if this is an fedora core os host set_fact: is_fedora_coreos: True tags: - facts