Skip to content
This repository has been archived by the owner on May 28, 2024. It is now read-only.

Commit

Permalink
test: update kickstart file to support bios and uefi
Browse files Browse the repository at this point in the history
Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
  • Loading branch information
henrywang committed Mar 25, 2024
1 parent 9223d04 commit 00ba619
Show file tree
Hide file tree
Showing 8 changed files with 31 additions and 32 deletions.
29 changes: 16 additions & 13 deletions .github/workflows/os-replace.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@ jobs:
include:
- arch: aarch64
platform: aws
- arch: aarch64
platform: beaker
runs-on: ubuntu-latest

steps:
Expand All @@ -75,17 +73,17 @@ jobs:
- name: Run the tests
uses: sclorg/testing-farm-as-github-action@v1
with:
compose: Fedora-Rawhide
compose: Fedora-40
api_key: ${{ secrets.TF_API_KEY }}
git_url: ${{ needs.pr-info.outputs.repo_url }}
git_ref: ${{ needs.pr-info.outputs.ref }}
arch: x86_64
arch: ${{ matrix.arch }}
tmt_context: "arch=${{ matrix.arch }}"
update_pull_request_status: true
pull_request_status_name: "bootc-rhel94-${{ matrix.arch }}-replace-${{ matrix.platform }}"
tmt_plan_regex: "${{ matrix.platform }}"
tf_scope: private
secrets: "OS_USERNAME=${{ secrets.OS_USERNAME }};OS_PASSWORD=${{ secrets.OS_PASSWORD }};OS_AUTH_URL=${{ secrets.OS_AUTH_URL }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};QUAY_SECRET=${{ secrets.QUAY_SECRET }};RHEL_REGISTRY_URL=${{ secrets.RHEL_REGISTRY_URL }};DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};GCP_SERVICE_ACCOUNT_FILE_B64=${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};CERT_URL=${{ secrets.CERT_URL }};RHC_AK=${{ secrets.RHC_AK }};RHC_ORGID=${{ secrets.RHC_ORGID }}"
secrets: "OS_USERNAME=${{ secrets.OS_USERNAME }};OS_PASSWORD=${{ secrets.OS_PASSWORD }};OS_AUTH_URL=${{ secrets.OS_AUTH_URL }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};QUAY_SECRET=${{ secrets.QUAY_SECRET }};RHEL_REGISTRY_URL=${{ secrets.RHEL_REGISTRY_URL }};DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};GCP_SERVICE_ACCOUNT_FILE_B64=${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};CERT_URL=${{ secrets.CERT_URL }};RHC_AK=${{ secrets.RHC_AK }};RHC_ORGID=${{ secrets.RHC_ORGID }};BEAKER_KEYTAB_B64=${{ secrets.BEAKER_KEYTAB_B64 }};BEAKER_CLIENT_B64=${{ secrets.BEAKER_CLIENT_B64 }};KRB5_CONF_B64=${{ secrets.KRB5_CONF_B64 }}"
variables: "TEST_OS=rhel-9-4;PLATFORM=${{ matrix.platform }};ARCH=${{ matrix.arch }};OS_PROJECT_NAME=${{ secrets.OS_PROJECT_NAME }};OS_USER_DOMAIN_NAME=${{ secrets.OS_USER_DOMAIN_NAME }};OS_PROJECT_DOMAIN_NAME=${{ secrets.OS_PROJECT_DOMAIN_NAME }};GCP_PROJECT=${{ secrets.GCP_PROJECT }};AWS_REGION=${{ secrets.AWS_REGION }}"

cs9-replace:
Expand All @@ -101,8 +99,6 @@ jobs:
include:
- arch: aarch64
platform: aws
- arch: aarch64
platform: beaker
runs-on: ubuntu-latest

steps:
Expand All @@ -115,17 +111,17 @@ jobs:
- name: Run the tests
uses: sclorg/testing-farm-as-github-action@v1
with:
compose: Fedora-Rawhide
compose: Fedora-40
api_key: ${{ secrets.TF_API_KEY }}
git_url: ${{ needs.pr-info.outputs.repo_url }}
git_ref: ${{ needs.pr-info.outputs.ref }}
arch: x86_64
arch: ${{ matrix.arch }}
tmt_context: "arch=${{ matrix.arch }}"
update_pull_request_status: true
pull_request_status_name: "bootc-cs9-${{ matrix.arch }}-replace-${{ matrix.platform }}"
tmt_plan_regex: "${{ matrix.platform }}"
tf_scope: private
secrets: "OS_USERNAME=${{ secrets.OS_USERNAME }};OS_PASSWORD=${{ secrets.OS_PASSWORD }};OS_AUTH_URL=${{ secrets.OS_AUTH_URL }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};QUAY_SECRET=${{ secrets.QUAY_SECRET }};GCP_SERVICE_ACCOUNT_FILE_B64=${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};CERT_URL=${{ secrets.CERT_URL }}"
secrets: "OS_USERNAME=${{ secrets.OS_USERNAME }};OS_PASSWORD=${{ secrets.OS_PASSWORD }};OS_AUTH_URL=${{ secrets.OS_AUTH_URL }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};QUAY_SECRET=${{ secrets.QUAY_SECRET }};GCP_SERVICE_ACCOUNT_FILE_B64=${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};CERT_URL=${{ secrets.CERT_URL }};BEAKER_KEYTAB_B64=${{ secrets.BEAKER_KEYTAB_B64 }};BEAKER_CLIENT_B64=${{ secrets.BEAKER_CLIENT_B64 }};KRB5_CONF_B64=${{ secrets.KRB5_CONF_B64 }}"
variables: "TEST_OS=centos-stream-9;PLATFORM=${{ matrix.platform }};ARCH=${{ matrix.arch }};OS_PROJECT_NAME=${{ secrets.OS_PROJECT_NAME }};OS_USER_DOMAIN_NAME=${{ secrets.OS_USER_DOMAIN_NAME }};OS_PROJECT_DOMAIN_NAME=${{ secrets.OS_PROJECT_DOMAIN_NAME }};GCP_PROJECT=${{ secrets.GCP_PROJECT }};AWS_REGION=${{ secrets.AWS_REGION }}"

