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_1771603580503_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 #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 git reference as "track_revision" does NOT attempt to check out that commit when in _plan_ mode invokes Terraform. ... [101,891 characters omitted] ... lmatian/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:3349:in `block (2 levels) in ' # ./spec/support/spec_helper.rb:24:in `block (3 levels) in ' # /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 ' # /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in ' 26) tests local configuration use of "terraform plan" passes the services config to "terraform plan" Failure/Error: Helper.run!(cmd) # 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 =[],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:3349:in `block (2 levels) in ' # ./spec/support/spec_helper.rb:24:in `block (3 levels) in ' # /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 ' # /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in ' 27) tests local configuration use of "terraform plan" passes the loadbalancer config to "terraform plan" Failure/Error: Helper.run!(cmd) # 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 =[],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:3349:in `block (2 levels) in ' # ./spec/support/spec_helper.rb:24:in `block (3 levels) in ' # /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 ' # /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in ' 28) tests local configuration use of "terraform plan" passes the cluster 2 config to "terraform plan" Failure/Error: Helper.run!(cmd) # 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 =[],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:3349:in `block (2 levels) in ' # ./spec/support/spec_helper.rb:24:in `block (3 levels) in ' # /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 ' # /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in ' 29) tests local configuration use of "terraform plan" passes the cluster 3 config to "terraform plan" Failure/Error: Helper.run!(cmd) # 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 =[],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:3349:in `block (2 levels) in ' # ./spec/support/spec_helper.rb:24:in `block (3 levels) in ' # /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 ' # /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in ' 30) tests local configuration use of "terraform plan" passes the cluster 4 config to "terraform plan" Failure/Error: Helper.run!(cmd) # 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 =[],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:3349:in `block (2 levels) in ' # ./spec/support/spec_helper.rb:24:in `block (3 levels) in ' # /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 ' # /Users/bob/.bundles/ruby/2.7.0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in ' Finished in 2.34 seconds (files took 0.78933 seconds to load) 513 examples, 30 failures Failed examples: rspec ./spec/integration/deploys_local_configuration_spec.rb:1626 # tests local configuration use of "terraform apply" passes the hosted zone config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1630 # tests local configuration use of "terraform apply" passes the s3 config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1634 # tests local configuration use of "terraform apply" passes the vpn customer gateway config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1638 # tests local configuration use of "terraform apply" passes the base config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1643 # tests local configuration use of "terraform apply" passes the waf config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1650 # tests local configuration use of "terraform apply" passes the rds config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1657 # tests local configuration use of "terraform apply" passes the aurora config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1664 # tests local configuration use of "terraform apply" passes the elasticache config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1673 # tests local configuration use of "terraform apply" passes the opensearch config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1682 # tests local configuration use of "terraform apply" passes the service config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1689 # tests local configuration use of "terraform apply" passes the loadbalancer config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1698 # tests local configuration use of "terraform apply" passes the cluster 2 config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1705 # tests local configuration use of "terraform apply" passes the cluster 3 config to "terraform apply" rspec ./spec/integration/deploys_local_configuration_spec.rb:1709 # tests local configuration use of "terraform apply" passes the cluster 4 config to "terraform apply" rspec ./spec/integration/tests_local_configuration_spec.rb:3352 # tests local configuration invokes "terraform validate" with the expected cluster options rspec ./spec/integration/tests_local_configuration_spec.rb:3391 # tests local configuration invokes "terraform validate" with the expected source options rspec ./spec/integration/tests_local_configuration_spec.rb:3397 # tests local configuration use of "terraform plan" passes the hosted zone config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3403 # tests local configuration use of "terraform plan" passes the s3 config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3409 # tests local configuration use of "terraform plan" passes the vpn customer gateway config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3415 # tests local configuration use of "terraform plan" passes the base config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3422 # tests local configuration use of "terraform plan" passes the waf config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3429 # tests local configuration use of "terraform plan" passes the rds config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3436 # tests local configuration use of "terraform plan" passes the aurora config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3443 # tests local configuration use of "terraform plan" passes the elasticache config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3452 # tests local configuration use of "terraform plan" passes the opensearch config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3461 # tests local configuration use of "terraform plan" passes the services config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3468 # tests local configuration use of "terraform plan" passes the loadbalancer config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3477 # tests local configuration use of "terraform plan" passes the cluster 2 config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3484 # tests local configuration use of "terraform plan" passes the cluster 3 config to "terraform plan" rspec ./spec/integration/tests_local_configuration_spec.rb:3488 # 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. 4482 / 4551 LOC (98.48%) 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: 83490