Adjusting cleanup process

This commit is contained in:
vandomej 2025-09-28 12:10:43 -07:00
parent 91d1e369e8
commit 814b690329
2 changed files with 14 additions and 23 deletions

View file

@ -1,5 +1,8 @@
#!/bin/bash #!/bin/bash
cluster_name="$1" cluster_name="$1"
echo "Starting cleanup for cluster: $cluster_name"
sudo ifconfig bridge0 destroy || true
# Remove kubeconfig entries # Remove kubeconfig entries
kubectl config delete-context "$cluster_name" || true kubectl config delete-context "$cluster_name" || true

View file

@ -46,9 +46,13 @@ resource "random_id" "cluster_suffix" {
resource "null_resource" "talos_cluster" { resource "null_resource" "talos_cluster" {
triggers = { triggers = {
cluster_name = local.unique_cluster_name config_hash = sha1(join("", [
memory_mb = var.memory_mb var.cluster_name,
vcpu_count = var.vcpu_count tostring(var.memory_mb),
tostring(var.vcpu_count),
var.talos_version,
filesha1("${path.module}/cleanup.sh") # Recreate if cleanup script changes
]))
} }
# Download Talos kernel and initramfs # Download Talos kernel and initramfs
@ -64,41 +68,25 @@ resource "null_resource" "talos_cluster" {
command = <<EOT command = <<EOT
set -e # Exit on error set -e # Exit on error
# First, try to destroy the cluster properly
echo "Attempting to destroy existing cluster..."
sudo --preserve-env=HOME talosctl cluster destroy \
--provisioner=qemu \
--name ${self.triggers.cluster_name} 2>/dev/null || echo "Cluster destroy completed or not found"
# Wait for cleanup
sleep 3
# Now run the comprehensive cleanup script to remove any leftovers
echo "Running comprehensive cleanup..."
chmod +x ${path.module}/cleanup.sh
${path.module}/cleanup.sh ${self.triggers.cluster_name}
# Wait a bit more to ensure everything is cleaned up
sleep 2
# Now create the cluster # Now create the cluster
echo "Creating new cluster..." echo "Creating new cluster..."
sudo --preserve-env=HOME talosctl cluster create \ sudo --preserve-env=HOME talosctl cluster create \
--provisioner=qemu \ --provisioner=qemu \
--name ${self.triggers.cluster_name} \ --name ${self.triggers.cluster_name} \
--talosconfig ${path.module}/talosconfig \
--controlplanes 1 \ --controlplanes 1 \
--workers 0 \ --workers 0 \
--memory ${self.triggers.memory_mb} \ --memory ${self.triggers.memory_mb} \
--cpus ${self.triggers.vcpu_count} --cpus ${self.triggers.vcpu_count}
# Change ownership of the generated files in ~/.talos and ~/.kube # Change ownership of the generated files in ~/.talos and ~/.kube
sudo chown -R $(whoami):admin ~/.talos sudo chown -R $(whoami):admin $(HOME)/.talos
sudo chown -R $(whoami):admin ~/.kube sudo chown -R $(whoami):admin $(HOME)/.kube
EOT EOT
} }
provisioner "local-exec" { provisioner "local-exec" {
when = destroy when = destroyed
command = <<EOT command = <<EOT
sudo --preserve-env=HOME talosctl cluster destroy \ sudo --preserve-env=HOME talosctl cluster destroy \
--provisioner=qemu \ --provisioner=qemu \