cs9-dev-replace:
Expand All @@ -143,6 +139,13 @@ jobs:
platform: aws
- arch: aarch64
platform: beaker
firmware: uefi
- arch: x86_64
platform: beaker
firmware: uefi
- arch: x86_64
platform: beaker
firmware: bios
runs-on: ubuntu-latest

steps:
Expand All @@ -155,7 +158,7 @@ jobs:
- name: Run the tests
uses: sclorg/testing-farm-as-github-action@v1
with:
compose: Fedora-Rawhide
compose: Fedora-40
api_key: ${{ secrets.TF_API_KEY }}
git_url: ${{ needs.pr-info.outputs.repo_url }}
git_ref: ${{ needs.pr-info.outputs.ref }}
Expand All @@ -165,5 +168,5 @@ jobs:
pull_request_status_name: "bootc-cs9-dev-${{ matrix.arch }}-replace-${{ matrix.platform }}"
tmt_plan_regex: "${{ matrix.platform }}"
tf_scope: private
secrets: "OS_USERNAME=${{ secrets.OS_USERNAME }};OS_PASSWORD=${{ secrets.OS_PASSWORD }};OS_AUTH_URL=${{ secrets.OS_AUTH_URL }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};QUAY_SECRET=${{ secrets.QUAY_SECRET }};GCP_SERVICE_ACCOUNT_FILE_B64=${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};CERT_URL=${{ secrets.CERT_URL }}"
variables: "TEST_OS=centos-stream-9;PLATFORM=${{ matrix.platform }};ARCH=${{ matrix.arch }};IMAGE_NAME=centos-bootc-dev;OS_PROJECT_NAME=${{ secrets.OS_PROJECT_NAME }};OS_USER_DOMAIN_NAME=${{ secrets.OS_USER_DOMAIN_NAME }};OS_PROJECT_DOMAIN_NAME=${{ secrets.OS_PROJECT_DOMAIN_NAME }};GCP_PROJECT=${{ secrets.GCP_PROJECT }};AWS_REGION=${{ secrets.AWS_REGION }}"
secrets: "OS_USERNAME=${{ secrets.OS_USERNAME }};OS_PASSWORD=${{ secrets.OS_PASSWORD }};OS_AUTH_URL=${{ secrets.OS_AUTH_URL }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};QUAY_SECRET=${{ secrets.QUAY_SECRET }};GCP_SERVICE_ACCOUNT_FILE_B64=${{ secrets.GCP_SERVICE_ACCOUNT_FILE_B64 }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};CERT_URL=${{ secrets.CERT_URL }};BEAKER_KEYTAB_B64=${{ secrets.BEAKER_KEYTAB_B64 }};BEAKER_CLIENT_B64=${{ secrets.BEAKER_CLIENT_B64 }};KRB5_CONF_B64=${{ secrets.KRB5_CONF_B64 }}"
variables: "TEST_OS=centos-stream-9;PLATFORM=${{ matrix.platform }};ARCH=${{ matrix.arch }};IMAGE_NAME=centos-bootc-dev;OS_PROJECT_NAME=${{ secrets.OS_PROJECT_NAME }};OS_USER_DOMAIN_NAME=${{ secrets.OS_USER_DOMAIN_NAME }};OS_PROJECT_DOMAIN_NAME=${{ secrets.OS_PROJECT_DOMAIN_NAME }};GCP_PROJECT=${{ secrets.GCP_PROJECT }};AWS_REGION=${{ secrets.AWS_REGION }};FIRMWARE=${{ matrix.firmware }}"
7 changes: 0 additions & 7 deletions os-replace.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ yum_repos:
enabled: true
gpgcheck: false
EOF
BARE_METAL_PARTITION="standard"
;;
"centos-stream-9")
IMAGE_NAME=${IMAGE_NAME:-"centos-bootc"}
Expand All @@ -63,10 +62,6 @@ EOF
SSH_USER="ec2-user"
REPLACE_CLOUD_USER='RUN sed -i "s/name: cloud-user/name: ec2-user/g" /etc/cloud/cloud.cfg'
fi
BARE_METAL_PARTITION="standard"
if [[ "$IMAGE_NAME" == "centos-bootc-dev" ]]; then
BARE_METAL_PARTITION="lvm"
fi
;;
"fedora-eln")
IMAGE_NAME="fedora-bootc"
Expand All @@ -75,7 +70,6 @@ EOF
SSH_USER="fedora"
ADD_REPO=""
ADD_RHC=""
BARE_METAL_PARTITION="lvm"
;;
*)
redprint "Variable TEST_OS has to be defined"
Expand Down Expand Up @@ -190,7 +184,6 @@ greenprint "Install $TEST_OS bootc system"
ansible-playbook -v \
-i "$INVENTORY_FILE" \
-e test_image_url="$TEST_IMAGE_URL" \
-e bare_metal_partition="$BARE_METAL_PARTITION" \
playbooks/install.yaml

