Skip to content

Commit

Permalink
Release (#488)
Browse files Browse the repository at this point in the history
* 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 <Entity>DoesNotExist in terraform module

* return <Entity>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 <Entity>DoesNotExist in terraform module

* return <Entity>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/<instance>/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
  • Loading branch information
nehayward authored Jan 12, 2018
1 parent ef09161 commit 6bcb6c4
Show file tree
Hide file tree
Showing 176 changed files with 21,842 additions and 15,737 deletions.
Binary file added .DS_Store
Binary file not shown.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ smoketest:
systemtest:
$(MAKE) -C tests/system test

benchmark:
$(MAKE) -C tests/stress benchmark
stresstest:
$(MAKE) -C tests/stress test

install-smoketest:
$(MAKE) -C cli install-smoketest
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ![logo](https://quintilesims.github.io/layer0/static/logo_rs.png)

[![Build Status](https://travis-ci.org/quintilesims/layer0.svg?branch=master)](https://travis-ci.org/quintilesims/layer0)
[![Version](https://img.shields.io/badge/version-0.10.3-brightgreen.svg)](https://github.com/quintilesims/layer0/releases/tag/v0.10.3)
[![Version](https://img.shields.io/badge/version-0.10.4-brightgreen.svg)](https://github.com/quintilesims/layer0/releases/tag/v0.10.4)
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://quintilesims.github.io/layer0/)

Layer0 is a PAAS that helps you deploy your Docker containers to the cloud with minimal fuss.
Expand Down
17 changes: 17 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,21 @@
# Release Notes
---
## v0.10.4 | [Download](http://layer0.ims.io/#download)
1.12.18

#### Features
* Improvements to documentation and redesign.
* v0.11+ Terraform requirement.
* Add ECS metrics in AWS Console.
* Improve retry logic to AWS API

#### Fixes
* Reduce AWS api calls.
* Fix system and stress tests.
* Fix multi-region support.
* Fix disconnected ECS agent scaling
* Minor bug fixes.

---
## v0.10.3 | [Download](http://layer0.ims.io/#download)
8.3.2017
Expand Down
2 changes: 1 addition & 1 deletion api/backend/ecs/environment_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,7 @@ Write-Host Cluster name set as: $clusterName -foreground green
[Environment]::SetEnvironmentVariable("ECS_CLUSTER", $clusterName, "Machine")
[Environment]::SetEnvironmentVariable("ECS_ENABLE_TASK_IAM_ROLE", "false", "Machine")
$agentVersion = 'v1.14.0-1.windows.1'
$agentVersion = 'v1.15.2'
$agentZipUri = "https://s3.amazonaws.com/amazon-ecs-agent/ecs-agent-windows-$agentVersion.zip"
$agentZipMD5Uri = "$agentZipUri.md5"
Expand Down
4 changes: 4 additions & 0 deletions common/aws/ecs/ecs.go
Original file line number Diff line number Diff line change
Expand Up @@ -973,6 +973,8 @@ func (this *ECS) ListTaskDefinitionFamiliesPages(prefix string) ([]*string, erro
FamilyPrefix: &prefix,
}

input.SetStatus(ecs.TaskDefinitionFamilyStatusActive)

connection, err := this.Connect()
if err != nil {
return nil, err
Expand Down Expand Up @@ -1044,6 +1046,8 @@ func (this *ECS) ListTaskDefinitions(familyName string, nextToken *string) ([]*s
NextToken: nextToken,
}

input.SetStatus(ecs.TaskDefinitionStatusActive)

connection, err := this.Connect()
if err != nil {
return nil, nil, err
Expand Down
1 change: 1 addition & 0 deletions docs-src/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
deps:
pip install mkdocs
pip install -Iv mkdocs-material==2.3.0

build:
mkdocs build --clean
Expand Down
1 change: 1 addition & 0 deletions docs-src/docs/CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
layer0.ims.io
Loading

0 comments on commit 6bcb6c4

Please sign in to comment.