From ea4ee59550923c0730c499ec05f02fbff6204808 Mon Sep 17 00:00:00 2001 From: Dmitry Tantsur Date: Tue, 25 Aug 2020 12:27:18 +0200 Subject: [PATCH] Use packaged iPXE ROMs for openSUSE Also remove work arounds for openSUSE in ancient ansible versions. Change-Id: Iab8dbf538b2e1bfc79d1021c6a7f729832abb3a5 --- .../roles/bifrost-create-vm-nodes/tasks/main.yml | 16 ---------------- .../defaults/required_defaults_Suse_family.yml | 11 ++++------- .../roles/bifrost-ironic-install/tasks/main.yml | 16 ---------------- .../notes/suse-ipxe-ce4f1bf07db78860.yaml | 5 +++++ 4 files changed, 9 insertions(+), 39 deletions(-) create mode 100644 releasenotes/notes/suse-ipxe-ce4f1bf07db78860.yaml diff --git a/playbooks/roles/bifrost-create-vm-nodes/tasks/main.yml b/playbooks/roles/bifrost-create-vm-nodes/tasks/main.yml index 6eeb37409..af3e1d570 100644 --- a/playbooks/roles/bifrost-create-vm-nodes/tasks/main.yml +++ b/playbooks/roles/bifrost-create-vm-nodes/tasks/main.yml @@ -12,22 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. --- -# NOTE(cinerama) openSUSE Tumbleweed & Leap have different distribution -# IDs which are not currently accounted for in Ansible, so adjust facts -# so we can have shared defaults for the whole SuSE family. -# This change can be removed when the pull request at -# https://github.com/ansible/ansible/pull/17575 lands in a new version. -- name: Ensure openSUSE Tumbleweed has the correct family - set_fact: - ansible_os_family: "Suse" - when: ansible_os_family is search("openSUSE Tumbleweed") - -- name: Ensure openSUSE Leap has the correct family - set_fact: - ansible_os_family: "Suse" - when: (ansible_os_family is search("SUSE LINUX")) or - (ansible_os_family is search("openSUSE Leap")) - # NOTE(hwoarang) The 'apt' module needs python-apt installed in the virtualenv # but it's not possible to do that. See https://github.com/ansible/ansible/issues/14468 # python-apt only works if it's installed on the local system so we need to switch the diff --git a/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Suse_family.yml b/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Suse_family.yml index 23cbe65b1..06b9a43f4 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Suse_family.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/required_defaults_Suse_family.yml @@ -1,12 +1,8 @@ --- init_dest_dir: /usr/lib/systemd/system/ -# NOTE (cinerama): The iPXE binaries are not currently packaged for SuSE, -# so we download them and install them to /usr/local/share/ipxe. If the -# files are packaged, download_ipxe can be removed and ipxe_dir set to -# the location of the packaged files. -download_ipxe: true -ipxe_dir: /usr/local/share/ipxe -ipxe_full_binary: ipxe.pxe +ipxe_dir: /usr/share/ipxe +ipxe_full_binary: ipxe.lkrn +ipxe_efi_binary: ipxe-x86_64.efi ironic_rootwrap_dir: /usr/bin/ nginx_user: nginx mysql_service_name: mysql @@ -21,6 +17,7 @@ required_packages: - libxslt-devel - openssl-devel - libxml2-devel + - ipxe-bootimgs - qemu-ipxe - tftp - xinetd diff --git a/playbooks/roles/bifrost-ironic-install/tasks/main.yml b/playbooks/roles/bifrost-ironic-install/tasks/main.yml index fcb33cb45..90c2d0ba6 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/main.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/main.yml @@ -13,22 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. --- -# NOTE(cinerama) openSUSE Tumbleweed & Leap have different distribution -# IDs which are not currently accounted for in Ansible, so adjust facts -# so we can have shared defaults for the whole SuSE family. -# This change can be removed when the pull request at -# https://github.com/ansible/ansible/pull/17575 lands in a new version. -- name: Ensure openSUSE Tumbleweed has the correct family - set_fact: - ansible_os_family: "Suse" - when: ansible_os_family is search("openSUSE Tumbleweed") - -- name: Ensure openSUSE Leap has the correct family - set_fact: - ansible_os_family: "Suse" - when: (ansible_os_family is search("SUSE LINUX")) or - (ansible_os_family is search("openSUSE Leap")) - # NOTE(cinerama) dummy-defaults.yml is an empty defaults file. We use it # here to ensure that with_first_found won't fail should we not have # defaults for a particular distribution, version, etc. diff --git a/releasenotes/notes/suse-ipxe-ce4f1bf07db78860.yaml b/releasenotes/notes/suse-ipxe-ce4f1bf07db78860.yaml new file mode 100644 index 000000000..893d154cb --- /dev/null +++ b/releasenotes/notes/suse-ipxe-ce4f1bf07db78860.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + Packaged iPXE ROMs are now used by default on openSUSE, set + ``download_ipxe=true`` to override.