if [[ "$PLATFORM" == "libvirt" ]] && [[ "$LAYERED_IMAGE" == "qemu-guest-agent" ]]; then
Expand Down
4 changes: 2 additions & 2 deletions playbooks/check-system.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -545,14 +545,14 @@
when: "'rhel' in test_os"

# case: check system reboot
# 5 minutes reboot timeout is for bare metal test
# 10 minutes reboot timeout is for bare metal test
- name: check system reboot
block:
- name: check system reboot
reboot:
post_reboot_delay: 60
pre_reboot_delay: 60
reboot_timeout: 300
reboot_timeout: 600
become: true
ignore_errors: true

Expand Down
2 changes: 1 addition & 1 deletion playbooks/deploy-beaker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
ssh_user: ""
ssh_key_pub: ""
inventory_file: ""
bare_metal_partition: "standard"
firmware: "{{ lookup('env', 'FIRMWARE') | default('uefi', true) }}"
beaker_family:
rhel-9-4: RedHatEnterpriseLinux9
centos-stream-9: CentOSStream9
Expand Down
2 changes: 1 addition & 1 deletion playbooks/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
become: true
when: "'centos-bootc-dev' not in test_image_url"

# 5 minutes reboot timeout is for bare metal test
# 10 minutes reboot timeout is for bare metal test
- name: Reboot to deploy new system
reboot:
post_reboot_delay: 60
Expand Down
4 changes: 2 additions & 2 deletions playbooks/rollback.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
command: rpm-ostree rollback
become: true

# 5 minutes reboot timeout is for bare metal test
# 10 minutes reboot timeout is for bare metal test
- name: Reboot to deploy new system
reboot:
post_reboot_delay: 60
reboot_timeout: 300
reboot_timeout: 600
become: true
ignore_errors: true

Expand Down
11 changes: 7 additions & 4 deletions playbooks/templates/beaker-job.j2
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<job group='rhel-edge'>
<whiteboard>Provisioned for {{ arch }} bootc install test</whiteboard>
<whiteboard>bootc install test on {{ arch }} bare metal server </whiteboard>
<recipeSet>
<recipe kernel_options="" kernel_options_post="" ks_meta="no_autopart" role="None" whiteboard="">
<autopick random="false"/>
Expand All @@ -11,9 +11,9 @@ user --name={{ ssh_user }} --groups=wheel --iscrypted
sshkey --username={{ ssh_user }} "{{ lookup('ansible.builtin.file', ssh_key_pub) }}"
zerombr
clearpart --all --initlabel --disklabel=gpt
{% if bare_metal_partition == "lvm" %}
part biosboot --size=1 --fstype=biosboot
part /boot --size=1000 --fstype=ext4 --label=boot
{% if firmware == 'uefi' or arch == 'aarch64' %}
part /boot/efi --size=100 --fstype=efi
part /boot --size=1000 --fstype=ext4 --label=boot
part pv.01 --grow
volgroup bootc pv.01
logvol / --vgname=bootc --fstype=xfs --size=10000 --name=root
Expand Down Expand Up @@ -41,6 +41,9 @@ echo -e '{{ ssh_user }}\tALL=(ALL)\tNOPASSWD: ALL' >> /etc/sudoers
<and>
<arch op="=" value="{{ arch }}"/>
<hypervisor op="=" value=""/>
{% if firmware == 'uefi' and arch == 'x86_64' %}
<key_value key="NETBOOT_METHOD" op="=" value="efigrub"/>
{% endif %}
</and>
</hostRequires>
<partitions/>
Expand Down
4 changes: 2 additions & 2 deletions playbooks/upgrade.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@
when:
- air_gapped_dir | default('') == ""

# 5 minutes reboot timeout is for bare metal test
# 10 minutes reboot timeout is for bare metal test
- name: Reboot to deploy new system
reboot:
post_reboot_delay: 60
reboot_timeout: 300
reboot_timeout: 600
become: true
ignore_errors: true

Expand Down

0 comments on commit 00ba619

Please sign in to comment.