62 lines
2.1 KiB
Bash
Executable File
62 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# © 2025 Platform Engineering Labs Inc.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Clean Environment Hook
|
|
# ======================
|
|
# This script is called before AND after conformance tests to clean up
|
|
# test resources in your cloud environment.
|
|
#
|
|
# Purpose:
|
|
# - Before tests: Remove orphaned resources from previous failed runs
|
|
# - After tests: Clean up resources created during the test run
|
|
#
|
|
# The script should be idempotent - safe to run multiple times.
|
|
# It should delete all resources matching the test resource prefix.
|
|
#
|
|
# Test resources typically use a naming convention like:
|
|
# formae-plugin-sdk-test-{run-id}-*
|
|
#
|
|
# Implementation varies by provider. Examples:
|
|
#
|
|
# AWS:
|
|
# - List and delete resources with test prefix using AWS CLI
|
|
# - Use resource tagging for easier identification
|
|
#
|
|
# OpenStack:
|
|
# - Use openstack CLI to list and delete test resources
|
|
# - Clean up in order: instances, volumes, networks, security groups, etc.
|
|
#
|
|
# Exit with non-zero status only for unexpected errors.
|
|
# Missing resources (already cleaned) should not cause failures.
|
|
|
|
set -euo pipefail
|
|
|
|
# Prefix used for test resources - should match what conformance tests create
|
|
TEST_PREFIX="${TEST_PREFIX:-formae-plugin-sdk-test-}"
|
|
|
|
echo "clean-environment.sh: Cleaning resources with prefix '${TEST_PREFIX}'"
|
|
echo ""
|
|
echo "To implement cleanup for your provider, edit this script."
|
|
echo "See comments in this file for examples."
|
|
echo ""
|
|
|
|
# Uncomment and modify for your provider:
|
|
#
|
|
# # AWS - clean up S3 buckets with test prefix
|
|
# echo "Cleaning S3 buckets..."
|
|
# aws s3api list-buckets --query "Buckets[?starts_with(Name, '${TEST_PREFIX}')].Name" --output text | \
|
|
# xargs -r -n1 aws s3 rb --force s3://
|
|
#
|
|
# # OpenStack - clean up instances
|
|
# echo "Cleaning instances..."
|
|
# openstack server list --name "^${TEST_PREFIX}" -f value -c ID | \
|
|
# xargs -r -n1 openstack server delete --wait
|
|
#
|
|
# # OpenStack - clean up volumes
|
|
# echo "Cleaning volumes..."
|
|
# openstack volume list --name "^${TEST_PREFIX}" -f value -c ID | \
|
|
# xargs -r -n1 openstack volume delete
|
|
|
|
echo "clean-environment.sh: Cleanup complete (no-op - not configured)"
|