diff --git a/generate-iso.yaml b/generate-iso.yaml index b15b28b..51c79ec 100644 --- a/generate-iso.yaml +++ b/generate-iso.yaml @@ -5,19 +5,11 @@ gather_facts: no vars: - #okdVersion: "4.15.0-0.okd-2024-03-10-010116" - okdVersion: "4.16.0-okd-scos.1" - + #okdVersion: "4.16.0-okd-scos.1" + okdVersion: "4.15.0-0.okd-2024-03-10-010116" + localCDN: "https://cdn.endofday.com" tempDir: "/tmp/ocp-baremetal-iso-staging" - machineNetwork: "10.1.14.0/24" - baseDomain: "endofday.com" - clusterName: "snoballs" - sshKey: "ssh-rsa " - bootDisk: "/dev/sda" - #binariesBaseUrl: "https://github.com/okd-project/okd/releases/download" - binariesBaseUrl: "https://github.com/okd-project/okd-scos/releases/download" - #binariesBaseUrl: "https://cdn.endofday.com/okd-project/okd-scos/releases/download" #scosBaseUrl: "https://cdn.endofday.com/okd-project" scosBaseUrl: "" @@ -37,6 +29,16 @@ - "openshift-install" - "oc" + - name: Set URI for Legacy FCOS binaries + set_fact: + binariesBaseUrl: "{{ ( localCDN | d('') != '') | ternary('{{ localCDN }}/okd-project/okd/releases/download','https://github.com/okd-project/okd/releases/download') }}" + when: '"scos" not in okdVersion' + + - name: Set URI for CentOS Stream CoreOS (SCOS) binaries + set_fact: + binariesBaseUrl: "{{ ( localCDN | d('') != '') | ternary('{{ localCDN }}/okd-project/okd-scos/releases/download','https://github.com/okd-project/okd-scos/releases/download') }}" + when: '"scos" in okdVersion' + - name: Download and extract binaries when: > (binaries.results | map(attribute='stat.exists') | select('equalto', false) | list | length) > 0 @@ -130,15 +132,16 @@ - name: Download ISO ansible.builtin.get_url: - url: "{{ (scosBaseUrl | d('') != '') | ternary( scos_image_url.stdout | regex_replace( 'https://builds.coreos.fedoraproject.org/prod/streams/stable/builds', scosBaseUrl), scos_image_url.stdout) }}" + url: "{{ (localCDN | d('') != '') | ternary( scos_image_url.stdout | regex_replace( 'https://builds.coreos.fedoraproject.org/prod/streams/stable/builds', localCDN + '/okd_project/'), scos_image_url.stdout) }}" dest: "{{ tempDir }}/os.iso" - name: Embed the ignition bootstrap into the iso image become: true ansible.builtin.shell: | set -o pipefail - alias coreos-installer='sudo podman run --privileged --pull always --rm -v /dev:/dev -v /run/udev:/run/udev -v {{ tempDir }}:/data -w /data quay.io/coreos/coreos-installer:release' - coreos-installer iso ignition embed -fi {{ clusterName }}/bootstrap-in-place-for-live-iso.ign os.iso + # Uncomment alias if you do not have a coreos-installer package installed + # alias coreos-installer='sudo podman run --privileged --pull always --rm -v /dev:/dev -v /run/udev:/run/udev -v {{ tempDir }}:/data -w /data quay.io/coreos/coreos-installer:release' + coreos-installer iso ignition embed -fi {{ tempDir}}/{{ clusterName }}/bootstrap-in-place-for-live-iso.ign {{ tempDir }}/os.iso register: embed_ignition_in_iso diff --git a/inventory/test_env b/inventory/test_env new file mode 100644 index 0000000..c45e976 --- /dev/null +++ b/inventory/test_env @@ -0,0 +1,9 @@ +# Inventory file to build ISO for a test environment +all: + hosts: + node01: + machineNetwork: "10.1.14.0/24" + baseDomain: "levelsandframes.com" + clusterName: "okd" + sshKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC0dM21m8ra/Evjm0lVS/nvFEr6KxAgTZicOX+E1uDTrj0BgbdZ6SLNPcne89sSb9NIuwZSC9P8sfD34iwjG23Yd0NZhzQ3WW5/U68DQPuxBaHCqz5npeJ5SW+W24PNt2CALnL/u4HJW5A+QmfacDKngZWOUfnieKugaCtvbhSkiRZ4RlntX5350F55vWpoMvGz2qY7k/KjapDknMrfwgQX0rl60BI+o3rCog6AjsuzauyVLs400e4x0fXZdjQvD9e1c1sW7lD5ddM5raf/OJh1kUMBzO0pnD9pfNXTpMcu8QFfsL4Gqa8DYx6LIqCIMyCOPUX+DgCeCJNdU7uMw6ZNkboCmaiOU3N/iiGlaQ7t7sPWpdNlDzbLl7L77TLx4ogwuF7CJTggy8S9T0VUtv4MsxTarDUIGhrIvLBvd8+mZwNtvZZk6VA7sNpygD1XIOxTQpnEwjleacvnxnLEoX4cI++3N8kYzQyfUio180bJxgZdw6/tiFb0CW840hIAJXE=" + bootDisk: "/dev/nvme0"