rename terraform resources. add terraform import lines. add diff supression for deploy.content field. add import system test
remove crash.log
remove comment
update docs, fix unit tests
Terraform: improve handling of sigterm (#301)
rename terraform resources. add terraform import lines. add diff supression for deploy.content field. add import system test
remove crash.log
remove comment
update docs, fix unit tests
add Layer0Client for meta object
use waitWithContext helper functions. Remove partial state from service resource
remove wait
fix merge
check error codes for DoesNotExist in terraform module
return DoesNotExist error codes from backend layer
use 's' for receiver
Return '404 Not Found' errors when resource not found instead of '500 Server Error' errors.
split out system and stress tests
Add leftover tags janitor and handle resolving leftover tags in CLI. (#305)
API: Added Tag Janitor.
CLI: Check ecs task exists before attempting to retrieve information on it.
tag janitor review feedback
Updated expiredTasks test
Merge master back into develop (#309)
Create CNAME
rename terraform resources. add terraform import lines. add diff supression for deploy.content field. add import system test
remove crash.log
remove comment
update docs, fix unit tests
Terraform: improve handling of sigterm (#301)
rename terraform resources. add terraform import lines. add diff supression for deploy.content field. add import system test
remove crash.log
remove comment
update docs, fix unit tests
add Layer0Client for meta object
use waitWithContext helper functions. Remove partial state from service resource
remove wait
fix merge
check error codes for DoesNotExist in terraform module
return DoesNotExist error codes from backend layer
use 's' for receiver
Return '404 Not Found' errors when resource not found instead of '500 Server Error' errors.
split out system and stress tests
Add leftover tags janitor and handle resolving leftover tags in CLI. (#305)
API: Added Tag Janitor.
CLI: Check ecs task exists before attempting to retrieve information on it.
tag janitor review feedback
Updated expiredTasks test
update docs for 10.3
l0-setup upgrade: Breadcrumb message when current version is not SemVer compliant (#310)
If the current version of a user's layer0 (as defined in ~/.layer0//main.tf.json)
is not semver compliant, this change will notify the user that they can use the --force
flag to override the message.
Preserving previous error message, tidying up formatting and line length
'Tester' iface; prototyping env stress tests with benchmarking
232: dep init cleanup, benchmark stress test on multiple dimensions
The vendor/ dir cleanup is due to running go-dep's dep init
Ignoring Gopkg and _vendor
Benchmark tests are put into its own _test.go file. The pattern is
such that the number of environments, deploys and services are
parameterized when invoking benchmarkStress()
232: forcing constraint on github.com/cenkalti/backoff
Unit tests were failing because of very old semver version of this package
Forced it to constrain to the master branch of the project
232: dep manifest and lock should probably be included
232: Stress tests split into tf modules, folding some changes from 232-tlake
I created three tf modules, environment, service and deploy. The outputs
of environment and deploy are picked up by service. Services are distributed
using element() amongst available environments and deploys.
232: Removing defer Terraform.Destroy() and instead explicitly calling Destroy() at end of for loop
232: Cleaning up modules, parameterizing Dockerrun.aws.json command
Benchmark tests are no longer in table testing pattern
Dockerrun.aws.json now correctly interpolates the command passed to it by the test
Directory cleanup and organizing of the tf modules
232: Minor formatting change
232: Modifying the benchmark tests to be more modest in scope
Add service limits warning
Update for 'make test'
Add ListTasks and ListJobs to benchmarks
232: Adding Load Balancer parameterization in benchmark stress tests
The benchmark tests now allow creating an arbitrary number of load balancers in a given test
Also made some adjustments to the dimensions of the benchmark tests themselves
232: More benchmark stress test cases
232: Added a more 'realistic' benchmark test, tested with changes from 232-tlake
232: More benchmark tests, terraform fmt adjustments
232: Adding comment in README recommending the usage of flow. Makefile timeout set to 2h.
232: Actually modifying the README
232: 232-stress-tests will not include dep changes, that will be handled by another named branch
232: syncing vendor dir state from develop into 232-stress-tests
232: Adding specifics of limits in tests/README.md, cutting down the number of benchmark tests
Update to align with changes in tftest package (#332)
Update to work with changes in tftest
Remove earlier iteration stress test file
Use 'testing.B' properly to avoid panic
split out 'test' and 'benchmark' targets
Strip out 'StressTest' struct
Strip out 'StressTest' struct; Simplify function names and arguments
Add compatibility with 'tftest.Logger'
Update to use new 'StandardLogger.Logger'
Add benchmark target to top-level Makefile
Base of refactoring stress tests to use one terraform config
DRY out benchmarking code
Use a single Terraform config for stress tests
Test entity Get functions in addition to List
Refactor 'random_shuffle' resources out in favor of 'element()' with inherent modulus
Remove instance.AgentConnected check when gathering resource providers.
Update test to reflect that agent status is not taken into account
Log a disconnected agent as info, but do nothing about it
update terraform module to use region, ami data sources (#471)
enables terraform AMI, region lookup
apply terraform fmt
[v0.10.4] 466: Implement retry and delay logic against AWS API (#468)
466: Implement retry and delay logic against AWS API
Recognizes the environment variables LAYER0_AWS_TIME_BETWEEN_REQUESTS
and LAYER0_AWS_MAX_RETRIES.
LAYER0_AWS_TIME_BETWEEN_REQUESTS is a time duration for the min amount
of time allowed between AWS requests
LAYER0_AWS_MAX_RETRIES is a numerical value representing the max
number of times a request will be retried for failures
MAINT: Review fixes
MAINT: Undo changes to dynamo db tests
MAINT: Make common aws config helper function
466: Make new helper function to handle session push back
466: Change session delay helper function name
[v0.10.4] 475: Remove AWS Region default and require region for API operation (#476)
475: Remove AWS Region default and require region for API operation
475: Inclue region as l0-setup endpoint -d output
The AWS Region specified when creating a layer0 instance is now output
when running the command l0-setup endpoint -d.
Fixes an AMI ID for the API module in the us-east-1 region
475: Use develop version of setup/module/api/variables.tf
475: Use develop version of setup/module/api/variables.tf
MAINT: Remove default AWS region from config
[v0.10.4] Decrease ECS API Calls (#474)
use cluster names in ListEnvironments
add task environment id resolving
fix get task
fix delete and create task
update task logs
update list services api call
update get environment
chagne scheduler to run once an hour
Fix api calls on service list for scaling
use DescribeEnvironmentTasks for scaler
remove copies from task create
re-add copies param to task create in cli
use 'layer0_version' instead of version for tf variable
Update README.md
MAINT: Make l0 deploy list only return active task definitions (#480)
The methods called in the AWS SDK that pull back Task Definitions
should only be retrieving Task Definitions that are active. Without
filtering Task Definitions by status, inactive Task Definitions
can still be retrieved. For Layer0 instances that have been up
for a long time, inactive Task Definitions can accumulate
and has been known to slow the operation l0 deploy list down
considerably.
[v0.10.4] Fix System and Stress tests (#482)
update tftest
add init targets to system and stress test makefiles:
fixup stress tests
fix stress test target
add debug flag
444: Fix l0-setup apply issue for instances created in another region
When a new AWS Provider needs to be created, aws.Config needs to contain
the correct region for interactions with AWS to work.
In the case where l0 instances are initialized and set up in a region
other than the default us-west-2, the resources will create in the
region specified in the init wizard, but pushing terraform state to the
S3 bucket fails because it was always assumed that the AWS region would
be us-west-2.
To fix this, anytime an AWS Provider is needed, the instance derives
what region it's in (assuming that l0-setup apply ran to completion),
and then passes that region into the AWS Provider helper function
so that aws.Config sets the correct region for API operations
via the WithRegion() method.
444: Remove aws-region flag from l0-setup list command
MAINT: Make clarifying comments on l0-setup commands
444: Modify l0-setup pull to calculate region instance's bucket is in
To solve the problem where a user might need to pull a remote layer0
instance but doesn't have the instance locally, we need to calculate
the region the bucket is in before we actually pull from the bucket.
Two helper functions are created to help with this: one to retrieve
a list of S3 buckets then match the associated bucket with the one
provided by the user as the instance name, and one to determine
the matched bucket's region.
MAINT: Add clarifying comments on default AWS region usage
MAINT: Change setup/instance package references in l0-setup commands
update windows ecs agent version, remove bats admin test (#483)
Release candidate doc fixes (#485)
MAINT: Make doc changes for Introduction and Install
MAINT: Clean up cli reference and upgrade instructions
MAINT: Build mkdown docs
MAINT: Remove center tag from download table on home page
MAINT: Clean up the CLI reference page
Update docs (#484)
Update deploy documents to add terraform init
Update docs to fix issue #361 and make error message clearer
MAINT: Clean up the CLI reference some more
MAINT: Clean up the l0-setup CLI reference
MAINT: Make minor usage changes in l0-setup cli reference
rename terraform resources. add terraform import lines. add diff supression for deploy.content field. add import system test
remove crash.log
remove comment
update docs, fix unit tests
Terraform: improve handling of sigterm (#301)
rename terraform resources. add terraform import lines. add diff supression for deploy.content field. add import system test
remove crash.log
remove comment
update docs, fix unit tests
add Layer0Client for meta object
use waitWithContext helper functions. Remove partial state from service resource
remove wait
fix merge
check error codes forDoesNotExist in terraform module
returnDoesNotExist error codes from backend layer
use 's' for receiver
Return '404 Not Found' errors when resource not found instead of '500 Server Error' errors.
split out system and stress tests
Add leftover tags janitor and handle resolving leftover tags in CLI. (#305)
API: Added Tag Janitor. CLI: Check ecs task exists before attempting to retrieve information on it.
tag janitor review feedback
Updated expiredTasks test
Merge master back into develop (#309)
Create CNAME
rename terraform resources. add terraform import lines. add diff supression for deploy.content field. add import system test
remove crash.log
remove comment
update docs, fix unit tests
Terraform: improve handling of sigterm (#301)
rename terraform resources. add terraform import lines. add diff supression for deploy.content field. add import system test
remove crash.log
remove comment
update docs, fix unit tests
add Layer0Client for meta object
use waitWithContext helper functions. Remove partial state from service resource
remove wait
fix merge
check error codes forDoesNotExist in terraform module
returnDoesNotExist error codes from backend layer
use 's' for receiver
Return '404 Not Found' errors when resource not found instead of '500 Server Error' errors.
split out system and stress tests
Add leftover tags janitor and handle resolving leftover tags in CLI. (#305)
API: Added Tag Janitor. CLI: Check ecs task exists before attempting to retrieve information on it.
tag janitor review feedback
Updated expiredTasks test
update docs for 10.3
l0-setup upgrade: Breadcrumb message when current version is not SemVer compliant (#310)
If the current version of a user's layer0 (as defined in ~/.layer0//main.tf.json)
is not semver compliant, this change will notify the user that they can use the --force
flag to override the message.
Preserving previous error message, tidying up formatting and line length
'Tester' iface; prototyping env stress tests with benchmarking
232: dep init cleanup, benchmark stress test on multiple dimensions
The vendor/ dir cleanup is due to running go-dep's
dep init
Ignoring Gopkg and _vendor
Benchmark tests are put into its own _test.go file. The pattern is such that the number of environments, deploys and services are parameterized when invoking benchmarkStress()
232: forcing constraint on github.com/cenkalti/backoff
Unit tests were failing because of very old semver version of this package Forced it to constrain to the master branch of the project
232: dep manifest and lock should probably be included
232: Stress tests split into tf modules, folding some changes from 232-tlake
I created three tf modules, environment, service and deploy. The outputs of environment and deploy are picked up by service. Services are distributed using element() amongst available environments and deploys.
232: Removing defer Terraform.Destroy() and instead explicitly calling Destroy() at end of for loop
232: Cleaning up modules, parameterizing Dockerrun.aws.json command
Benchmark tests are no longer in table testing pattern Dockerrun.aws.json now correctly interpolates the command passed to it by the test Directory cleanup and organizing of the tf modules
232: Minor formatting change
232: Modifying the benchmark tests to be more modest in scope
Add service limits warning
Update for 'make test'
Add ListTasks and ListJobs to benchmarks
232: Adding Load Balancer parameterization in benchmark stress tests
The benchmark tests now allow creating an arbitrary number of load balancers in a given test Also made some adjustments to the dimensions of the benchmark tests themselves
232: More benchmark stress test cases
232: Added a more 'realistic' benchmark test, tested with changes from 232-tlake
232: More benchmark tests, terraform fmt adjustments
232: Adding comment in README recommending the usage of flow. Makefile timeout set to 2h.
232: Actually modifying the README
232: 232-stress-tests will not include dep changes, that will be handled by another named branch
232: syncing vendor dir state from develop into 232-stress-tests
232: Adding specifics of limits in tests/README.md, cutting down the number of benchmark tests
Update to align with changes in
tftest
package (#332)Update to work with changes in tftest
Remove earlier iteration stress test file
Use 'testing.B' properly to avoid panic
split out 'test' and 'benchmark' targets
Strip out 'StressTest' struct
Strip out 'StressTest' struct; Simplify function names and arguments
Add compatibility with 'tftest.Logger'
Update to use new 'StandardLogger.Logger'
Add benchmark target to top-level Makefile
Base of refactoring stress tests to use one terraform config
DRY out benchmarking code
Use a single Terraform config for stress tests
Test entity Get functions in addition to List
Refactor 'random_shuffle' resources out in favor of 'element()' with inherent modulus
Transfer test cases into updated pattern
Remove outdated multi-file terraform configuration
Remove parametrization of deploy command
Move 'Tester' iface into 'testutils' package
Remove 'deploy_command' var
Refactor task stress test into benchmark pattern
Add top-of-test checks for entity dependencies
Strip out go func args
Don't wait for tasks to finish
Strip out overcomplicated Task creation logic
Overhaul test cases to use min/med/max params
Vendoring update
Reduce test matrix for Families+Deploys
Added terraform init to l0-setup init
Delete terraform
use cluster names in ListEnvironments
enable ecs metrics via IAM policy
[v0.10.4] scaler patch (#472)
Remove instance.AgentConnected check when gathering resource providers.
Update test to reflect that agent status is not taken into account
Log a disconnected agent as info, but do nothing about it
update terraform module to use region, ami data sources (#471)
enables terraform AMI, region lookup
apply terraform fmt
[v0.10.4] 466: Implement retry and delay logic against AWS API (#468)
466: Implement retry and delay logic against AWS API
Recognizes the environment variables LAYER0_AWS_TIME_BETWEEN_REQUESTS and LAYER0_AWS_MAX_RETRIES.
LAYER0_AWS_TIME_BETWEEN_REQUESTS is a time duration for the min amount of time allowed between AWS requests
LAYER0_AWS_MAX_RETRIES is a numerical value representing the max number of times a request will be retried for failures
MAINT: Review fixes
MAINT: Undo changes to dynamo db tests
MAINT: Make common aws config helper function
466: Make new helper function to handle session push back
466: Change session delay helper function name
[v0.10.4] 475: Remove AWS Region default and require region for API operation (#476)
475: Remove AWS Region default and require region for API operation
475: Inclue region as l0-setup endpoint -d output
The AWS Region specified when creating a layer0 instance is now output when running the command l0-setup endpoint -d.
Fixes an AMI ID for the API module in the us-east-1 region
475: Use develop version of setup/module/api/variables.tf
475: Use develop version of setup/module/api/variables.tf
MAINT: Remove default AWS region from config
[v0.10.4] Decrease ECS API Calls (#474)
use cluster names in ListEnvironments
add task environment id resolving
fix get task
fix delete and create task
update task logs
update list services api call
update get environment
chagne scheduler to run once an hour
Fix api calls on service list for scaling
use DescribeEnvironmentTasks for scaler
remove copies from task create
re-add copies param to task create in cli
use 'layer0_version' instead of version for tf variable
Update README.md
MAINT: Make l0 deploy list only return active task definitions (#480)
The methods called in the AWS SDK that pull back Task Definitions should only be retrieving Task Definitions that are active. Without filtering Task Definitions by status, inactive Task Definitions can still be retrieved. For Layer0 instances that have been up for a long time, inactive Task Definitions can accumulate and has been known to slow the operation l0 deploy list down considerably.
[v0.10.4] Fix System and Stress tests (#482)
update tftest
add init targets to system and stress test makefiles:
fixup stress tests
fix stress test target
add debug flag
444: Fix l0-setup apply issue for instances created in another region
When a new AWS Provider needs to be created, aws.Config needs to contain the correct region for interactions with AWS to work.
In the case where l0 instances are initialized and set up in a region other than the default us-west-2, the resources will create in the region specified in the init wizard, but pushing terraform state to the S3 bucket fails because it was always assumed that the AWS region would be us-west-2.
To fix this, anytime an AWS Provider is needed, the instance derives what region it's in (assuming that l0-setup apply ran to completion), and then passes that region into the AWS Provider helper function so that aws.Config sets the correct region for API operations via the WithRegion() method.
444: Remove aws-region flag from l0-setup list command
MAINT: Make clarifying comments on l0-setup commands
444: Modify l0-setup pull to calculate region instance's bucket is in
To solve the problem where a user might need to pull a remote layer0 instance but doesn't have the instance locally, we need to calculate the region the bucket is in before we actually pull from the bucket.
Two helper functions are created to help with this: one to retrieve a list of S3 buckets then match the associated bucket with the one provided by the user as the instance name, and one to determine the matched bucket's region.
MAINT: Add clarifying comments on default AWS region usage
MAINT: Change setup/instance package references in l0-setup commands
update windows ecs agent version, remove bats admin test (#483)
Release candidate doc fixes (#485)
MAINT: Make doc changes for Introduction and Install
MAINT: Clean up cli reference and upgrade instructions
MAINT: Build mkdown docs
MAINT: Remove center tag from download table on home page
MAINT: Clean up the CLI reference page
Update docs (#484)
Update deploy documents to add terraform init
Update docs to fix issue #361 and make error message clearer
MAINT: Clean up the CLI reference some more
MAINT: Clean up the l0-setup CLI reference
MAINT: Make minor usage changes in l0-setup cli reference
MAINT: Remove terraform beyond layer0 guide, clean up broken links, formatting cleanup
MAINT: Remove walkthrough deployment 3, guestbook with consul
MAINT: Fix spacing issue on setup cli reference
fix flow version target
MAINT: Make code review changes
MAINT: Make formatting fixes
MAINT: Make more code review changes. Fix spacing issues
MAINT: Code review changes
MAINT: Fix error message text in aws provider helper function
MAINT: More formatting cleanup
MAINT: Change mkdocs edit_uri to fix the edit icon on each doc page
Docs style update (#486)
Fix style bugs
Fix spacing issues
Udpate makefile to specify version
Remove commentted code
Fix merge conflicts
Fix issues when adjusting header logo
MAINT: Change casing on site terraform.io references
MAINT: Post make build commit
MAINT: Formatting changes on terraform plugin reference page. a href color change for admonition
MAINT: Formatting changes on terraform plugin reference page. a href color change for admonition
Remove leading '$' in code block to improve copypaste (#487)
Release doc updates for v0.10.4
Update release notes
What does this pull request do? Include a short summary of what this PR intends to fix and/or a reference to an existing issue.
How should this be tested? Include steps to test intended functionality.
Checklist
closes # (reference the issue(s) this pull request closes)