From ff19cce762826cbb25c1105b98e728de4123e1f4 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 5 Jan 2022 17:34:19 +0100 Subject: [PATCH] copr-builders: (un)subscribe to access.redhat.com --- .../files/provision/provision_builder_tasks.yml | 12 ++++++++++++ .../files/provision/{libvirt-delete => vm-delete} | 14 ++++++++++++++ roles/copr/backend/templates/provision/vars.yml | 3 +++ roles/copr/backend/templates/resalloc/pools.yaml | 8 ++++---- 4 files changed, 33 insertions(+), 4 deletions(-) rename roles/copr/backend/files/provision/{libvirt-delete => vm-delete} (76%) diff --git a/roles/copr/backend/files/provision/provision_builder_tasks.yml b/roles/copr/backend/files/provision/provision_builder_tasks.yml index 1ed9a2a98c..34a5a5d3fe 100644 --- a/roles/copr/backend/files/provision/provision_builder_tasks.yml +++ b/roles/copr/backend/files/provision/provision_builder_tasks.yml @@ -200,3 +200,15 @@ mode: 0644 when: - prepare_base_image is not defined + +- name: Activate Red Hat Subscription + community.general.redhat_subscription: + state: present + username: copr-team + force_register: true + password: "{{ copr_red_hat_subscription_password }}" + pool_ids: + - 8a85f9a17c71102f017ce611251c770f + when: + - copr_red_hat_subscription_password is defined + - devel diff --git a/roles/copr/backend/files/provision/libvirt-delete b/roles/copr/backend/files/provision/vm-delete similarity index 76% rename from roles/copr/backend/files/provision/libvirt-delete rename to roles/copr/backend/files/provision/vm-delete index 10b70f0430..e4f716f162 100755 --- a/roles/copr/backend/files/provision/libvirt-delete +++ b/roles/copr/backend/files/provision/vm-delete @@ -4,7 +4,17 @@ die(){ echo >&2 "!! $*"; exit 1; } test -z "$RESALLOC_NAME" && die "no vm specified, empty \$RESALLOC_NAME variable" +# Try to, best effort, remove the entitlement. +set -- $(echo "$RESALLOC_RESOURCE_DATA" | base64 --decode) +ssh root@"$1" "subscription-manager unregister" || : + case "$RESALLOC_POOL_ID" in +*aws*) + # Delegate the rest of the task to an AWS specific script. + exec /usr/bin/resalloc-aws-delete --aws-profile default + exit 1 + ;; + *copr_hv_x86_64_*) pool_id=${RESALLOC_POOL_ID//copr_hv_x86_64_/} pool_id=${pool_id//_dev/} @@ -12,9 +22,11 @@ case "$RESALLOC_POOL_ID" in pool_id=${pool_id//_stg/} conn=qemu+ssh://copr@vmhost-x86-copr${pool_id}.rdu-cc.fedoraproject.org/system ;; + *aarch64_01*) conn=qemu+ssh://copr@virthost-aarch64-os01.fedorainfracloud.org/system ;; + *aarch64_02*) conn=qemu+ssh://copr@virthost-aarch64-os02.fedorainfracloud.org/system ;; @@ -29,6 +41,8 @@ case "$RESALLOC_POOL_ID" in *) die "unknown RESALLOC_POOL_ID=$RESALLOC_POOL_ID" ;; esac +# The rest of this script is LibVirt only! + repeat() { for _ in a b c; do diff --git a/roles/copr/backend/templates/provision/vars.yml b/roles/copr/backend/templates/provision/vars.yml index d455fff4ed..d763aa75c1 100644 --- a/roles/copr/backend/templates/provision/vars.yml +++ b/roles/copr/backend/templates/provision/vars.yml @@ -1,2 +1,5 @@ --- devel: {% if devel is defined and devel %}true{% else %}false{% endif %} +{% copr_red_hat_subscription_password is defined %} +copr_red_hat_subscription_password: {{ copr_red_hat_subscription_password }} +{% endif %} diff --git a/roles/copr/backend/templates/resalloc/pools.yaml b/roles/copr/backend/templates/resalloc/pools.yaml index 93150203c8..25f03882e0 100644 --- a/roles/copr/backend/templates/resalloc/pools.yaml +++ b/roles/copr/backend/templates/resalloc/pools.yaml @@ -29,7 +29,7 @@ aws_x86_64_{% if spot %}spot{% else %}normal{% endif %}_{% if devel %}dev{% else {% else %} cmd_new: copr-resalloc-aws-new-x86_64 {% endif %} - cmd_delete: /usr/bin/resalloc-aws-delete --aws-profile default + cmd_delete: "/var/lib/resallocserver/provision/vm-delete" cmd_livecheck: "resalloc-check-vm-ip" cmd_release: "/var/lib/resallocserver/resalloc_provision/vm-release" livecheck_period: 180 @@ -53,7 +53,7 @@ aws_aarch64_{% if spot %}spot{% else %}normal{% endif %}_{% if devel %}dev{% els {% else %} cmd_new: copr-resalloc-aws-new-aarch64 {% endif %} - cmd_delete: /usr/bin/resalloc-aws-delete --aws-profile default + cmd_delete: "/var/lib/resallocserver/provision/vm-delete" cmd_livecheck: "resalloc-check-vm-ip" cmd_release: "/var/lib/resallocserver/resalloc_provision/vm-release" livecheck_period: 180 @@ -88,7 +88,7 @@ copr_hv_x86_64_{{ hv }}_{% if devel %}dev{% else %}prod{% endif %}: - hypervisor_x86_64 - hypervisor_x86_64_{{ hv }} cmd_new: "/var/lib/resallocserver/provision/libvirt-new --swap-vol-size 168" - cmd_delete: "/var/lib/resallocserver/provision/libvirt-delete" + cmd_delete: "/var/lib/resallocserver/provision/vm-delete" cmd_livecheck: "resalloc-check-vm-ip" cmd_release: "/var/lib/resallocserver/resalloc_provision/vm-release" livecheck_period: 180 @@ -120,7 +120,7 @@ copr_hv_ppc64le_{{ hv }}_{% if devel %}dev{% else %}prod{% endif %}: - hypervisor_ppc64le - hypervisor_ppc64le_{{ hv }} cmd_new: "/var/lib/resallocserver/provision/libvirt-new --swap-vol-size 168" - cmd_delete: "/var/lib/resallocserver/provision/libvirt-delete" + cmd_delete: "/var/lib/resallocserver/provision/vm-delete" cmd_livecheck: "resalloc-check-vm-ip" cmd_release: "/var/lib/resallocserver/resalloc_provision/vm-release" livecheck_period: 180