From 2a0bed541e95de3298c23ce0f7d2d5b550666d07 Mon Sep 17 00:00:00 2001 From: Simon Gerber Date: Mon, 20 Oct 2025 14:10:11 +0200 Subject: [PATCH] Add draft decommissioning instructions for cloudscale without Puppet LBs --- .../cloudscale/decommission-no-puppet.adoc | 6 ++++ .../how-tos/cloudscale/decommission.adoc | 32 +++++++++++++++++-- docs/modules/ROOT/partials/nav.adoc | 2 ++ .../ROOT/partials/vshn-decommission.adoc | 2 ++ 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 docs/modules/ROOT/pages/how-tos/cloudscale/decommission-no-puppet.adoc diff --git a/docs/modules/ROOT/pages/how-tos/cloudscale/decommission-no-puppet.adoc b/docs/modules/ROOT/pages/how-tos/cloudscale/decommission-no-puppet.adoc new file mode 100644 index 00000000..7ee127a2 --- /dev/null +++ b/docs/modules/ROOT/pages/how-tos/cloudscale/decommission-no-puppet.adoc @@ -0,0 +1,6 @@ +:puppet_lbs: no +:needs_hieradata_edit: no + += Uninstallation on cloudscale (no Puppet-managed LBs) + +include::page$how-tos/cloudscale/decommission.adoc[] diff --git a/docs/modules/ROOT/pages/how-tos/cloudscale/decommission.adoc b/docs/modules/ROOT/pages/how-tos/cloudscale/decommission.adoc index a078a255..ba82b8f5 100644 --- a/docs/modules/ROOT/pages/how-tos/cloudscale/decommission.adoc +++ b/docs/modules/ROOT/pages/how-tos/cloudscale/decommission.adoc @@ -1,4 +1,6 @@ +ifeval::["{puppet_lbs}" != "no"] = Uninstallation on cloudscale +endif::[] :provider: cloudscale @@ -105,26 +107,32 @@ kubectl get nodes . Configure Terraform secrets + -[source,bash] +[source,bash,attributes="subs+"] ---- cat < ./terraform.env CLOUDSCALE_API_TOKEN +ifeval::["{puppet_lbs}" != "no"] HIERADATA_REPO_TOKEN +endif::[] EOF ---- include::partial$setup_terraform.adoc[] +ifeval::["{puppet_lbs}" != "no"] include::partial$prepare-for-lb-decommission.adoc[] +endif::[] . Delete resources from cloudscale using Terraform + -[source,bash] +[source,bash,attributes="subs+"] ---- # The first time it will fail terraform destroy +ifeval::["${puppet_lbs}" == "no"] # Destroy a second time to delete private networks terraform destroy +endif::[] ---- + [source,bash] @@ -148,6 +156,26 @@ for server_group_uuid in $(curl -H"Authorization: Bearer ${CLOUDSCALE_API_TOKEN} done ---- +ifeval::["{puppet_lbs}" == "no"] +. Delete the cloudscale subnet and private network ++ +[source,bash] +---- +SUBNET_UUID=$(yq '.parameters.openshift.cloudscale.subnet_uuid' \ + "inventory/classes/${TENANT_ID}/${CLUSTER_ID}.yml") +NETWORK_UUID=$(curl -sH"Authorization: Bearer ${CLOUDSCALE_API_TOKEN}" \ + "https://api.cloudscale.ch/v1/subnets/${SUBNET_UUID}" |\ + jq -r ".network.uuid") + +curl -H"Authorization: Bearer ${CLOUDSCALE_API_TOKEN}" \ + "https://api.cloudscale.ch/v1/subnets/${SUBNET_UUID}" \ + -XDELETE +curl -H"Authorization: Bearer ${CLOUDSCALE_API_TOKEN}" \ + "https://api.cloudscale.ch/v1/networks/${NETWORK_UUID}" \ + -XDELETE +---- +endif::[] + . After all resources are deleted we need to remove the buckets + [source,bash] diff --git a/docs/modules/ROOT/partials/nav.adoc b/docs/modules/ROOT/partials/nav.adoc index 99e2b9ee..5b06a545 100644 --- a/docs/modules/ROOT/partials/nav.adoc +++ b/docs/modules/ROOT/partials/nav.adoc @@ -45,6 +45,7 @@ *** xref:oc4:ROOT:how-tos/cloudscale/enable-loadbalancer-service.adoc[Enable LoadBalancer Services] *** xref:oc4:ROOT:how-tos/cloudscale/recover-etcd.adoc[Restore etcd] *** xref:oc4:ROOT:how-tos/cloudscale/decommission.adoc[Decommissioning] +*** xref:oc4:ROOT:how-tos/cloudscale/decommission-no-puppet.adoc[Decommissioning (No Puppet LBs)] *** xref:oc4:ROOT:how-tos/cloudscale/rotate-api-tokens.adoc[Rotate API Tokens] ** Exoscale @@ -254,6 +255,7 @@ * Decommissioning ** xref:oc4:ROOT:how-tos/cloudscale/decommission.adoc[cloudscale.ch] +*** xref:oc4:ROOT:how-tos/cloudscale/decommission-no-puppet.adoc[cloudscale.ch (No Puppet LBs)] ** xref:oc4:ROOT:how-tos/exoscale/decommission.adoc[Exoscale] ** xref:oc4:ROOT:how-tos/destroy/gcp.adoc[Google Compute Cloud] diff --git a/docs/modules/ROOT/partials/vshn-decommission.adoc b/docs/modules/ROOT/partials/vshn-decommission.adoc index 44433931..c6fba9fc 100644 --- a/docs/modules/ROOT/partials/vshn-decommission.adoc +++ b/docs/modules/ROOT/partials/vshn-decommission.adoc @@ -1,3 +1,4 @@ +ifeval::["{puppet_lbs}" != "no"] . Decommission Puppet-managed LBs + TIP: See the https://vshnwiki.atlassian.net/wiki/spaces/VT/pages/8290422/How+To+Decommission+a+VM[VSHN documentation] (Internal link) for the full instructions. @@ -86,6 +87,7 @@ for lb in ${LB_FQDNS[*]}; do ssh "$backup_server" "rm -rfI ${backup}" done ---- +endif::[] . Remove cluster DNS records from VSHN DNS zonefiles +