Force the stack to be specified #571

Merged
telackey merged 3 commits from dboreham/fix-external-stack-deploy-create into main 2023-10-10 22:13:29 +00:00
3 changed files with 9 additions and 6 deletions

View File

@ -41,9 +41,16 @@ from app.deployment_create import setup as deployment_setup
def command(ctx, include, exclude, env_file, cluster): def command(ctx, include, exclude, env_file, cluster):
'''deploy a stack''' '''deploy a stack'''
# Although in theory for some subcommands (e.g. deploy create) the stack can be inferred,
# Click doesn't allow us to know that here, so we make providing the stack mandatory
stack = global_options2(ctx).stack
if not stack:
print("Error: --stack option is required")
sys.exit(1)
if ctx.parent.obj.debug: if ctx.parent.obj.debug:
print(f"ctx.parent.obj: {ctx.parent.obj}") print(f"ctx.parent.obj: {ctx.parent.obj}")
ctx.obj = create_deploy_context(global_options2(ctx), global_options2(ctx).stack, include, exclude, cluster, env_file) ctx.obj = create_deploy_context(global_options2(ctx), stack, include, exclude, cluster, env_file)
# Subcommand is executed now, by the magic of click # Subcommand is executed now, by the magic of click

View File

@ -85,7 +85,7 @@ if [ ! -f "$test_deployment_spec" ]; then
exit 1 exit 1
fi fi
echo "deploy init test: passed" echo "deploy init test: passed"
$TEST_TARGET_SO deploy create --spec-file $test_deployment_spec --deployment-dir $test_deployment_dir $TEST_TARGET_SO --stack test deploy create --spec-file $test_deployment_spec --deployment-dir $test_deployment_dir
# Check the deployment dir exists # Check the deployment dir exists
if [ ! -d "$test_deployment_dir" ]; then if [ ! -d "$test_deployment_dir" ]; then
echo "deploy create test: deployment directory not present" echo "deploy create test: deployment directory not present"

View File

@ -37,8 +37,4 @@ $TEST_TARGET_SO --stack test deploy-system down
# Run same test but not using the stack definition # Run same test but not using the stack definition
# Test building the a stack container # Test building the a stack container
$TEST_TARGET_SO build-containers --include cerc/test-container $TEST_TARGET_SO build-containers --include cerc/test-container
# Deploy the test container
$TEST_TARGET_SO deploy-system --include test up
# Clean up
$TEST_TARGET_SO deploy-system --include test down
echo "Test passed" echo "Test passed"