Files
gemini-settings/tmp/dalmatian/tool-outputs/run_shell_command_46.txt
2026-02-24 18:03:22 +00:00

395 lines
39 KiB
Plaintext

Output too large. Showing first 8,000 and last 32,000 characters. For full output see: /Users/bob/.gemini/tmp/dalmatian/tool-outputs/session-cebedcb4-6673-4a0e-bf61-a131af573337/run_shell_command_1771603835683_0.txt
Output: ==> Linting YAML...
==> Linting shell scripts...
==> Checking Terraform for JSON errors...
- Checking ./terraform/policies/iam-read.json... Passed
- Checking ./terraform/policies/s3-rw-with-versioning.json... Passed
- Checking ./terraform/policies/codestar-connection-use.json... Passed
- Checking ./terraform/policies/iam-create-access-key.json... Passed
- Checking ./terraform/policies/codebuild.json... Passed
- Checking ./terraform/policies/kms-encrypt-decrypt.json... Passed
- Checking ./terraform/policies/iam-change-password.json... Passed
- Checking ./terraform/policies/administrator-access.json... Passed
- Checking ./terraform/policies/assume_roles/aws-backup.json... Passed
- Checking ./terraform/policies/assume_roles/autoscaling.json... Passed
- Checking ./terraform/policies/assume_roles/events.json... Passed
- Checking ./terraform/policies/assume_roles/ecs.json... Passed
- Checking ./terraform/policies/assume_roles/codepipeline.json... Passed
- Checking ./terraform/policies/iam-mfa.json... Passed
- Checking ./terraform/policies/route53-read.json... Passed
- Checking ./terraform/policies/s3-full-access.json... Passed
- Checking ./terraform/policies/parameter-store-read-decrypt.json... Passed
- Checking ./terraform/policies/s3-read.json... Passed
- Checking ./terraform/policies/parameter-store-RW-encrypt-decrypt.json... Passed
- Checking ./terraform/policies/all-read-with-billing.json... Passed
- Checking ./terraform/policies/codebuild-start-build.json... Passed
- Checking ./terraform/policies/all-read.json... Passed
==> Linting Terraform...
==> Running Ruby tests...
/Users/bob/.rbenv/versions/2.7.1/bin/ruby -I/Users/bob/.bundles/ruby/2.7.0/gems/rspec-core-3.12.2/lib:/Users/bob/.bundles/ruby/2.7.0/gems/rspec-support-3.12.1/lib /Users/bob/.bundles/ruby/2.7.0/gems/rspec-core-3.12.2/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
tests local configuration
use of "terraform apply"
passes the hosted zone config to "terraform apply" (FAILED - 1)
passes the s3 config to "terraform apply" (FAILED - 2)
passes the vpn customer gateway config to "terraform apply" (FAILED - 3)
passes the base config to "terraform apply" (FAILED - 4)
passes the waf config to "terraform apply" (FAILED - 5)
passes the rds config to "terraform apply" (FAILED - 6)
passes the aurora config to "terraform apply" (FAILED - 7)
passes the elasticache config to "terraform apply" (FAILED - 8)
passes the opensearch config to "terraform apply" (FAILED - 9)
passes the service config to "terraform apply" (FAILED - 10)
passes the loadbalancer config to "terraform apply" (FAILED - 11)
passes the cluster 2 config to "terraform apply" (FAILED - 12)
passes the cluster 3 config to "terraform apply" (FAILED - 13)
passes the cluster 4 config to "terraform apply" (FAILED - 14)
tests remote configuration
retrieves the remotely held full configuration
proceeds with deploying the infrastructure as per the cached full configuration
tests local configuration
debug Testing Aurora
invokes "terraform validate" with the expected cluster options (FAILED - 15)
debug Testing Aurora
invokes "terraform validate" with the expected source options (FAILED - 16)
use of "terraform plan"
debug Testing Aurora
passes the hosted zone config to "terraform plan" (FAILED - 17)
debug Testing Aurora
passes the s3 config to "terraform plan" (FAILED - 18)
debug Testing Aurora
passes the vpn customer gateway config to "terraform plan" (FAILED - 19)
debug Testing Aurora
passes the base config to "terraform plan" (FAILED - 20)
debug Testing Aurora
passes the waf config to "terraform plan" (FAILED - 21)
debug Testing Aurora
passes the rds config to "terraform plan" (FAILED - 22)
debug Testing Aurora
passes the aurora config to "terraform plan" (FAILED - 23)
debug Testing Aurora
passes the elasticache config to "terraform plan" (FAILED - 24)
debug Testing Aurora
passes the opensearch config to "terraform plan" (FAILED - 25)
debug Testing Aurora
passes the services config to "terraform plan" (FAILED - 26)
debug Testing Aurora
passes the loadbalancer config to "terraform plan" (FAILED - 27)
debug Testing Aurora
passes the cluster 2 config to "terraform plan" (FAILED - 28)
debug Testing Aurora
passes the cluster 3 config to "terraform plan" (FAILED - 29)
debug Testing Aurora
passes the cluster 4 config to "terraform plan" (FAILED - 30)
Dalmatian::Account
initialisation
gathering user input
asks the user for AWS credentials
asks the user for the AWS account id to use
asks the user for an account alias
#call
changes to the bootstrapping directory
runs terraform init with upgrade option
creates the new workspace using the given aws account id and alias
runs terraform apply with the user-supplied vars
Dalmatian::AuroraDeployment
#call
changes to aurora infrastructure directory
asks Terraform to ensure that the workspace is in place
when in _plan_ mode
invokes Terraform.plan with the _dalmatian-read_ role
when NOT in _plan_ mode
invokes Terraform.apply with the _dalmatian-admin_ role
when in _auto_approve_ mode
asks Terraform to use auto_approve mode
Dalmatian::Aurora
#identifier
uses aurora identifier
#in_use_by
uses aurora in_use_by list
#clusters_in_use
uses aurora clusters_in_use list
#minimum_size
uses aurora minimum_size
#maximum_size
uses aurora maximum_size
#engine
uses aurora engine
#engine_version
uses the aurora engine_version
#db_name
uses the aurora db_name
#port
uses the aurora port
#maintenance_window
uses the aurora maintenance_window
#backup_window
uses the aurora backup_window
#backup_retention_period
uses the aurora backup_retention_period
#force_ssl
uses the aurora force_ssl bool
#parameter_store_path_db_url_name
uses the aurora parameter_store_path_db_url_name
#sql_backup_scheduled_task_environment_variables
uses the aurora sql_backup_scheduled_task_environment_variables
#check_sql_backup_scheduled_task_environment_variables
uses the aurora check_sql_backup_scheduled_task_environment_variables
#sync_sql_backup_to_azure
will have offsite backups disabled by default
#replication_bucket_destination_arn
uses the aurora replication_bucket_destination_arn
#replication_kms_key_id
uses the aurora replication_kms_key_id
#to_params
provides a hash of attributes for use in deployment
Dalmatian::AuroraTest
#call
changes to the aurora infrastructure directory
logs our intention to run Terraform init
runs Terraform init, with upgrade option
ensures presence of workspace
logs our intention to run Terraform fmt
runs Terraform fmt with check and diff options
logs our intention to run Terraform validate
runs Terraform validate, with upgrade option
changes back to the app root directory
Dalmatian::CacheHandlerSelector
::new_for(remote_reference)
when the remote reference is for a git repo
asks for an instance of GitCacheHandler
when the remote reference is for an S3 bucket
asks for an instance of S3CacheHandler
when the remote reference is for a URL
asks for an instance of UrlCacheHandler
when the type is unknown
raises an error
CacheHandler
when a subclass class does not implement #cache_remote_configuration
raises a helpful error
Dalmatian::CI
CI::PATH
is a constant
#deploy
changes to the ci directory
runs terraform init with upgrade option
creates the new workspace using the given aws account id and alias
runs terraform apply with the user-supplied vars
#test
runs terraform plan with the user-supplied vars
Dalmatian::ClusterDeployment
#call
changes to the ecs directory
asks Terraform to ensure that the workspace is in place
when the environment includes a
... [103,910 characters omitted] ...
Dalmatian>'
# ./spec/support/spec_helper.rb:24:in `block (3 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:24:in `block in modify'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `synchronize'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `modify'
# ./spec/support/spec_helper.rb:20:in `block (2 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in <top (required)>'
26) tests local configuration use of "terraform plan" passes the services config to "terraform plan"
Failure/Error: Helper.run!(cmd)
#<Dalmatian::Helper (class)> received :run! with unexpected arguments
expected: ("TF_VAR_region='eu-west-2' TF_VAR_cidr='10.0.0.0/16' TF_VAR_root_domain_zone='dalmatian.dxw.net' TF_VAR_internal_domain_zone='dalmatian.internal' TF_VAR_ecs_private_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.128.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.129.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.130.0/24\"}]' TF_VAR_extra_public_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.0.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.1.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.2.0/24\"}]' TF_VAR_instances_key_name='dalmatian-ecs-instances' TF_VAR_instance_type='t2.medium' TF_VAR_min_servers='2' TF_VAR_max_servers='4' TF_VAR_max_instance_lifetime='86400' TF_VAR_associate_public_ip_address='0' TF_VAR_docker_storage_size='40' TF_VAR_dockerhub_email='' TF_VAR_dockerhub_token='' TF_VAR_enable_efs='false' TF_VAR_encrypt_efs='true' TF_VAR_efs_dirs='[]' TF_VAR_monitoring_docs_path='https://github.com/dxw/dalmatian/docs/monitoring-alarms/' TF_VAR_example_var='bar' TF_VAR_environment='production' TF_VAR_cluster_name='shared-cluster-production' TF_VAR_account_id='123456789012' TF_VAR_infrastructure_name='existing-shared-cluster-production' TF_VAR_dalmatian_role='dalmatian-read' terraform plan")
got: ("TF_VAR_region='eu-west-2' TF_VAR_cidr='10.0.0.0/16' TF_VAR_root_domain_zone='dalmatian.dxw.net' TF_VAR_internal_domain_zone='dalmatian.internal' TF_VAR_ecs_private_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.128.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.129.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.130.0/24\"}]' TF_VAR_extra_public_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.0.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.1.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.2.0/24\"}]' TF_VAR_instances_key_name='dalmatian-ecs-instances' TF_VAR_instance_type='t2.medium' TF_VAR_min_servers='2' TF_VAR_max_servers='4' TF_VAR_max_instance_lifetime='86400' TF_VAR_associate_public_ip_address='0' TF_VAR_docker_storage_size='40' TF_VAR_dockerhub_email='' TF_VAR_dockerhub_token='' TF_VAR_enable_efs='false' TF_VAR_encrypt_efs='true' TF_VAR_efs_dirs='[]' TF_VAR_monitoring_docs_path='https://github.com/dxw/dalmatian/docs/monitoring-alarms/' TF_VAR_account_id='123456789012' TF_VAR_infrastructure_name='new-dedicated-cluster' TF_VAR_dalmatian_role='dalmatian-read' TF_VAR_environment='production' TF_VAR_aurora='{identifier =\"testaurora\",in_use_by =[\"test-service\"],clusters_in_use ={production =[\"test\"],staging =[\"test\"]},minimum_size ={production =2,staging =1},maximum_size ={production =2,staging =1},engine =\"aurora-postgresql\",engine_version =\"11.9\",db_name =\"testapp\",port =5432,force_ssl =true,maintenance_window =\"mon:19:00-mon:19:30\",backup_window =\"09:00-10:00\",backup_retention_period =31,parameter_store_path_db_url_name =\"DATABASE_URL\",sql_backup_scheduled_task_environment_variables =[{name =\"foo\",value =\"bar\"}],check_sql_backup_scheduled_task_environment_variables =[{name =\"foo\",value =\"bar\"}],sync_sql_backup_to_azure =false,replication_bucket_destination_arn =\"arn:aws:s3:::your-destination-bucket-name\",replication_kms_key_id =\"your-destination-kms-key-id\"}' terraform validate")
Please stub a default value first if message might be received with other args as well.
# ./lib/dalmatian/terraform.rb:17:in `validate'
# ./lib/dalmatian/testable.rb:25:in `terraform_validate'
# ./lib/dalmatian/testable.rb:9:in `call'
# ./lib/dalmatian/cluster.rb:358:in `test_aurora'
# ./lib/dalmatian/cluster.rb:273:in `deploy_aurora'
# ./lib/dalmatian/cluster.rb:75:in `block (2 levels) in deploy'
# ./lib/dalmatian/cluster.rb:73:in `each'
# ./lib/dalmatian/cluster.rb:73:in `block in deploy'
# ./lib/dalmatian/cluster.rb:59:in `each'
# ./lib/dalmatian/cluster.rb:59:in `deploy'
# ./lib/dalmatian/infrastructure.rb:24:in `block in deploy'
# ./lib/dalmatian/infrastructure.rb:22:in `each'
# ./lib/dalmatian/infrastructure.rb:22:in `deploy'
# ./lib/dalmatian/infrastructure.rb:18:in `test'
# ./spec/integration/tests_local_configuration_spec.rb:3397:in `block (2 levels) in <module:Dalmatian>'
# ./spec/support/spec_helper.rb:24:in `block (3 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:24:in `block in modify'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `synchronize'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `modify'
# ./spec/support/spec_helper.rb:20:in `block (2 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in <top (required)>'
27) tests local configuration use of "terraform plan" passes the loadbalancer config to "terraform plan"
Failure/Error: Helper.run!(cmd)
#<Dalmatian::Helper (class)> received :run! with unexpected arguments
expected: ("TF_VAR_region='eu-west-2' TF_VAR_cidr='10.0.0.0/16' TF_VAR_root_domain_zone='dalmatian.dxw.net' TF_VAR_internal_domain_zone='dalmatian.internal' TF_VAR_ecs_private_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.128.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.129.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.130.0/24\"}]' TF_VAR_extra_public_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.0.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.1.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.2.0/24\"}]' TF_VAR_instances_key_name='dalmatian-ecs-instances' TF_VAR_instance_type='t2.medium' TF_VAR_min_servers='2' TF_VAR_max_servers='4' TF_VAR_max_instance_lifetime='86400' TF_VAR_associate_public_ip_address='0' TF_VAR_docker_storage_size='40' TF_VAR_dockerhub_email='' TF_VAR_dockerhub_token='' TF_VAR_enable_efs='false' TF_VAR_encrypt_efs='true' TF_VAR_efs_dirs='[]' TF_VAR_monitoring_docs_path='https://github.com/dxw/dalmatian/docs/monitoring-alarms/' TF_VAR_example_var='bar' TF_VAR_environment='production' TF_VAR_cluster_name='shared-cluster-production' TF_VAR_account_id='123456789012' TF_VAR_infrastructure_name='existing-shared-cluster-production' TF_VAR_dalmatian_role='dalmatian-read' terraform plan")
got: ("TF_VAR_region='eu-west-2' TF_VAR_cidr='10.0.0.0/16' TF_VAR_root_domain_zone='dalmatian.dxw.net' TF_VAR_internal_domain_zone='dalmatian.internal' TF_VAR_ecs_private_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.128.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.129.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.130.0/24\"}]' TF_VAR_extra_public_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.0.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.1.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.2.0/24\"}]' TF_VAR_instances_key_name='dalmatian-ecs-instances' TF_VAR_instance_type='t2.medium' TF_VAR_min_servers='2' TF_VAR_max_servers='4' TF_VAR_max_instance_lifetime='86400' TF_VAR_associate_public_ip_address='0' TF_VAR_docker_storage_size='40' TF_VAR_dockerhub_email='' TF_VAR_dockerhub_token='' TF_VAR_enable_efs='false' TF_VAR_encrypt_efs='true' TF_VAR_efs_dirs='[]' TF_VAR_monitoring_docs_path='https://github.com/dxw/dalmatian/docs/monitoring-alarms/' TF_VAR_account_id='123456789012' TF_VAR_infrastructure_name='new-dedicated-cluster' TF_VAR_dalmatian_role='dalmatian-read' TF_VAR_environment='production' TF_VAR_aurora='{identifier =\"testaurora\",in_use_by =[\"test-service\"],clusters_in_use ={production =[\"test\"],staging =[\"test\"]},minimum_size ={production =2,staging =1},maximum_size ={production =2,staging =1},engine =\"aurora-postgresql\",engine_version =\"11.9\",db_name =\"testapp\",port =5432,force_ssl =true,maintenance_window =\"mon:19:00-mon:19:30\",backup_window =\"09:00-10:00\",backup_retention_period =31,parameter_store_path_db_url_name =\"DATABASE_URL\",sql_backup_scheduled_task_environment_variables =[{name =\"foo\",value =\"bar\"}],check_sql_backup_scheduled_task_environment_variables =[{name =\"foo\",value =\"bar\"}],sync_sql_backup_to_azure =false,replication_bucket_destination_arn =\"arn:aws:s3:::your-destination-bucket-name\",replication_kms_key_id =\"your-destination-kms-key-id\"}' terraform validate")
Please stub a default value first if message might be received with other args as well.
# ./lib/dalmatian/terraform.rb:17:in `validate'
# ./lib/dalmatian/testable.rb:25:in `terraform_validate'
# ./lib/dalmatian/testable.rb:9:in `call'
# ./lib/dalmatian/cluster.rb:358:in `test_aurora'
# ./lib/dalmatian/cluster.rb:273:in `deploy_aurora'
# ./lib/dalmatian/cluster.rb:75:in `block (2 levels) in deploy'
# ./lib/dalmatian/cluster.rb:73:in `each'
# ./lib/dalmatian/cluster.rb:73:in `block in deploy'
# ./lib/dalmatian/cluster.rb:59:in `each'
# ./lib/dalmatian/cluster.rb:59:in `deploy'
# ./lib/dalmatian/infrastructure.rb:24:in `block in deploy'
# ./lib/dalmatian/infrastructure.rb:22:in `each'
# ./lib/dalmatian/infrastructure.rb:22:in `deploy'
# ./lib/dalmatian/infrastructure.rb:18:in `test'
# ./spec/integration/tests_local_configuration_spec.rb:3397:in `block (2 levels) in <module:Dalmatian>'
# ./spec/support/spec_helper.rb:24:in `block (3 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:24:in `block in modify'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `synchronize'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `modify'
# ./spec/support/spec_helper.rb:20:in `block (2 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in <top (required)>'
28) tests local configuration use of "terraform plan" passes the cluster 2 config to "terraform plan"
Failure/Error: Helper.run!(cmd)
#<Dalmatian::Helper (class)> received :run! with unexpected arguments
expected: ("TF_VAR_region='eu-west-2' TF_VAR_cidr='10.0.0.0/16' TF_VAR_root_domain_zone='dalmatian.dxw.net' TF_VAR_internal_domain_zone='dalmatian.internal' TF_VAR_ecs_private_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.128.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.129.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.130.0/24\"}]' TF_VAR_extra_public_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.0.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.1.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.2.0/24\"}]' TF_VAR_instances_key_name='dalmatian-ecs-instances' TF_VAR_instance_type='t2.medium' TF_VAR_min_servers='2' TF_VAR_max_servers='4' TF_VAR_max_instance_lifetime='86400' TF_VAR_associate_public_ip_address='0' TF_VAR_docker_storage_size='40' TF_VAR_dockerhub_email='' TF_VAR_dockerhub_token='' TF_VAR_enable_efs='false' TF_VAR_encrypt_efs='true' TF_VAR_efs_dirs='[]' TF_VAR_monitoring_docs_path='https://github.com/dxw/dalmatian/docs/monitoring-alarms/' TF_VAR_example_var='bar' TF_VAR_environment='production' TF_VAR_cluster_name='shared-cluster-production' TF_VAR_account_id='123456789012' TF_VAR_infrastructure_name='existing-shared-cluster-production' TF_VAR_dalmatian_role='dalmatian-read' terraform plan")
got: ("TF_VAR_region='eu-west-2' TF_VAR_cidr='10.0.0.0/16' TF_VAR_root_domain_zone='dalmatian.dxw.net' TF_VAR_internal_domain_zone='dalmatian.internal' TF_VAR_ecs_private_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.128.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.129.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.130.0/24\"}]' TF_VAR_extra_public_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.0.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.1.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.2.0/24\"}]' TF_VAR_instances_key_name='dalmatian-ecs-instances' TF_VAR_instance_type='t2.medium' TF_VAR_min_servers='2' TF_VAR_max_servers='4' TF_VAR_max_instance_lifetime='86400' TF_VAR_associate_public_ip_address='0' TF_VAR_docker_storage_size='40' TF_VAR_dockerhub_email='' TF_VAR_dockerhub_token='' TF_VAR_enable_efs='false' TF_VAR_encrypt_efs='true' TF_VAR_efs_dirs='[]' TF_VAR_monitoring_docs_path='https://github.com/dxw/dalmatian/docs/monitoring-alarms/' TF_VAR_account_id='123456789012' TF_VAR_infrastructure_name='new-dedicated-cluster' TF_VAR_dalmatian_role='dalmatian-read' TF_VAR_environment='production' TF_VAR_aurora='{identifier =\"testaurora\",in_use_by =[\"test-service\"],clusters_in_use ={production =[\"test\"],staging =[\"test\"]},minimum_size ={production =2,staging =1},maximum_size ={production =2,staging =1},engine =\"aurora-postgresql\",engine_version =\"11.9\",db_name =\"testapp\",port =5432,force_ssl =true,maintenance_window =\"mon:19:00-mon:19:30\",backup_window =\"09:00-10:00\",backup_retention_period =31,parameter_store_path_db_url_name =\"DATABASE_URL\",sql_backup_scheduled_task_environment_variables =[{name =\"foo\",value =\"bar\"}],check_sql_backup_scheduled_task_environment_variables =[{name =\"foo\",value =\"bar\"}],sync_sql_backup_to_azure =false,replication_bucket_destination_arn =\"arn:aws:s3:::your-destination-bucket-name\",replication_kms_key_id =\"your-destination-kms-key-id\"}' terraform validate")
Please stub a default value first if message might be received with other args as well.
# ./lib/dalmatian/terraform.rb:17:in `validate'
# ./lib/dalmatian/testable.rb:25:in `terraform_validate'
# ./lib/dalmatian/testable.rb:9:in `call'
# ./lib/dalmatian/cluster.rb:358:in `test_aurora'
# ./lib/dalmatian/cluster.rb:273:in `deploy_aurora'
# ./lib/dalmatian/cluster.rb:75:in `block (2 levels) in deploy'
# ./lib/dalmatian/cluster.rb:73:in `each'
# ./lib/dalmatian/cluster.rb:73:in `block in deploy'
# ./lib/dalmatian/cluster.rb:59:in `each'
# ./lib/dalmatian/cluster.rb:59:in `deploy'
# ./lib/dalmatian/infrastructure.rb:24:in `block in deploy'
# ./lib/dalmatian/infrastructure.rb:22:in `each'
# ./lib/dalmatian/infrastructure.rb:22:in `deploy'
# ./lib/dalmatian/infrastructure.rb:18:in `test'
# ./spec/integration/tests_local_configuration_spec.rb:3397:in `block (2 levels) in <module:Dalmatian>'
# ./spec/support/spec_helper.rb:24:in `block (3 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:24:in `block in modify'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `synchronize'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `modify'
# ./spec/support/spec_helper.rb:20:in `block (2 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in <top (required)>'
29) tests local configuration use of "terraform plan" passes the cluster 3 config to "terraform plan"
Failure/Error: Helper.run!(cmd)
#<Dalmatian::Helper (class)> received :run! with unexpected arguments
expected: ("TF_VAR_region='eu-west-2' TF_VAR_cidr='10.0.0.0/16' TF_VAR_root_domain_zone='dalmatian.dxw.net' TF_VAR_internal_domain_zone='dalmatian.internal' TF_VAR_ecs_private_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.128.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.129.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.130.0/24\"}]' TF_VAR_extra_public_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.0.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.1.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.2.0/24\"}]' TF_VAR_instances_key_name='dalmatian-ecs-instances' TF_VAR_instance_type='t2.medium' TF_VAR_min_servers='2' TF_VAR_max_servers='4' TF_VAR_max_instance_lifetime='86400' TF_VAR_associate_public_ip_address='0' TF_VAR_docker_storage_size='40' TF_VAR_dockerhub_email='' TF_VAR_dockerhub_token='' TF_VAR_enable_efs='false' TF_VAR_encrypt_efs='true' TF_VAR_efs_dirs='[]' TF_VAR_monitoring_docs_path='https://github.com/dxw/dalmatian/docs/monitoring-alarms/' TF_VAR_example_var='bar' TF_VAR_environment='production' TF_VAR_cluster_name='shared-cluster-production' TF_VAR_account_id='123456789012' TF_VAR_infrastructure_name='existing-shared-cluster-production' TF_VAR_dalmatian_role='dalmatian-read' terraform plan")
got: ("TF_VAR_region='eu-west-2' TF_VAR_cidr='10.0.0.0/16' TF_VAR_root_domain_zone='dalmatian.dxw.net' TF_VAR_internal_domain_zone='dalmatian.internal' TF_VAR_ecs_private_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.128.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.129.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.130.0/24\"}]' TF_VAR_extra_public_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.0.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.1.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.2.0/24\"}]' TF_VAR_instances_key_name='dalmatian-ecs-instances' TF_VAR_instance_type='t2.medium' TF_VAR_min_servers='2' TF_VAR_max_servers='4' TF_VAR_max_instance_lifetime='86400' TF_VAR_associate_public_ip_address='0' TF_VAR_docker_storage_size='40' TF_VAR_dockerhub_email='' TF_VAR_dockerhub_token='' TF_VAR_enable_efs='false' TF_VAR_encrypt_efs='true' TF_VAR_efs_dirs='[]' TF_VAR_monitoring_docs_path='https://github.com/dxw/dalmatian/docs/monitoring-alarms/' TF_VAR_account_id='123456789012' TF_VAR_infrastructure_name='new-dedicated-cluster' TF_VAR_dalmatian_role='dalmatian-read' TF_VAR_environment='production' TF_VAR_aurora='{identifier =\"testaurora\",in_use_by =[\"test-service\"],clusters_in_use ={production =[\"test\"],staging =[\"test\"]},minimum_size ={production =2,staging =1},maximum_size ={production =2,staging =1},engine =\"aurora-postgresql\",engine_version =\"11.9\",db_name =\"testapp\",port =5432,force_ssl =true,maintenance_window =\"mon:19:00-mon:19:30\",backup_window =\"09:00-10:00\",backup_retention_period =31,parameter_store_path_db_url_name =\"DATABASE_URL\",sql_backup_scheduled_task_environment_variables =[{name =\"foo\",value =\"bar\"}],check_sql_backup_scheduled_task_environment_variables =[{name =\"foo\",value =\"bar\"}],sync_sql_backup_to_azure =false,replication_bucket_destination_arn =\"arn:aws:s3:::your-destination-bucket-name\",replication_kms_key_id =\"your-destination-kms-key-id\"}' terraform validate")
Please stub a default value first if message might be received with other args as well.
# ./lib/dalmatian/terraform.rb:17:in `validate'
# ./lib/dalmatian/testable.rb:25:in `terraform_validate'
# ./lib/dalmatian/testable.rb:9:in `call'
# ./lib/dalmatian/cluster.rb:358:in `test_aurora'
# ./lib/dalmatian/cluster.rb:273:in `deploy_aurora'
# ./lib/dalmatian/cluster.rb:75:in `block (2 levels) in deploy'
# ./lib/dalmatian/cluster.rb:73:in `each'
# ./lib/dalmatian/cluster.rb:73:in `block in deploy'
# ./lib/dalmatian/cluster.rb:59:in `each'
# ./lib/dalmatian/cluster.rb:59:in `deploy'
# ./lib/dalmatian/infrastructure.rb:24:in `block in deploy'
# ./lib/dalmatian/infrastructure.rb:22:in `each'
# ./lib/dalmatian/infrastructure.rb:22:in `deploy'
# ./lib/dalmatian/infrastructure.rb:18:in `test'
# ./spec/integration/tests_local_configuration_spec.rb:3397:in `block (2 levels) in <module:Dalmatian>'
# ./spec/support/spec_helper.rb:24:in `block (3 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:24:in `block in modify'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `synchronize'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `modify'
# ./spec/support/spec_helper.rb:20:in `block (2 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in <top (required)>'
30) tests local configuration use of "terraform plan" passes the cluster 4 config to "terraform plan"
Failure/Error: Helper.run!(cmd)
#<Dalmatian::Helper (class)> received :run! with unexpected arguments
expected: ("TF_VAR_region='eu-west-2' TF_VAR_cidr='10.0.0.0/16' TF_VAR_root_domain_zone='dalmatian.dxw.net' TF_VAR_internal_domain_zone='dalmatian.internal' TF_VAR_ecs_private_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.128.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.129.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.130.0/24\"}]' TF_VAR_extra_public_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.0.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.1.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.2.0/24\"}]' TF_VAR_instances_key_name='dalmatian-ecs-instances' TF_VAR_instance_type='t2.medium' TF_VAR_min_servers='2' TF_VAR_max_servers='4' TF_VAR_max_instance_lifetime='86400' TF_VAR_associate_public_ip_address='0' TF_VAR_docker_storage_size='40' TF_VAR_dockerhub_email='' TF_VAR_dockerhub_token='' TF_VAR_enable_efs='false' TF_VAR_encrypt_efs='true' TF_VAR_efs_dirs='[]' TF_VAR_monitoring_docs_path='https://github.com/dxw/dalmatian/docs/monitoring-alarms/' TF_VAR_example_var='bar' TF_VAR_environment='production' TF_VAR_cluster_name='shared-cluster-production' TF_VAR_account_id='123456789012' TF_VAR_infrastructure_name='existing-shared-cluster-production' TF_VAR_dalmatian_role='dalmatian-read' terraform plan")
got: ("TF_VAR_region='eu-west-2' TF_VAR_cidr='10.0.0.0/16' TF_VAR_root_domain_zone='dalmatian.dxw.net' TF_VAR_internal_domain_zone='dalmatian.internal' TF_VAR_ecs_private_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.128.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.129.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.130.0/24\"}]' TF_VAR_extra_public_subnets='[{availability_zone =\"eu-west-2a\",cidr =\"10.0.0.0/24\"},{availability_zone =\"eu-west-2b\",cidr =\"10.0.1.0/24\"},{availability_zone =\"eu-west-2c\",cidr =\"10.0.2.0/24\"}]' TF_VAR_instances_key_name='dalmatian-ecs-instances' TF_VAR_instance_type='t2.medium' TF_VAR_min_servers='2' TF_VAR_max_servers='4' TF_VAR_max_instance_lifetime='86400' TF_VAR_associate_public_ip_address='0' TF_VAR_docker_storage_size='40' TF_VAR_dockerhub_email='' TF_VAR_dockerhub_token='' TF_VAR_enable_efs='false' TF_VAR_encrypt_efs='true' TF_VAR_efs_dirs='[]' TF_VAR_monitoring_docs_path='https://github.com/dxw/dalmatian/docs/monitoring-alarms/' TF_VAR_account_id='123456789012' TF_VAR_infrastructure_name='new-dedicated-cluster' TF_VAR_dalmatian_role='dalmatian-read' TF_VAR_environment='production' TF_VAR_aurora='{identifier =\"testaurora\",in_use_by =[\"test-service\"],clusters_in_use ={production =[\"test\"],staging =[\"test\"]},minimum_size ={production =2,staging =1},maximum_size ={production =2,staging =1},engine =\"aurora-postgresql\",engine_version =\"11.9\",db_name =\"testapp\",port =5432,force_ssl =true,maintenance_window =\"mon:19:00-mon:19:30\",backup_window =\"09:00-10:00\",backup_retention_period =31,parameter_store_path_db_url_name =\"DATABASE_URL\",sql_backup_scheduled_task_environment_variables =[{name =\"foo\",value =\"bar\"}],check_sql_backup_scheduled_task_environment_variables =[{name =\"foo\",value =\"bar\"}],sync_sql_backup_to_azure =false,replication_bucket_destination_arn =\"arn:aws:s3:::your-destination-bucket-name\",replication_kms_key_id =\"your-destination-kms-key-id\"}' terraform validate")
Please stub a default value first if message might be received with other args as well.
# ./lib/dalmatian/terraform.rb:17:in `validate'
# ./lib/dalmatian/testable.rb:25:in `terraform_validate'
# ./lib/dalmatian/testable.rb:9:in `call'
# ./lib/dalmatian/cluster.rb:358:in `test_aurora'
# ./lib/dalmatian/cluster.rb:273:in `deploy_aurora'
# ./lib/dalmatian/cluster.rb:75:in `block (2 levels) in deploy'
# ./lib/dalmatian/cluster.rb:73:in `each'
# ./lib/dalmatian/cluster.rb:73:in `block in deploy'
# ./lib/dalmatian/cluster.rb:59:in `each'
# ./lib/dalmatian/cluster.rb:59:in `deploy'
# ./lib/dalmatian/infrastructure.rb:24:in `block in deploy'
# ./lib/dalmatian/infrastructure.rb:22:in `each'
# ./lib/dalmatian/infrastructure.rb:22:in `deploy'
# ./lib/dalmatian/infrastructure.rb:18:in `test'
# ./spec/integration/tests_local_configuration_spec.rb:3397:in `block (2 levels) in <module:Dalmatian>'
# ./spec/support/spec_helper.rb:24:in `block (3 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:24:in `block in modify'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `synchronize'
# /Users/bob/.bundles/ruby/2.7.0/gems/climate_control-1.2.0/lib/climate_control.rb:15:in `modify'
# ./spec/support/spec_helper.rb:20:in `block (2 levels) in <top (required)>'
# /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in <top (required)>'
Finished in 2.39 seconds (files took 0.80303 seconds to load)
514 examples, 30 failures
Failed examples:
rspec ./spec/integration/deploys_local_configuration_spec.rb:1650 # tests local configuration use of "terraform apply" passes the hosted zone config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1654 # tests local configuration use of "terraform apply" passes the s3 config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1658 # tests local configuration use of "terraform apply" passes the vpn customer gateway config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1662 # tests local configuration use of "terraform apply" passes the base config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1667 # tests local configuration use of "terraform apply" passes the waf config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1674 # tests local configuration use of "terraform apply" passes the rds config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1681 # tests local configuration use of "terraform apply" passes the aurora config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1688 # tests local configuration use of "terraform apply" passes the elasticache config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1697 # tests local configuration use of "terraform apply" passes the opensearch config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1706 # tests local configuration use of "terraform apply" passes the service config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1713 # tests local configuration use of "terraform apply" passes the loadbalancer config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1722 # tests local configuration use of "terraform apply" passes the cluster 2 config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1729 # tests local configuration use of "terraform apply" passes the cluster 3 config to "terraform apply"
rspec ./spec/integration/deploys_local_configuration_spec.rb:1733 # tests local configuration use of "terraform apply" passes the cluster 4 config to "terraform apply"
rspec ./spec/integration/tests_local_configuration_spec.rb:3400 # tests local configuration invokes "terraform validate" with the expected cluster options
rspec ./spec/integration/tests_local_configuration_spec.rb:3439 # tests local configuration invokes "terraform validate" with the expected source options
rspec ./spec/integration/tests_local_configuration_spec.rb:3445 # tests local configuration use of "terraform plan" passes the hosted zone config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3451 # tests local configuration use of "terraform plan" passes the s3 config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3457 # tests local configuration use of "terraform plan" passes the vpn customer gateway config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3463 # tests local configuration use of "terraform plan" passes the base config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3470 # tests local configuration use of "terraform plan" passes the waf config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3477 # tests local configuration use of "terraform plan" passes the rds config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3484 # tests local configuration use of "terraform plan" passes the aurora config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3491 # tests local configuration use of "terraform plan" passes the elasticache config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3500 # tests local configuration use of "terraform plan" passes the opensearch config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3509 # tests local configuration use of "terraform plan" passes the services config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3516 # tests local configuration use of "terraform plan" passes the loadbalancer config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3525 # tests local configuration use of "terraform plan" passes the cluster 2 config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3532 # tests local configuration use of "terraform plan" passes the cluster 3 config to "terraform plan"
rspec ./spec/integration/tests_local_configuration_spec.rb:3536 # tests local configuration use of "terraform plan" passes the cluster 4 config to "terraform plan"
Coverage report generated for RSpec to /Users/bob/git/dxw/dalmatian/coverage. 4487 / 4556 LOC (98.49%) covered.
Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected
/Users/bob/.rbenv/versions/2.7.1/bin/ruby -I/Users/bob/.bundles/ruby/2.7.0/gems/rspec-core-3.12.2/lib:/Users/bob/.bundles/ruby/2.7.0/gems/rspec-support-3.12.1/lib /Users/bob/.bundles/ruby/2.7.0/gems/rspec-core-3.12.2/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb failed
Exit Code: 1
Process Group PGID: 84298