From 31bc64a98e9f492adb3a8d1ed13e62edb06609c0 Mon Sep 17 00:00:00 2001 From: Yi He Date: Wed, 10 Apr 2024 20:16:38 +0800 Subject: [PATCH] d --- .github/workflows/centos-stream-9.yaml | 102 ++++++ .github/workflows/rhel-8-10.yaml | 159 ++++----- .github/workflows/rhel-8-8.yaml | 71 ++++ .github/workflows/rhel-9-4.yaml | 430 ++----------------------- minimal-raw.sh | 10 +- ostree-8-to-9.sh | 8 + ostree-9-to-9.sh | 13 +- ostree-adds-on.sh | 8 +- ostree-ami-image.sh | 13 +- ostree-fdo-aio.sh | 24 +- ostree-fdo-container.sh | 13 +- ostree-fdo-db.sh | 12 +- ostree-ignition.sh | 10 +- ostree-ng.sh | 20 +- ostree-pulp.sh | 8 +- ostree-raw-image.sh | 18 +- ostree-simplified-installer.sh | 26 +- ostree-vsphere.sh | 23 +- ostree.sh | 42 ++- setup.sh | 6 + tmt/plans/edge-test.fmf | 138 ++++++-- tmt/tests/test.sh | 3 +- 22 files changed, 561 insertions(+), 596 deletions(-) create mode 100644 .github/workflows/centos-stream-9.yaml create mode 100644 .github/workflows/rhel-8-8.yaml diff --git a/.github/workflows/centos-stream-9.yaml b/.github/workflows/centos-stream-9.yaml new file mode 100644 index 0000000..15dcb8d --- /dev/null +++ b/.github/workflows/centos-stream-9.yaml @@ -0,0 +1,102 @@ +--- +name: Run Edge Test on CS 9 + +on: + issue_comment: + types: + - created + +jobs: + pr-info: + if: ${{ github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-cs-9')) }} + runs-on: ubuntu-latest + steps: + - name: Query author repository permissions + uses: octokit/request-action@v2.x + id: user_permission + with: + route: GET /repos/${{ github.repository }}/collaborators/${{ github.event.sender.login }}/permission + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Check if user does have correct permissions + if: contains('admin write', fromJson(steps.user_permission.outputs.data).permission) + id: check_user_perm + run: | + echo "User '${{ github.event.sender.login }}' has permission '${{ fromJson(steps.user_permission.outputs.data).permission }}' allowed values: 'admin', 'write'" + echo "allowed_user=true" >> $GITHUB_OUTPUT + + - name: Get information for pull request + uses: octokit/request-action@v2.x + id: pr-api + with: + route: GET /repos/${{ github.repository }}/pulls/${{ github.event.issue.number }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + outputs: + allowed_user: ${{ steps.check_user_perm.outputs.allowed_user }} + sha: ${{ fromJson(steps.pr-api.outputs.data).head.sha }} + ref: ${{ fromJson(steps.pr-api.outputs.data).head.ref }} + repo_url: ${{ fromJson(steps.pr-api.outputs.data).head.repo.html_url }} + + edge-cs-9-x86: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v2 + with: + compose: CentOS-Stream-9 + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-cs-9-x86" + tmt_context: "arch=x86_64;distro=cs-9" + tmt_plan_regex: edge-x86 + tf_scope: private + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};OCP4_TOKEN=${{ secrets.OCP4_TOKEN }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};DOCKERHUB_USERNAME=${{ secrets.DOCKERHUB_USERNAME }};DOCKERHUB_PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};GOVC_URL=${{ secrets.GOVC_URL }};GOVC_USERNAME=${{ secrets.GOVC_USERNAME }};GOVC_PASSWORD=${{ secrets.GOVC_PASSWORD }}" + variables: "ARCH=x86_64;AWS_DEFAULT_REGION=us-east-1;GOVC_INSECURE=1" + timeout: 180 + + edge-cs-9-arm: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v2 + with: + compose: CentOS-Stream-9 + arch: aarch64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + pull_request_status_name: "edge-cs-9-arm" + tmt_context: "arch=aarch64;distro=cs-9" + tmt_plan_regex: edge-arm + tf_scope: private + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};OCP4_TOKEN=${{ secrets.OCP4_TOKEN }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};DOCKERHUB_USERNAME=${{ secrets.DOCKERHUB_USERNAME }};DOCKERHUB_PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};GOVC_URL=${{ secrets.GOVC_URL }};GOVC_USERNAME=${{ secrets.GOVC_USERNAME }};GOVC_PASSWORD=${{ secrets.GOVC_PASSWORD }}" + variables: "ARCH=aarch64;AWS_DEFAULT_REGION=us-east-1;GOVC_INSECURE=1" + timeout: 180 diff --git a/.github/workflows/rhel-8-10.yaml b/.github/workflows/rhel-8-10.yaml index 74a40a6..084a60a 100644 --- a/.github/workflows/rhel-8-10.yaml +++ b/.github/workflows/rhel-8-10.yaml @@ -1,104 +1,71 @@ -# --- -# name: rhel8.10 test +--- +name: Run Edge Test on RHEL 8.10.0 -# on: -# issue_comment: -# types: -# - created +on: + issue_comment: + types: + - created -# jobs: -# pr-info: -# if: ${{ github.event.issue.pull_request && -# (endsWith(github.event.comment.body, '/test-rhel810') || -# endsWith(github.event.comment.body, '/test-rhel810-t1') || -# endsWith(github.event.comment.body, '/test-rhel810-t2')) }} -# runs-on: ubuntu-latest -# steps: -# - name: Query author repository permissions -# uses: octokit/request-action@v2.x -# id: user_permission -# with: -# route: GET /repos/${{ github.repository }}/collaborators/${{ github.event.sender.login }}/permission -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +jobs: + pr-info: + if: ${{ github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-8-10')) }} + runs-on: ubuntu-latest + steps: + - name: Query author repository permissions + uses: octokit/request-action@v2.x + id: user_permission + with: + route: GET /repos/${{ github.repository }}/collaborators/${{ github.event.sender.login }}/permission + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# - name: Check if user does have correct permissions -# if: contains('admin write', fromJson(steps.user_permission.outputs.data).permission) -# id: check_user_perm -# run: | -# echo "User '${{ github.event.sender.login }}' has permission '${{ fromJson(steps.user_permission.outputs.data).permission }}' allowed values: 'admin', 'write'" -# echo "allowed_user=true" >> $GITHUB_OUTPUT + - name: Check if user does have correct permissions + if: contains('admin write', fromJson(steps.user_permission.outputs.data).permission) + id: check_user_perm + run: | + echo "User '${{ github.event.sender.login }}' has permission '${{ fromJson(steps.user_permission.outputs.data).permission }}' allowed values: 'admin', 'write'" + echo "allowed_user=true" >> $GITHUB_OUTPUT -# - name: Get information for pull request -# uses: octokit/request-action@v2.x -# id: pr-api -# with: -# route: GET /repos/${{ github.repository }}/pulls/${{ github.event.issue.number }} -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Get information for pull request + uses: octokit/request-action@v2.x + id: pr-api + with: + route: GET /repos/${{ github.repository }}/pulls/${{ github.event.issue.number }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# outputs: -# allowed_user: ${{ steps.check_user_perm.outputs.allowed_user }} -# sha: ${{ fromJson(steps.pr-api.outputs.data).head.sha }} -# ref: ${{ fromJson(steps.pr-api.outputs.data).head.ref }} -# repo_url: ${{ fromJson(steps.pr-api.outputs.data).head.repo.html_url }} + outputs: + allowed_user: ${{ steps.check_user_perm.outputs.allowed_user }} + sha: ${{ fromJson(steps.pr-api.outputs.data).head.sha }} + ref: ${{ fromJson(steps.pr-api.outputs.data).head.ref }} + repo_url: ${{ fromJson(steps.pr-api.outputs.data).head.repo.html_url }} -# rhel94-t1: -# needs: pr-info -# if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && -# (endsWith(github.event.comment.body, '/test-rhel94') || -# endsWith(github.event.comment.body, '/test-rhel94-t1')) }} -# continue-on-error: true -# runs-on: ubuntu-latest -# env: -# STATUS_NAME: rhel94-t1 + edge-rhel-810-x86: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request }} + continue-on-error: true + runs-on: ubuntu-latest -# steps: -# - name: Clone repository -# uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 -# with: -# ref: ${{ needs.pr-info.outputs.sha }} -# fetch-depth: 0 + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 -# - name: Run the tests -# uses: sclorg/testing-farm-as-github-action@v1 -# with: -# compose: RHEL-9.4.0-Nightly -# arch: x86_64 -# api_key: ${{ secrets.TF_API_KEY }} -# git_url: ${{ needs.pr-info.outputs.repo_url }} -# git_ref: ${{ needs.pr-info.outputs.ref }} -# tmt_context: "arch=x86_64" -# update_pull_request_status: true -# pull_request_status_name: "rhel94-t1" -# tf_scope: private - -# rhel94-t2: -# needs: pr-info -# if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && -# (endsWith(github.event.comment.body, '/test-rhel94') || -# endsWith(github.event.comment.body, '/test-rhel94-t2')) }} -# continue-on-error: true -# runs-on: ubuntu-latest - -# steps: -# - name: Clone repository -# uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 -# with: -# ref: ${{ needs.pr-info.outputs.sha }} -# fetch-depth: 0 - -# - name: Run the tests -# uses: sclorg/testing-farm-as-github-action@v1 -# with: -# compose: RHEL-9.4.0-Nightly -# arch: x86_64 -# api_key: ${{ secrets.TF_API_KEY }} -# git_url: ${{ needs.pr-info.outputs.repo_url }} -# git_ref: ${{ needs.pr-info.outputs.ref }} -# tmt_context: "arch=x86_64" -# update_pull_request_status: true -# pull_request_status_name: "rhel94-t2" -# tmt_plan_regex: "rhel94" -# tf_scope: private -# variables: "TEST_OS=rhel-9-4;ARCH=x86_64" \ No newline at end of file + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v2 + with: + compose: RHEL-8.10.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + tmt_context: "arch=x86_64;distro=rhel-8-10" + pull_request_status_name: "edge-rhel-8.10-x86" + tmt_plan_regex: edge-x86 + tf_scope: private + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};OCP4_TOKEN=${{ secrets.OCP4_TOKEN }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};DOCKERHUB_USERNAME=${{ secrets.DOCKERHUB_USERNAME }};DOCKERHUB_PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }}" + variables: "ARCH=x86_64" diff --git a/.github/workflows/rhel-8-8.yaml b/.github/workflows/rhel-8-8.yaml new file mode 100644 index 0000000..58afd98 --- /dev/null +++ b/.github/workflows/rhel-8-8.yaml @@ -0,0 +1,71 @@ +--- +name: Run Edge Test on RHEL 8.8.0 + +on: + issue_comment: + types: + - created + +jobs: + pr-info: + if: ${{ github.event.issue.pull_request && + (endsWith(github.event.comment.body, '/test-rhel-8-8')) }} + runs-on: ubuntu-latest + steps: + - name: Query author repository permissions + uses: octokit/request-action@v2.x + id: user_permission + with: + route: GET /repos/${{ github.repository }}/collaborators/${{ github.event.sender.login }}/permission + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Check if user does have correct permissions + if: contains('admin write', fromJson(steps.user_permission.outputs.data).permission) + id: check_user_perm + run: | + echo "User '${{ github.event.sender.login }}' has permission '${{ fromJson(steps.user_permission.outputs.data).permission }}' allowed values: 'admin', 'write'" + echo "allowed_user=true" >> $GITHUB_OUTPUT + + - name: Get information for pull request + uses: octokit/request-action@v2.x + id: pr-api + with: + route: GET /repos/${{ github.repository }}/pulls/${{ github.event.issue.number }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + outputs: + allowed_user: ${{ steps.check_user_perm.outputs.allowed_user }} + sha: ${{ fromJson(steps.pr-api.outputs.data).head.sha }} + ref: ${{ fromJson(steps.pr-api.outputs.data).head.ref }} + repo_url: ${{ fromJson(steps.pr-api.outputs.data).head.repo.html_url }} + + edge-rhel-88-x86: + needs: pr-info + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request }} + continue-on-error: true + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + ref: ${{ needs.pr-info.outputs.sha }} + fetch-depth: 0 + + - name: Run the tests + uses: sclorg/testing-farm-as-github-action@v2 + with: + compose: RHEL-8.8.0-Nightly + arch: x86_64 + api_key: ${{ secrets.TF_API_KEY }} + git_url: ${{ needs.pr-info.outputs.repo_url }} + git_ref: ${{ needs.pr-info.outputs.ref }} + update_pull_request_status: true + tmt_context: "arch=x86_64;distro=rhel-8-8" + pull_request_status_name: "edge-rhel-8.8-x86" + tmt_plan_regex: edge-x86 + tf_scope: private + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};OCP4_TOKEN=${{ secrets.OCP4_TOKEN }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};DOCKERHUB_USERNAME=${{ secrets.DOCKERHUB_USERNAME }};DOCKERHUB_PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }}" + variables: "ARCH=x86_64" diff --git a/.github/workflows/rhel-9-4.yaml b/.github/workflows/rhel-9-4.yaml index 4708e89..6c88bc0 100644 --- a/.github/workflows/rhel-9-4.yaml +++ b/.github/workflows/rhel-9-4.yaml @@ -1,5 +1,5 @@ --- -name: rhel94 test +name: Run Edge Test on RHEL 9.4.0 on: issue_comment: @@ -9,22 +9,7 @@ on: jobs: pr-info: if: ${{ github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-commit') || - endsWith(github.event.comment.body, '/test-rhel-9-4-installer') || - endsWith(github.event.comment.body, '/test-rhel-9-4-raw') || - endsWith(github.event.comment.body, '/test-rhel-9-4-ami') || - endsWith(github.event.comment.body, '/test-rhel-9-4-arm-ami') || - endsWith(github.event.comment.body, '/test-rhel-9-4-simplified') || - endsWith(github.event.comment.body, '/test-rhel-9-4-minimal') || - endsWith(github.event.comment.body, '/test-rhel-9-4-arm-minimal') || - endsWith(github.event.comment.body, '/test-rhel-9-4-vsphere') || - endsWith(github.event.comment.body, '/test-rhel-9-4-fdo-aio') || - endsWith(github.event.comment.body, '/test-rhel-9-4-fdo-db') || - endsWith(github.event.comment.body, '/test-rhel-9-4-ignition') || - endsWith(github.event.comment.body, '/test-rhel-9-4-pulp') || - endsWith(github.event.comment.body, '/test-rhel-9-4-8to9') || - endsWith(github.event.comment.body, '/test-rhel-9-4-9to9')) }} + (endsWith(github.event.comment.body, '/test-rhel-9-4')) }} runs-on: ubuntu-latest steps: - name: Query author repository permissions @@ -56,11 +41,9 @@ jobs: ref: ${{ fromJson(steps.pr-api.outputs.data).head.ref }} repo_url: ${{ fromJson(steps.pr-api.outputs.data).head.repo.html_url }} - edge-commit-94: + edge-rhel-94-x86: needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-commit')) }} + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request }} continue-on-error: true runs-on: ubuntu-latest @@ -72,7 +55,7 @@ jobs: fetch-depth: 0 - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 + uses: sclorg/testing-farm-as-github-action@v2 with: compose: RHEL-9.4.0-Nightly arch: x86_64 @@ -80,16 +63,17 @@ jobs: git_url: ${{ needs.pr-info.outputs.repo_url }} git_ref: ${{ needs.pr-info.outputs.ref }} update_pull_request_status: true - pull_request_status_name: "edge-commit-9.4" + pull_request_status_name: "edge-rhel-9.4-x86" + tmt_context: "arch=x86_64;distro=rhel-9-4" + tmt_plan_regex: edge-x86 tf_scope: private - tmt_plan_regex: edge-commit - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};OCP4_TOKEN=${{ secrets.OCP4_TOKEN }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};DOCKERHUB_USERNAME=${{ secrets.DOCKERHUB_USERNAME }};DOCKERHUB_PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};GOVC_URL=${{ secrets.GOVC_URL }};GOVC_USERNAME=${{ secrets.GOVC_USERNAME }};GOVC_PASSWORD=${{ secrets.GOVC_PASSWORD }}" + variables: "ARCH=x86_64;AWS_DEFAULT_REGION=us-east-1;GOVC_INSECURE=1" + timeout: 180 - edge-installer: + edge-rhel-94-arm: needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-installer')) }} + if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request }} continue-on-error: true runs-on: ubuntu-latest @@ -101,94 +85,7 @@ jobs: fetch-depth: 0 - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-installer-9.4" - tf_scope: private - tmt_plan_regex: edge-installer - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};OCP4_TOKEN=${{ secrets.OCP4_TOKEN }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }}" - - edge-raw-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-raw')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-raw-image-9.4" - tf_scope: private - tmt_plan_regex: edge-raw-image - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};DOCKERHUB_USERNAME=${{ secrets.DOCKERHUB_USERNAME }};DOCKERHUB_PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }}" - - edge-ami-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-ami')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-ami-9.4" - tf_scope: private - tmt_plan_regex: edge-ami-image - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};AWS_DEFAULT_REGION=us-east-1" - - edge-arm-ami-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-arm-ami')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 + uses: sclorg/testing-farm-as-github-action@v2 with: compose: RHEL-9.4.0-Nightly arch: aarch64 @@ -196,297 +93,10 @@ jobs: git_url: ${{ needs.pr-info.outputs.repo_url }} git_ref: ${{ needs.pr-info.outputs.ref }} update_pull_request_status: true - pull_request_status_name: "edge-arm-ami-9.4" - tf_scope: private - tmt_plan_regex: edge-ami-image - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};AWS_DEFAULT_REGION=us-east-1" - - edge-simplified-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-simplified')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-simplified-9.4" - tf_scope: private - tmt_plan_regex: edge-simplified-installer - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" - - edge-minimal-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-minimal')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-minimal-9.4" - tf_scope: private - tmt_plan_regex: edge-minimal - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" - - edge-arm-minimal-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-arm-minimal')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: aarch64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-arm-minimal-9.4" - tf_scope: private - tmt_plan_regex: edge-minimal - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" - - edge-vsphere-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-vsphere')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-vsphere-9.4" - tf_scope: private - tmt_plan_regex: edge-vsphere - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};GOVC_URL=${{ secrets.GOVC_URL }};GOVC_USERNAME=${{ secrets.GOVC_USERNAME }};GOVC_PASSWORD=${{ secrets.GOVC_PASSWORD }};GOVC_INSECURE=1" - - edge-fdo-aio-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-fdo-aio')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-fdo-aio-9.4" - tf_scope: private - tmt_plan_regex: edge-fdo-aio - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" - - edge-fdo-db-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-fdo-db')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-fdo-db-9.4" - tf_scope: private - tmt_plan_regex: edge-fdo-db - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" - - edge-ignition-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-ignition')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-ignition-9.4" - tf_scope: private - tmt_plan_regex: edge-ignition - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" - - edge-pulp-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-pulp')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-pulp-9.4" - tf_scope: private - tmt_plan_regex: edge-pulp - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" - - edge-8to9-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-8to9')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-8to9-9.4" - tf_scope: private - tmt_plan_regex: edge-8to9 - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" - - edge-9to9-94: - needs: pr-info - if: ${{ needs.pr-info.outputs.allowed_user == 'true' && github.event.issue.pull_request && - (endsWith(github.event.comment.body, '/test-rhel-9-4') || - endsWith(github.event.comment.body, '/test-rhel-9-4-9to9')) }} - continue-on-error: true - runs-on: ubuntu-latest - - steps: - - name: Clone repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - ref: ${{ needs.pr-info.outputs.sha }} - fetch-depth: 0 - - - name: Run the tests - uses: sclorg/testing-farm-as-github-action@v1 - with: - compose: RHEL-9.4.0-Nightly - arch: x86_64 - api_key: ${{ secrets.TF_API_KEY }} - git_url: ${{ needs.pr-info.outputs.repo_url }} - git_ref: ${{ needs.pr-info.outputs.ref }} - update_pull_request_status: true - pull_request_status_name: "edge-9to9-9.4" + pull_request_status_name: "edge-rhel-9.4-arm" + tmt_context: "arch=aarch64;distro=rhel-9-4" + tmt_plan_regex: edge-arm tf_scope: private - tmt_plan_regex: edge-9to9 - secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }}" + secrets: "DOWNLOAD_NODE=${{ secrets.DOWNLOAD_NODE }};OCP4_TOKEN=${{ secrets.OCP4_TOKEN }};QUAY_USERNAME=${{ secrets.QUAY_USERNAME }};QUAY_PASSWORD=${{ secrets.QUAY_PASSWORD }};DOCKERHUB_USERNAME=${{ secrets.DOCKERHUB_USERNAME }};DOCKERHUB_PASSWORD=${{ secrets.DOCKERHUB_PASSWORD }};AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }};AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }};GOVC_URL=${{ secrets.GOVC_URL }};GOVC_USERNAME=${{ secrets.GOVC_USERNAME }};GOVC_PASSWORD=${{ secrets.GOVC_PASSWORD }}" + variables: "ARCH=aarch64;AWS_DEFAULT_REGION=us-east-1;GOVC_INSECURE=1" + timeout: 180 diff --git a/minimal-raw.sh b/minimal-raw.sh index 49e4a5e..0602a57 100755 --- a/minimal-raw.sh +++ b/minimal-raw.sh @@ -39,6 +39,8 @@ case "${ID}-${VERSION_ID}" in ;; "rhel-9"*) OS_VARIANT="rhel9-unknown" + MINIMAL_RAW_DECOMPRESSED=disk.raw + MINIMAL_RAW_FILENAME=disk.raw.xz ;; "centos-8") OS_VARIANT="centos-stream8" @@ -49,12 +51,18 @@ case "${ID}-${VERSION_ID}" in ;; "fedora-38") OS_VARIANT="fedora-unknown" + MINIMAL_RAW_DECOMPRESSED=disk.raw + MINIMAL_RAW_FILENAME=disk.raw.xz ;; "fedora-39") OS_VARIANT="fedora-unknown" + MINIMAL_RAW_DECOMPRESSED=disk.raw + MINIMAL_RAW_FILENAME=disk.raw.xz ;; "fedora-40") OS_VARIANT="fedora-rawhide" + MINIMAL_RAW_DECOMPRESSED=disk.raw + MINIMAL_RAW_FILENAME=disk.raw.xz ;; *) echo "unsupported distro: ${ID}-${VERSION_ID}" @@ -317,7 +325,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm "quay.io/rhel-edge/ansible-runner:${ARCH}" ansible-playbook -v -i /tmp/inventory -e download_node="$DOWNLOAD_NODE" check-minimal.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm "quay.io/rhel-edge/ansible-runner:${ARCH}" ansible-playbook -v -i /tmp/inventory -e download_node="$DOWNLOAD_NODE" check-minimal.yaml || RESULTS=0 check_result # Final success clean up diff --git a/ostree-8-to-9.sh b/ostree-8-to-9.sh index 4e511c3..a4ef0f8 100755 --- a/ostree-8-to-9.sh +++ b/ostree-8-to-9.sh @@ -72,6 +72,14 @@ case "${ID}-${VERSION_ID}" in BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-8/nightly/RHEL-8/latest-RHEL-8.10.0/compose/BaseOS/x86_64/os/" SYSROOT_RO="true" ;; + "rhel-9.5") + OSTREE_REF="rhel/9/${ARCH}/edge" + PARENT_REF="rhel/8/${ARCH}/edge" + OS_VARIANT="rhel8-unknown" + DISTRO="rhel-810" + BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-8/nightly/RHEL-8/latest-RHEL-8.10.0/compose/BaseOS/x86_64/os/" + SYSROOT_RO="true" + ;; "centos-9") OSTREE_REF="centos/9/${ARCH}/edge" PARENT_REF="centos/8/${ARCH}/edge" diff --git a/ostree-9-to-9.sh b/ostree-9-to-9.sh index fb135c5..0032f9c 100755 --- a/ostree-9-to-9.sh +++ b/ostree-9-to-9.sh @@ -62,7 +62,16 @@ case "${ID}-${VERSION_ID}" in OSTREE_REF="rhel/9/${ARCH}/edge" OSTREE_REBASE_REF="rhel/94/${ARCH}/edge" DISTRO="rhel-93" - BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/RHEL-9/latest-RHEL-9.4.0/compose/BaseOS/x86_64/os/" + BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/updates/RHEL-9/latest-RHEL-9.4.0/compose/BaseOS/x86_64/os/" + SYSROOT_RO="true" + ;; + "rhel-9.5") + OS_VARIANT="rhel9-unknown" + PARENT_REF="rhel/9/${ARCH}/edge" + OSTREE_REF="rhel/9/${ARCH}/edge" + OSTREE_REBASE_REF="rhel/95/${ARCH}/edge" + DISTRO="rhel-94" + BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/RHEL-9/latest-RHEL-9.5.0/compose/BaseOS/x86_64/os/" SYSROOT_RO="true" ;; *) @@ -217,7 +226,7 @@ clean_up () { sudo virsh vol-delete --pool images "${IMAGE_KEY}-uefi.qcow2" # Remove all the containers and images if exist - # sudo podman system reset --force + sudo podman system reset --force # Remomve tmp dir. sudo rm -rf "$TEMPDIR" diff --git a/ostree-adds-on.sh b/ostree-adds-on.sh index 341cec5..b4b19d1 100755 --- a/ostree-adds-on.sh +++ b/ostree-adds-on.sh @@ -51,7 +51,13 @@ case "${ID}-${VERSION_ID}" in PARENT_REF="rhel/9/${ARCH}/edge" OSTREE_REF="rhel/9/${ARCH}/edge" OSTREE_REBASE_REF="rhel/9x/${ARCH}/edge" - BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/RHEL-9/latest-RHEL-9.4.0/compose/BaseOS/x86_64/os/" + BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/updates/RHEL-9/latest-RHEL-9.4.0/compose/BaseOS/x86_64/os/" + ;; + "rhel-9.5") + PARENT_REF="rhel/9/${ARCH}/edge" + OSTREE_REF="rhel/9/${ARCH}/edge" + OSTREE_REBASE_REF="rhel/9x/${ARCH}/edge" + BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/RHEL-9/latest-RHEL-9.5.0/compose/BaseOS/x86_64/os/" ;; *) echo "unsupported distro: ${ID}-${VERSION_ID}" diff --git a/ostree-ami-image.sh b/ostree-ami-image.sh index 48b2074..0a9a81d 100755 --- a/ostree-ami-image.sh +++ b/ostree-ami-image.sh @@ -42,13 +42,23 @@ EDGE_USER_PASSWORD=foobar sudo mkdir -p /etc/osbuild-composer/repositories case "${ID}-${VERSION_ID}" in - "rhel-9"*) + "rhel-9.3") OSTREE_REF="rhel/9/${ARCH}/edge" SYSROOT_RO="true" ;; + "rhel-9.4") + OSTREE_REF="rhel/9/${ARCH}/edge" + SYSROOT_RO="true" + ;; + "rhel-9.5") + OSTREE_REF="rhel/9/${ARCH}/edge" + SYSROOT_RO="true" + ANSIBLE_OS_NAME="rhel-edge" + ;; "centos-9") OSTREE_REF="centos/9/${ARCH}/edge" SYSROOT_RO="true" + ANSIBLE_OS_NAME="rhel-edge" ;; *) echo "unsupported distro: ${ID}-${VERSION_ID}" @@ -84,7 +94,6 @@ get_compose_metadata () { # Move the JSON file into place. sudo cat "${TEMPDIR}"/"${COMPOSE_ID}".json | jq -M '.' | tee "$METADATA_FILE" > /dev/null - sudo chown admin:admin "${TEMPDIR}"/"${COMPOSE_ID}".json } # Build ostree image. diff --git a/ostree-fdo-aio.sh b/ostree-fdo-aio.sh index bcc354d..08cfd0a 100755 --- a/ostree-fdo-aio.sh +++ b/ostree-fdo-aio.sh @@ -44,6 +44,7 @@ INSTALLER_FILENAME=simplified-installer.iso REF_PREFIX="rhel-edge" # Workaround BZ#2108646 BOOT_ARGS="uefi" +OS_NAME="redhat" # Set up temporary files. TEMPDIR=$(mktemp -d) @@ -147,6 +148,18 @@ case "${ID}-${VERSION_ID}" in USER_IN_BLUEPRINT="true" BLUEPRINT_USER="simple" ;; + "rhel-9.5") + OSTREE_REF="rhel/9/${ARCH}/edge" + PARENT_REF="rhel/9/${ARCH}/edge" + OS_VARIANT="rhel9-unknown" + IMAGE_NAME="image.raw.xz" + SYSROOT_RO="true" + ANSIBLE_USER=fdouser + FDO_USER_ONBOARDING="true" + USER_IN_BLUEPRINT="true" + BLUEPRINT_USER="simple" + OS_NAME="rhel-edge" + ;; "centos-8") OSTREE_REF="centos/8/${ARCH}/edge" PARENT_REF="centos/8/${ARCH}/edge" @@ -172,6 +185,7 @@ case "${ID}-${VERSION_ID}" in FDO_USER_ONBOARDING="true" USER_IN_BLUEPRINT="true" BLUEPRINT_USER="simple" + OS_NAME="rhel-edge" ;; *) echo "unsupported distro: ${ID}-${VERSION_ID}" @@ -626,7 +640,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 # Check test result check_result @@ -774,7 +788,7 @@ if [[ "$ANSIBLE_USER" == "fdouser" ]]; then fi # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 # Check test result check_result @@ -912,7 +926,7 @@ if [[ "$ANSIBLE_USER" == "fdouser" ]]; then fi # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${REBASE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${REBASE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 # Check test result check_result @@ -1054,7 +1068,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 # Check test result check_result @@ -1188,7 +1202,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 # Check test result check_result diff --git a/ostree-fdo-container.sh b/ostree-fdo-container.sh index 0b7ecdd..c411b60 100755 --- a/ostree-fdo-container.sh +++ b/ostree-fdo-container.sh @@ -45,12 +45,7 @@ EDGE_USER_PASSWORD=foobar SYSROOT_RO="true" case "${ID}-${VERSION_ID}" in - "rhel-9.3") - OSTREE_REF="rhel/9/${ARCH}/edge" - OS_VARIANT="rhel9-unknown" - BOOT_ARGS="uefi" - ;; - "rhel-9.4") + "rhel-9"*) OSTREE_REF="rhel/9/${ARCH}/edge" OS_VARIANT="rhel9-unknown" BOOT_ARGS="uefi" @@ -486,7 +481,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -sudo podman run -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +sudo podman run -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=rhel-edge -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 check_result # Clean up BIOS VM @@ -614,7 +609,7 @@ ansible_become_method=sudo EOF # Test IoT/Edge OS -sudo podman run -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +sudo podman run -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=rhel-edge -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 check_result # Clean up VM @@ -746,7 +741,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -sudo podman run -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +sudo podman run -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=rhel-edge -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 check_result # Remove simplified installer ISO file diff --git a/ostree-fdo-db.sh b/ostree-fdo-db.sh index 54d8da0..9de9e98 100755 --- a/ostree-fdo-db.sh +++ b/ostree-fdo-db.sh @@ -21,6 +21,7 @@ CONTAINER_FILENAME=container.tar INSTALLER_TYPE=edge-simplified-installer INSTALLER_FILENAME=simplified-installer.iso REF_PREFIX="rhel-edge" +OS_NAME="redhat" # Set up temporary files. TEMPDIR=$(mktemp -d) @@ -42,10 +43,17 @@ case "${ID}-${VERSION_ID}" in OS_VARIANT="rhel9-unknown" BOOT_ARGS="uefi" ;; + "rhel-9.5") + OSTREE_REF="rhel/9/${ARCH}/edge" + OS_VARIANT="rhel9-unknown" + BOOT_ARGS="uefi" + OS_NAME="rhel-edge" + ;; "centos-9") OSTREE_REF="centos/9/${ARCH}/edge" OS_VARIANT="centos-stream9" BOOT_ARGS="uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no" + OS_NAME="rhel-edge" ;; *) echo "unsupported distro: ${ID}-${VERSION_ID}" @@ -276,7 +284,7 @@ DB_TYPE=$((RANDOM % 2)) if [[ $DB_TYPE == 0 ]]; then # Setup FDO SQLite database greenprint "๐Ÿ”ง FDO SQLite DB configurations" - cargo install --force diesel_cli --no-default-features --features sqlite + cargo install --force diesel_cli --version 2.1.1 --no-default-features --features sqlite rm -fr /tmp/fdo mkdir -p /tmp/fdo manufacturer_db_file="/tmp/fdo/manufacturer-db.sqlite" @@ -586,7 +594,7 @@ ansible_become_method=sudo EOF # Test IoT/Edge OS -sudo podman run -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +sudo podman run -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 check_result # Clean up VM diff --git a/ostree-ignition.sh b/ostree-ignition.sh index 10816f2..6201ed2 100755 --- a/ostree-ignition.sh +++ b/ostree-ignition.sh @@ -545,7 +545,7 @@ ansible_become_pass=${IGNITION_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" -e ignition="true" check-ostree.yaml || RESULTS=0 +podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=rhel-edge -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" -e ignition="true" check-ostree.yaml || RESULTS=0 check_result # Remove simplified installer ISO file @@ -674,7 +674,7 @@ ansible_become_pass=${IGNITION_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" -e ignition="true" check-ostree.yaml || RESULTS=0 +podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=rhel-edge -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" -e ignition="true" check-ostree.yaml || RESULTS=0 check_result # Clean up VM @@ -803,7 +803,7 @@ ansible_become_pass=${IGNITION_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" -e ignition="true" check-ostree.yaml || RESULTS=0 +podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=rhel-edge -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" -e ignition="true" check-ostree.yaml || RESULTS=0 check_result # Remove simplified installer ISO file @@ -935,7 +935,7 @@ ansible_become_pass=${IGNITION_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" -e ignition="true" check-ostree.yaml || RESULTS=0 +podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=rhel-edge -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" -e ignition="true" check-ostree.yaml || RESULTS=0 check_result # Pull upgrade to prod mirror @@ -995,7 +995,7 @@ ansible_become_pass=${IGNITION_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=redhat -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" -e ignition="true" check-ostree.yaml || RESULTS=0 +podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=rhel-edge -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" -e ignition="true" check-ostree.yaml || RESULTS=0 check_result # Clean up VM diff --git a/ostree-ng.sh b/ostree-ng.sh index 4e17d03..3cf8721 100755 --- a/ostree-ng.sh +++ b/ostree-ng.sh @@ -128,6 +128,17 @@ case "${ID}-${VERSION_ID}" in SYSROOT_RO="true" DIRS_FILES_CUSTOMIZATION="true" ;; + "rhel-9.5") + OSTREE_REF="rhel/9/${ARCH}/edge" + OS_VARIANT="rhel9-unknown" + NEW_MKKSISO="true" + CONTAINER_PUSHING_FEAT="true" + EMBEDDED_CONTAINER="true" + HTTP_BOOT_FEAT="true" + SYSROOT_RO="true" + DIRS_FILES_CUSTOMIZATION="true" + ANSIBLE_OS_NAME="rhel-edge" + ;; "centos-8") OSTREE_REF="centos/8/${ARCH}/edge" OS_VARIANT="centos-stream8" @@ -146,6 +157,7 @@ case "${ID}-${VERSION_ID}" in BOOT_ARGS="uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no" SYSROOT_RO="true" DIRS_FILES_CUSTOMIZATION="true" + ANSIBLE_OS_NAME="rhel-edge" ;; "fedora-38") CONTAINER_IMAGE_TYPE=fedora-iot-container @@ -528,7 +540,7 @@ EOF EOF # Test IoT/Edge OS greenprint "๐Ÿ“ผ Run Edge tests on HTTPBOOT VM" - podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${ANSIBLE_OS_NAME}:${OSTREE_REF}" -e embedded_container="${EMBEDDED_CONTAINER}" -e sysroot_ro="$SYSROOT_RO" -e test_custom_dirs_files="${DIRS_FILES_CUSTOMIZATION}" check-ostree.yaml || RESULTS=0 + podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="rhel" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="rhel:${OSTREE_REF}" -e embedded_container="${EMBEDDED_CONTAINER}" -e sysroot_ro="$SYSROOT_RO" -e test_custom_dirs_files="${DIRS_FILES_CUSTOMIZATION}" check-ostree.yaml || RESULTS=0 check_result greenprint "๐Ÿงน Clean up HTTPBOOT VM" @@ -833,7 +845,7 @@ EOF # Test IoT/Edge OS greenprint "๐Ÿ“ผ Run Edge tests on BIOS VM" -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${ANSIBLE_OS_NAME}:${OSTREE_REF}" -e embedded_container="${EMBEDDED_CONTAINER}" -e sysroot_ro="$SYSROOT_RO" -e test_custom_dirs_files="${DIRS_FILES_CUSTOMIZATION}" check-ostree.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${ANSIBLE_OS_NAME}:${OSTREE_REF}" -e embedded_container="${EMBEDDED_CONTAINER}" -e sysroot_ro="$SYSROOT_RO" -e test_custom_dirs_files="${DIRS_FILES_CUSTOMIZATION}" check-ostree.yaml || RESULTS=0 check_result # Clean BIOS VM @@ -914,7 +926,7 @@ version = "*" EOF # ANSIBLE_OS_NAME is a check-ostree.yaml playbook variable defined as "rhel" just for RHEL and CS systems, otherwise is "fedora" -if [[ "${ANSIBLE_OS_NAME}" == "rhel" ]]; then +if [[ "${ANSIBLE_OS_NAME}" == "rhel" || "${ANSIBLE_OS_NAME}" == "rhel-edge" ]]; then tee -a "$BLUEPRINT_FILE" >> /dev/null << EOF [customizations.kernel] name = "kernel-rt" @@ -1052,7 +1064,7 @@ ansible_ssh_common_args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/ EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${ANSIBLE_OS_NAME}:${OSTREE_REF}" -e embedded_container="${EMBEDDED_CONTAINER}" -e sysroot_ro="$SYSROOT_RO" -e test_custom_dirs_files="${DIRS_FILES_CUSTOMIZATION}" check-ostree.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${ANSIBLE_OS_NAME}:${OSTREE_REF}" -e embedded_container="${EMBEDDED_CONTAINER}" -e sysroot_ro="$SYSROOT_RO" -e test_custom_dirs_files="${DIRS_FILES_CUSTOMIZATION}" check-ostree.yaml || RESULTS=0 check_result # Final success clean up diff --git a/ostree-pulp.sh b/ostree-pulp.sh index ed2170c..01b693d 100755 --- a/ostree-pulp.sh +++ b/ostree-pulp.sh @@ -40,7 +40,13 @@ case "${ID}-${VERSION_ID}" in IMAGE_TYPE=edge-commit OSTREE_REF="rhel/9/${ARCH}/edge" OS_VARIANT="rhel9-unknown" - BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/updates/RHEL-9/latest-RHEL-9.3.0/compose/BaseOS/x86_64/os/" + BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/updates/RHEL-9/latest-RHEL-9.4.0/compose/BaseOS/x86_64/os/" + ;; + "rhel-9.5") + IMAGE_TYPE=edge-commit + OSTREE_REF="rhel/9/${ARCH}/edge" + OS_VARIANT="rhel9-unknown" + BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/RHEL-9/latest-RHEL-9.5.0/compose/BaseOS/x86_64/os/" ;; *) echo "unsupported distro: ${ID}-${VERSION_ID}" diff --git a/ostree-raw-image.sh b/ostree-raw-image.sh index ac9401c..8a524d7 100755 --- a/ostree-raw-image.sh +++ b/ostree-raw-image.sh @@ -114,6 +114,15 @@ case "${ID}-${VERSION_ID}" in USER_IN_RAW="true" SYSROOT_RO="true" ;; + "rhel-9.5") + OSTREE_REF="rhel/9/${ARCH}/edge" + PARENT_REF="rhel/9/${ARCH}/edge" + OS_VARIANT="rhel9-unknown" + ADD_SSSD="true" + USER_IN_RAW="true" + SYSROOT_RO="true" + ANSIBLE_OS_NAME="rhel-edge" + ;; "centos-8") OSTREE_REF="centos/8/${ARCH}/edge" PARENT_REF="centos/8/${ARCH}/edge" @@ -132,6 +141,7 @@ case "${ID}-${VERSION_ID}" in BOOT_ARGS="uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no" USER_IN_RAW="true" SYSROOT_RO="true" + ANSIBLE_OS_NAME="rhel-edge" ;; "fedora-38") CONTAINER_TYPE=fedora-iot-container @@ -608,7 +618,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS - podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 + podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 check_result ################################################################## @@ -744,7 +754,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS - podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${REBASE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 + podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${REBASE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 check_result @@ -838,7 +848,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 check_result ################################################################## @@ -991,7 +1001,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${ANSIBLE_OS_NAME}" -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 check_result # Final success clean up diff --git a/ostree-simplified-installer.sh b/ostree-simplified-installer.sh index 2d957e6..ca1f4d9 100755 --- a/ostree-simplified-installer.sh +++ b/ostree-simplified-installer.sh @@ -190,6 +190,19 @@ case "${ID}-${VERSION_ID}" in BLUEPRINT_USER="simple" NO_FDO="true" ;; + "rhel-9.5") + OSTREE_REF="rhel/9/${ARCH}/edge" + PARENT_REF="rhel/9/${ARCH}/edge" + OS_VARIANT="rhel9-unknown" + IMAGE_NAME="image.raw.xz" + SYSROOT_RO="true" + ANSIBLE_USER=fdouser + FDO_USER_ONBOARDING="true" + USER_IN_BLUEPRINT="true" + BLUEPRINT_USER="simple" + NO_FDO="true" + OS_NAME="rhel-edge" + ;; "centos-8") OSTREE_REF="centos/8/${ARCH}/edge" PARENT_REF="centos/8/${ARCH}/edge" @@ -217,6 +230,7 @@ case "${ID}-${VERSION_ID}" in USER_IN_BLUEPRINT="true" BLUEPRINT_USER="simple" NO_FDO="true" + OS_NAME="rhel-edge" ;; "fedora-"*) OSTREE_REF="fedora/${VERSION_ID}/${ARCH}/iot" @@ -646,7 +660,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS - podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 + podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 check_result greenprint "๐Ÿงน Clean up VM" @@ -823,7 +837,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 # Check test result check_result @@ -986,7 +1000,7 @@ if [[ "$ANSIBLE_USER" == "fdouser" ]]; then fi # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 # Check test result check_result @@ -1139,7 +1153,7 @@ if [[ "$ANSIBLE_USER" == "fdouser" ]]; then fi # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${REBASE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${REBASE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 # Check test result check_result @@ -1296,7 +1310,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${INSTALL_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 # Check test result check_result @@ -1440,7 +1454,7 @@ ansible_become_pass=${EDGE_USER_PASSWORD} EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" -e fdo_credential="true" -e sysroot_ro="$SYSROOT_RO" check-ostree.yaml || RESULTS=0 # Check test result check_result diff --git a/ostree-vsphere.sh b/ostree-vsphere.sh index 3544f94..c6ec30a 100755 --- a/ostree-vsphere.sh +++ b/ostree-vsphere.sh @@ -31,6 +31,7 @@ CONTAINER_FILENAME=container.tar VSPHERE_IMAGE_TYPE=edge-vsphere VSPHERE_FILENAME=image.vmdk REF_PREFIX="rhel-edge" +OS_NAME="redhat" # Set up temporary files. TEMPDIR=$(mktemp -d) @@ -60,21 +61,37 @@ DATACENTER_70_POOL="/Datacenter7.0/host/Automation/Resources" # Workdaround for creating rhel9 and centos9 on dc67, change guest_id to 8 case "${ID}-${VERSION_ID}" in - "rhel-9"* ) + "rhel-9.3" ) OSTREE_REF="rhel/9/${ARCH}/edge" # GUEST_ID_DC67="rhel8_64Guest" GUEST_ID_DC70="rhel9_64Guest" ;; + "rhel-9.4" ) + OSTREE_REF="rhel/9/${ARCH}/edge" + # GUEST_ID_DC67="rhel8_64Guest" + GUEST_ID_DC70="rhel9_64Guest" + ;; + "rhel-9.5" ) + OSTREE_REF="rhel/9/${ARCH}/edge" + # GUEST_ID_DC67="rhel8_64Guest" + GUEST_ID_DC70="rhel9_64Guest" + OS_NAME="rhel-edge" + ;; "centos-9") OSTREE_REF="centos/9/${ARCH}/edge" # GUEST_ID_DC67="centos8_64Guest" GUEST_ID_DC70="centos9_64Guest" + OS_NAME="rhel-edge" ;; *) echo "unsupported distro: ${ID}-${VERSION_ID}" exit 1;; esac +if [[ "${ID}-${VERSION_ID}" == "rhel-9.5" ]]; then + OS_NAME="rhel-edge" +fi + # Colorful output. function greenprint { echo -e "\033[1;32m${1}\033[0m" @@ -486,7 +503,7 @@ EOF podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z \ --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory \ -e ignition="true" \ - -e os_name=redhat \ + -e os_name="${OS_NAME}" \ -e ostree_commit="${INSTALL_HASH}" \ -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" \ -e fdo_credential="false" \ @@ -681,7 +698,7 @@ EOF podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z \ --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory \ -e ignition="true" \ - -e os_name=redhat \ + -e os_name="${OS_NAME}" \ -e ostree_commit="${UPGRADE_HASH}" \ -e ostree_ref="${REF_PREFIX}:${OSTREE_REF}" \ -e fdo_credential="false" \ diff --git a/ostree.sh b/ostree.sh index 0157e0e..0e7bd81 100755 --- a/ostree.sh +++ b/ostree.sh @@ -115,7 +115,19 @@ case "${ID}-${VERSION_ID}" in OSTREE_REF="rhel/9/${ARCH}/edge" USER_IN_COMMIT="true" OS_VARIANT="rhel9-unknown" - BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/RHEL-9/latest-RHEL-9.4.0/compose/BaseOS/x86_64/os/" + BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/updates/RHEL-9/latest-RHEL-9.4.0/compose/BaseOS/x86_64/os/" + CUT_DIRS=9 + ADD_SSSD="true" + EMBEDDED_CONTAINER="true" + FIREWALL_FEATURE="true" + SYSROOT_RO="true" + DIRS_FILES_CUSTOMIZATION="true" + ;; + "rhel-9.5") + OSTREE_REF="rhel/9/${ARCH}/edge" + USER_IN_COMMIT="true" + OS_VARIANT="rhel9-unknown" + BOOT_LOCATION="http://${DOWNLOAD_NODE}/rhel-9/nightly/RHEL-9/latest-RHEL-9.5.0/compose/BaseOS/x86_64/os/" CUT_DIRS=8 ADD_SSSD="true" EMBEDDED_CONTAINER="true" @@ -145,17 +157,6 @@ case "${ID}-${VERSION_ID}" in SYSROOT_RO="true" DIRS_FILES_CUSTOMIZATION="true" ;; - "fedora-38") - IMAGE_TYPE=fedora-iot-commit - USER_IN_COMMIT="false" - OSTREE_REF="fedora/38/${ARCH}/iot" - OS_VARIANT="fedora-unknown" - BOOT_LOCATION="https://dl.fedoraproject.org/pub/fedora/linux/releases/38/Everything/x86_64/os/" - CUT_DIRS=8 - ADD_SSSD="false" - SYSROOT_RO="true" - DIRS_FILES_CUSTOMIZATION="true" - ;; "fedora-39") IMAGE_TYPE=fedora-iot-commit USER_IN_COMMIT="false" @@ -171,13 +172,24 @@ case "${ID}-${VERSION_ID}" in IMAGE_TYPE=fedora-iot-commit USER_IN_COMMIT="false" OSTREE_REF="fedora/40/${ARCH}/iot" - OS_VARIANT="fedora-rawhide" - BOOT_LOCATION="https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/" + OS_VARIANT="fedora-unknown" + BOOT_LOCATION="https://dl.fedoraproject.org/pub/fedora/linux/development/40/Everything/x86_64/os/" CUT_DIRS=8 ADD_SSSD="false" SYSROOT_RO="true" DIRS_FILES_CUSTOMIZATION="true" ;; +# "fedora-41") +# IMAGE_TYPE=fedora-iot-commit +# USER_IN_COMMIT="false" +# OSTREE_REF="fedora/41/${ARCH}/iot" +# OS_VARIANT="fedora-rawhide" +# BOOT_LOCATION="https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/" +# CUT_DIRS=8 +# ADD_SSSD="false" +# SYSROOT_RO="true" +# DIRS_FILES_CUSTOMIZATION="true" +# ;; *) echo "unsupported distro: ${ID}-${VERSION_ID}" exit 1;; @@ -739,7 +751,7 @@ ansible_ssh_common_args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/ EOF # Test IoT/Edge OS -podman run --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${OS_NAME}:${OSTREE_REF}" -e embedded_container="${EMBEDDED_CONTAINER}" -e firewall_feature="${FIREWALL_FEATURE}" -e sysroot_ro="$SYSROOT_RO" -e test_custom_dirs_files="${DIRS_FILES_CUSTOMIZATION}" check-ostree.yaml || RESULTS=0 +podman run --network=host --annotation run.oci.keep_original_groups=1 -v "$(pwd)":/work:z -v "${TEMPDIR}":/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name="${OS_NAME}" -e ostree_commit="${UPGRADE_HASH}" -e ostree_ref="${OS_NAME}:${OSTREE_REF}" -e embedded_container="${EMBEDDED_CONTAINER}" -e firewall_feature="${FIREWALL_FEATURE}" -e sysroot_ro="$SYSROOT_RO" -e test_custom_dirs_files="${DIRS_FILES_CUSTOMIZATION}" check-ostree.yaml || RESULTS=0 check_result # Final success clean up diff --git a/setup.sh b/setup.sh index fb338ee..f733b12 100755 --- a/setup.sh +++ b/setup.sh @@ -232,3 +232,9 @@ sudo composer-cli sources list for SOURCE in $(sudo composer-cli sources list); do sudo composer-cli sources info "$SOURCE" done + +# In case port 8081 is already in use +sudo dnf install -y lsof +if lsof -nP -iTCP -sTCP:LISTEN|grep 8081; then + sudo fuser -k 8081/tcp +fi diff --git a/tmt/plans/edge-test.fmf b/tmt/plans/edge-test.fmf index fa4e848..c4e3b6a 100644 --- a/tmt/plans/edge-test.fmf +++ b/tmt/plans/edge-test.fmf @@ -1,4 +1,4 @@ -summary: Edge commit test +summary: Edge test plan discover: how: fmf test: edge-test @@ -6,71 +6,151 @@ execute: how: tmt provision: hardware: - memory: ">= 16 GB" virtualization: is-supported: true + cpu: + processors: ">= 2" + memory: ">= 6 GB" -/edge-commit: +/edge-x86-commit: summary: Test edge commit environment+: TEST_CASE: edge-commit -/edge-installer: +/edge-x86-installer: summary: Test edge installer image environment+: TEST_CASE: edge-installer -/edge-raw-image: +/edge-x86-raw-image: summary: Test edge raw image environment+: TEST_CASE: edge-raw-image -/edge-ami-image: - summary: Test edge ami image - environment+: - TEST_CASE: edge-ami-image - -/edge-simplified-installer: +/edge-x86-simplified-installer: summary: Test edge simplified installer image environment+: TEST_CASE: edge-simplified-installer -/edge-minimal: - summary: Test edge minimal raw image - environment+: - TEST_CASE: edge-minimal - -/edge-vsphere: - summary: Test edge vsphere image - environment+: - TEST_CASE: edge-vsphere - -/edge-fdo-aio: +/edge-x86-fdo-aio: summary: Test edge with fdo aio service environment+: TEST_CASE: edge-fdo-aio + adjust+: + - when: arch != x86_64 or distro == fedora + enabled: false + - when: distro==rhel-8-8 + enabled: false + - when: distro==rhel-8-10 + enabled: false -/edge-fdo-db: +/edge-x86-fdo-db: summary: Test edge with fdo package with db environment+: TEST_CASE: edge-fdo-db + adjust+: + - when: arch != x86_64 or distro == fedora + enabled: false + - when: distro==rhel-8-8 + enabled: false + - when: distro==rhel-8-10 + enabled: false + - when: distro==cs-9 + enabled: false -/edge-ignition: +/edge-x86-ignition: summary: Test edge ignition feature environment+: TEST_CASE: edge-ignition + adjust+: + - when: arch != x86_64 or distro == fedora + enabled: false + - when: distro==rhel-8-8 + enabled: false + - when: distro==rhel-8-10 + enabled: false -/edge-pulp: +/edge-x86-pulp: summary: Test edge pulp feature environment+: TEST_CASE: edge-pulp + adjust+: + - when: arch != x86_64 or distro == fedora + enabled: false + - when: distro==rhel-8-8 + enabled: false + - when: distro==rhel-8-10 + enabled: false + - when: distro==cs-9 + enabled: false + +/edge-x86-vsphere: + summary: Test edge vsphere image + environment+: + TEST_CASE: edge-vsphere + adjust+: + - when: arch != x86_64 or distro == fedora + enabled: false + - when: distro==rhel-8-8 + enabled: false + - when: distro==rhel-8-10 + enabled: false + +/edge-x86-ami-image: + summary: Test edge ami image + environment+: + TEST_CASE: edge-ami-image + adjust+: + - when: distro == fedora + enabled: false + - when: distro==rhel-8-8 + enabled: false + - when: distro==rhel-8-10 + enabled: false -/edge-8to9: - summary: Test edge upgrade from 8 to 9 +/edge-x86-minimal: + summary: Test edge minimal raw image + environment+: + TEST_CASE: edge-minimal + adjust+: + - when: distro==rhel-8-8 + enabled: false + +/edge-x86-8to9: + summary: Test edge installer image environment+: TEST_CASE: edge-8to9 + adjust+: + - when: distro == fedora + enabled: false + - when: distro==rhel-8-8 + enabled: false + - when: distro==rhel-8-10 + enabled: false -/edge-9to9: - summary: Test edge rebase from 9 to 9 +/edge-x86-9to9: + summary: Test edge installer image environment+: TEST_CASE: edge-9to9 + adjust+: + - when: distro == fedora + enabled: false + - when: distro==rhel-8-8 + enabled: false + - when: distro==rhel-8-10 + enabled: false + - when: distro==cs-9 + enabled: false + +/edge-arm-ami-image: + summary: Test edge ami image + environment+: + TEST_CASE: edge-ami-image + adjust+: + - when: distro == fedora + enabled: false + +/edge-arm-minimal: + summary: Test edge minimal raw image + environment+: + TEST_CASE: edge-minimal diff --git a/tmt/tests/test.sh b/tmt/tests/test.sh index 38668cf..09f87c1 100755 --- a/tmt/tests/test.sh +++ b/tmt/tests/test.sh @@ -1,4 +1,5 @@ #!/bin/bash +set -euox pipefail cd ../../ || exit 1 @@ -6,7 +7,7 @@ function run_tests() { if [ "$TEST_CASE" = "edge-commit" ]; then ./ostree.sh elif [ "$TEST_CASE" = "edge-installer" ]; then - ./ostree-installer.sh + ./ostree-ng.sh elif [ "$TEST_CASE" = "edge-raw-image" ]; then ./ostree-raw-image.sh elif [ "$TEST_CASE" = "edge-ami-image" ]; then