diff --git a/roles/copr/backend/tasks/resalloc.yml b/roles/copr/backend/tasks/resalloc.yml index 1a830ea0fa..6cc11910ab 100644 --- a/roles/copr/backend/tasks/resalloc.yml +++ b/roles/copr/backend/tasks/resalloc.yml @@ -62,6 +62,7 @@ - vm-aws-new - vm-aws-delete - vm-check + - vm-release tags: - provision_config diff --git a/roles/copr/backend/templates/resalloc/pools.yaml b/roles/copr/backend/templates/resalloc/pools.yaml index f45f966655..ea0d4986cd 100644 --- a/roles/copr/backend/templates/resalloc/pools.yaml +++ b/roles/copr/backend/templates/resalloc/pools.yaml @@ -21,6 +21,7 @@ aws_x86_64_{% if spot %}spot{% else %}normal{% endif %}_{% if devel %}dev{% else cmd_new: "/var/lib/resallocserver/resalloc_provision/vm-aws-new --arch=x86_64 {% if spot %}--spot{% endif %}" cmd_delete: "/var/lib/resallocserver/resalloc_provision/vm-aws-delete" cmd_livecheck: "/var/lib/resallocserver/resalloc_provision/vm-check" + cmd_release: "/var/lib/resallocserver/resalloc_provision/vm-release" livecheck_period: 180 reuse_opportunity_time: 180 reuse_max_count: 8 @@ -40,6 +41,7 @@ aws_aarch64_{% if spot %}spot{% else %}normal{% endif %}_{% if devel %}dev{% els cmd_new: "/var/lib/resallocserver/resalloc_provision/vm-aws-new --arch=aarch64 {% if spot %}--spot{% endif %}" cmd_delete: "/var/lib/resallocserver/resalloc_provision/vm-aws-delete" cmd_livecheck: "/var/lib/resallocserver/resalloc_provision/vm-check" + cmd_release: "/var/lib/resallocserver/resalloc_provision/vm-release" livecheck_period: 180 reuse_opportunity_time: 180 reuse_max_count: 8 @@ -78,6 +80,7 @@ copr_hv_x86_64_{{ hv }}_{% if devel %}dev{% else %}prod{% endif %}: cmd_delete: "/var/lib/resallocserver/provision/libvirt-new --swap-vol-size 168" cmd_delete: "/var/lib/resallocserver/provision/libvirt-delete" cmd_livecheck: "/var/lib/resallocserver/resalloc_provision/vm-check" + cmd_release: "/var/lib/resallocserver/resalloc_provision/vm-release" livecheck_period: 180 reuse_opportunity_time: 180 reuse_max_count: 8 diff --git a/roles/copr/backend/templates/resalloc/vm-release b/roles/copr/backend/templates/resalloc/vm-release new file mode 100755 index 0000000000..9772ec1bf1 --- /dev/null +++ b/roles/copr/backend/templates/resalloc/vm-release @@ -0,0 +1,13 @@ +#! /bin/sh + +die() { echo "$*" >&2 ; exit 1; } + +set -x +set -e +test -n "$RESALLOC_NAME" +test -n "$RESALLOC_RESOURCE_DATA" + +# we only put IP out in spawning script, nothing else +set -- $(echo "$RESALLOC_RESOURCE_DATA" | base64 --decode) +IP=$1 +ssh -o ConnectTimeout=10 "root@$IP" copr-builder-cleanup