Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.10.0-rc1 #191

Merged
merged 134 commits into from
Apr 4, 2017
Merged

Release v0.10.0-rc1 #191

merged 134 commits into from
Apr 4, 2017

Conversation

zpatrick
Copy link
Contributor

@zpatrick zpatrick commented Apr 3, 2017

No description provided.

Zack Patrick and others added 30 commits December 13, 2016 14:44
Further work needed to add more coverage.
Change import format
Change file mode on create dockercfg
Use pointer method receivers in MockFileIO
Fix case
Pass dockercfg as argument to Apply
zpatrick and others added 19 commits March 28, 2017 15:27
Updated tests to take into account the new flag.
* add CONTRIBUTOR guidelines

* doc fixes based off feedback

* fix heading caps
…175)

* add os option to environment create. add linux and windows service ami environment variables to the api

* add dockercfg download into user data

* add ami field to environment and create environment request

* fix formatting

* fix tf file formatting

* remove debug lines from powershell user data

* add --ami to cli

* add os and ami to environnment resource

* add docs for --os and --ami options

* add windows system test

* fix formatting

* be explicit that ami args take an ami id

* fixup makefile

* add os to environment printer

* add api os in addDefaultTags
@zpatrick zpatrick requested a review from diemonster April 3, 2017 23:56
@zpatrick zpatrick self-assigned this Apr 3, 2017
@zpatrick zpatrick requested review from diemonster and removed request for diemonster April 3, 2017 23:56
@zpatrick
Copy link
Contributor Author

zpatrick commented Apr 4, 2017

force merge since it's an rc

@zpatrick zpatrick merged commit 58bbce3 into master Apr 4, 2017
@zpatrick zpatrick deleted the release branch April 4, 2017 00:02
zpatrick added a commit that referenced this pull request Apr 4, 2017
* begin refactor of db layer

* update logic layer with new tag syntax

* finish job layer update

* move tag query logic to handler

* Add optional dockerconfig flag to apply command

* Ignore .tags files

* Refactor for testability

Further work needed to add more coverage.

* Add simple unit test for validateDockercfg

* Implement suggested changes from code review

Change import format
Change file mode on create dockercfg
Use pointer method receivers in MockFileIO

* Implement further changes from code review

Fix case
Pass dockercfg as argument to Apply

* Remove commands_test.go

* Remove FileIO interface and related code

* begin logic layer unit test refactor

* add env unit tests

* add job janitor and load balanacer tests. starting service tests

* add taskLogic unit tests. add populateModel tests for service unit tests

* add TravisCI automated unit testing

* remove Gitlab CI config

* remove Docker from Travis CI build

* add job logic tests

* refactorign mysql config vars

* add db config vars

* update unit tests

* re-establish mysql connections for each call

* catch 401 errors in cli. remove certificate from smoketests and cli

* add handler tests

* remove unused vendored code

* change bats to upload cert to aws

* updating bats test to use api certificate

* use certificate arn lookup in api backend

* merge request fixes

* add mysql to travis

* setup layer0 db user

* use root user in mysql setup commands

* change this to j in JobHandler

* fix formatting

* fix certificateID to certificateName

* remove hashicorp references

* add required vendored packages

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* change dir structure for smoketests (#36)

* change dir structure for smoketests

* fix readme format

* bulk list deploys. Add summary models

* remove layer0.tf

* finish json printer. add test printer

* use summary model for environment list

* Convert deploy versions to ints when comparing (#28)

* add tests cases for 2 digit version comparison

fix formatting

* optimize latest version filter function

* add callAndRead helper function into tag version test

* finish up merge to develop

* put one-liner in environment printing

* Fix JobList/Get, remove entity layer in cli (#38)

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* finish json printer. add test printer

* print service name in loadbalancer list

* fix formatting

* use quick slice iteration

* add environment summary in environment list

* add print environment summary to text printer

* update job references from Select to Get/List

* Bulk List for Services (#41)

* print service summary model in list

* use service summary model in service list

* Bulk List for Environments (#39)

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* finish json printer. add test printer

* use summary model for environment list

* put one-liner in environment printing

* fix formatting

* use quick slice iteration

* add environment summary in environment list

* add print environment summary to text printer

* update job references from Select to Get/List

* don't frontload environment slice

* Bulk List for Load Balancers (#40)

* use loadbalancer summary for list commands

* use append for loadbalancer list slice

* add loadbalancer summary in environment list

* Bulk List for Tasks (#42)

* use summary model for task list

* add test for filterTaskSummaries

* fix formatting

* Update Docs for Terraform Provider (#45) (#54)

Revise languange and note that Terraform binary is included with
Layer0 release.

* Load Balancer Healthchecks (L0)

* Force service delete (#52)

* call StopTask on service's running tasks. don't wait for service to stop before calling delete service

* increase timeouts for entity deletes

* increase wait times for resource deletion

* use a different db for each package during testing. grant admin db access to layer0 user in travis. (#57)

* Enable ghpages deploy for docs (#22)

* Exclude .python-version from git

* Add Makefile target for github pages deploy

* Update docs README

* Remove docker deploy related items

Unneeded for public-facing Github pages deployment.

* Update README

Remove unneeded info about IMS deployment.

* Serve from master /docs vs gh-pages

* Ignore documentation build output directory

* Stop tracking only build output site directory

* Move documentation source files to own directory

* Mkdocs requires separate source directory from build output directory.

* Remove unneeded .gitignore

* Update configuration for build output directory

* Fix download link in drawer (#58)

* dockercfg now included for backup/restore

* Clean up for serving from master /docs to Github pages

* Track mkdocs build output directory

* Remove unneeded reference to awscli package

* Commit new mkdocs build for serving to Github pages

* Fix for table format on Xfra docs (#61)

* Point README to Github Pages docs

* Terraform Healthchecks

* System test framework (#51)

* initial commit of system test framework

* add some todo statements

* working through test framework

* catch 'too many concurrent attemps' error in decorators

* give test packages separate databases to fix async access problems.

* use system test service.  move framework into its own package.  use terraform modules

* move sts package to its own repo

* remove sigkill catch

* add POST /health endpoint to trigger right sizer on demand

* wait for service to scale down before running right sizer

* fix formatting

* add system test readme. add comments to system test functions

* updating readme

* ignore .terraform directories

* working on docs

* fix typos

* add a note on environment acronyms

* use portable shebang

* adding system test definition  (#70)

* initial commit of system test framework

* add some todo statements

* working through test framework

* catch 'too many concurrent attemps' error in decorators

* give test packages separate databases to fix async access problems.

* use system test service.  move framework into its own package.  use terraform modules

* move sts package to its own repo

* remove sigkill catch

* add POST /health endpoint to trigger right sizer on demand

* wait for service to scale down before running right sizer

* fix formatting

* add system test readme. add comments to system test functions

* updating readme

* ignore .terraform directories

* working on docs

* fix typos

* add a note on environment acronyms

* use portable shebang

* add system test def

* compile docs into README

* fix table formatting

* fix typos

* pr fixes

* fix typos

* change setup exec dir

* add end-to-end smoketest

add MySQL dep in Dockerfile

add Travis CI config

inherit host env vars

set Makefile shell to BASH

chown smoketest

fix merge conflict

* remove smoketest dep from test target

* Add breadcrumb for unset layer0 env variable (#47)

* add latest push to api and runner release

* swap current/latest

* return error on version mismatch (#82)

* Review and update documentation for v0.9.0 (#81)

* Allow health_check block to be unspecified

* adding first pass impl

* add breadcrumb to invalid dockercfg errors

* smoketest fixes for guestbook target (#90)

* add end-to-end smoketest

add MySQL dep in Dockerfile

add Travis CI config

inherit host env vars

set Makefile shell to BASH

chown smoketest

fix merge conflict

fix cli smoketest install

fix

* Add breadcrumb for unset layer0 env variable (#47)

remove smoketest dep from test target

add jq dependency

add jq dependency

add jq dependency

fix

* Target latest deploy explicitly

* fix merge conflicts

* ignore smoketests if target branch not master

* add text printer unit tests

* Allow placementConstraints in the task definition file (#83)

- Placement constraints may now be added to task definition
(Dockerrun.aws.json) files. See
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html
for more information.

- Updated `aws` dependencies as a by-product of updating the `aws-go-sdk`
library, which is necessary for the use of placement constraints.

* fix for null healthcheck build failure

* check for memory reservation and memory in cluster scaler

* Fix mis-set private subnets environment variable

* fix merge conflict artefact

* Added Apache 2.0 license

* Tests for the terraform plugin

Closes #97

* Scheduler refactor (#145)

* run CreateTask as a job

* run create task as a job in the cli

* add scheduler notes

* fix theoretical bug

* move scheduler package to api. add container_resource and container_resource_provider

* add resource manager unit tests

* add noscale test cases

* remove notes

* add scale down logic for resource manager

* first pass at ecs cluster manager

* use backend for environment entity lookups

* add ecs resource manager

* update unit tests for resource provider

* add admin scale endpoint

* add admin scale endpoint in cli and api

* add meta output to task jobs

* return entity does not exist error when environment id lookup fails

* use better naming convention for scheduler and resource classes

* fix class names

* update create task handler unit test

* udpate startup

* add mock env scaler to logic tests

* add scaler to GetLogic

* start unit tests for cluster resource getter

* add test for getPendingServiceResources

* add GetProviders test

* finish up ecs resource manager tests

* fix NewLogic cosntructor for job tests

* add vendored deps

* remove testify vendor

* pr fixes 1

* pr fixes 2

* typo fix (#151)

closes #126

* Use tftest repo (#146)

* run CreateTask as a job

* run create task as a job in the cli

* add scheduler notes

* fix theoretical bug

* move scheduler package to api. add container_resource and container_resource_provider

* add resource manager unit tests

* add noscale test cases

* remove notes

* add scale down logic for resource manager

* first pass at ecs cluster manager

* use backend for environment entity lookups

* add ecs resource manager

* update unit tests for resource provider

* add admin scale endpoint

* add admin scale endpoint in cli and api

* add meta output to task jobs

* return entity does not exist error when environment id lookup fails

* use better naming convention for scheduler and resource classes

* fix class names

* update create task handler unit test

* udpate startup

* add mock env scaler to logic tests

* add scaler to GetLogic

* start unit tests for cluster resource getter

* add test for getPendingServiceResources

* add GetProviders test

* finish up ecs resource manager tests

* fix NewLogic cosntructor for job tests

* add vendored deps

* remove testify vendor

* pr fixes 1

* pr fixes 2

* use tftest repo. add test client wrappers for l0 and sts. merge scaling tests into a single test.

* remove .terraform dir

* add sts service health check

* take name out of WaitFor function

* rename some vars

* return error on teardown

* start task performance tests

* continue work on task performance test

* safe deref in resource manager. don't debug health check requests

* catch cluster not found error. add scheduling/gatekeeper for environment scaler

* remove debug. format

* cleanup log messages

* update tests to use ScheduleRun. Close connections in db stores on init

* check for max 10 copies in create task job

* handle patial task create failures

* fix stuff

* add retry logic to task create

* update system test readme. use debugf in test log statements

* fix typos

* Updated suggested command output to take into account shell OS (#164)

* recalculate service resource calc

* Added a new --os flag to the command to 'l0 environment create' command.
Updated tests to take into account the new flag.

* add os option to environment create. add linux and windows service ami environment variables to the api

* add dockercfg download into user data

* add ami field to environment and create environment request

* fix formatting

* fix tf file formatting

* remove debug lines from powershell user data

* add terraform plugin unit tests to unittest makefile chain

* add CONTRIBUTOR guidelines (#180)

* add CONTRIBUTOR guidelines

* doc fixes based off feedback

* fix heading caps

* Add --ami option to cli.  Add os and ami options to terraform plugin (#175)

* add os option to environment create. add linux and windows service ami environment variables to the api

* add dockercfg download into user data

* add ami field to environment and create environment request

* fix formatting

* fix tf file formatting

* remove debug lines from powershell user data

* add --ami to cli

* add os and ami to environnment resource

* add docs for --os and --ami options

* add windows system test

* fix formatting

* be explicit that ami args take an ami id

* fixup makefile

* add os to environment printer

* add api os in addDefaultTags

* readme badges update (#181)

* create task copies via jobs - don't use ecs impl

* update cli for bulk task creation

* check status codes when tasks complete

* fix int64 type issues

* update smoketests

* udpate docs for v0.10.0-rc1
zpatrick added a commit that referenced this pull request Jun 5, 2017
* Release v0.10.0-rc1 (#191) (#192)

* begin refactor of db layer

* update logic layer with new tag syntax

* finish job layer update

* move tag query logic to handler

* Add optional dockerconfig flag to apply command

* Ignore .tags files

* Refactor for testability

Further work needed to add more coverage.

* Add simple unit test for validateDockercfg

* Implement suggested changes from code review

Change import format
Change file mode on create dockercfg
Use pointer method receivers in MockFileIO

* Implement further changes from code review

Fix case
Pass dockercfg as argument to Apply

* Remove commands_test.go

* Remove FileIO interface and related code

* begin logic layer unit test refactor

* add env unit tests

* add job janitor and load balanacer tests. starting service tests

* add taskLogic unit tests. add populateModel tests for service unit tests

* add TravisCI automated unit testing

* remove Gitlab CI config

* remove Docker from Travis CI build

* add job logic tests

* refactorign mysql config vars

* add db config vars

* update unit tests

* re-establish mysql connections for each call

* catch 401 errors in cli. remove certificate from smoketests and cli

* add handler tests

* remove unused vendored code

* change bats to upload cert to aws

* updating bats test to use api certificate

* use certificate arn lookup in api backend

* merge request fixes

* add mysql to travis

* setup layer0 db user

* use root user in mysql setup commands

* change this to j in JobHandler

* fix formatting

* fix certificateID to certificateName

* remove hashicorp references

* add required vendored packages

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* change dir structure for smoketests (#36)

* change dir structure for smoketests

* fix readme format

* bulk list deploys. Add summary models

* remove layer0.tf

* finish json printer. add test printer

* use summary model for environment list

* Convert deploy versions to ints when comparing (#28)

* add tests cases for 2 digit version comparison

fix formatting

* optimize latest version filter function

* add callAndRead helper function into tag version test

* finish up merge to develop

* put one-liner in environment printing

* Fix JobList/Get, remove entity layer in cli (#38)

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* finish json printer. add test printer

* print service name in loadbalancer list

* fix formatting

* use quick slice iteration

* add environment summary in environment list

* add print environment summary to text printer

* update job references from Select to Get/List

* Bulk List for Services (#41)

* print service summary model in list

* use service summary model in service list

* Bulk List for Environments (#39)

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* finish json printer. add test printer

* use summary model for environment list

* put one-liner in environment printing

* fix formatting

* use quick slice iteration

* add environment summary in environment list

* add print environment summary to text printer

* update job references from Select to Get/List

* don't frontload environment slice

* Bulk List for Load Balancers (#40)

* use loadbalancer summary for list commands

* use append for loadbalancer list slice

* add loadbalancer summary in environment list

* Bulk List for Tasks (#42)

* use summary model for task list

* add test for filterTaskSummaries

* fix formatting

* Update Docs for Terraform Provider (#45) (#54)

Revise languange and note that Terraform binary is included with
Layer0 release.

* Load Balancer Healthchecks (L0)

* Force service delete (#52)

* call StopTask on service's running tasks. don't wait for service to stop before calling delete service

* increase timeouts for entity deletes

* increase wait times for resource deletion

* use a different db for each package during testing. grant admin db access to layer0 user in travis. (#57)

* Enable ghpages deploy for docs (#22)

* Exclude .python-version from git

* Add Makefile target for github pages deploy

* Update docs README

* Remove docker deploy related items

Unneeded for public-facing Github pages deployment.

* Update README

Remove unneeded info about IMS deployment.

* Serve from master /docs vs gh-pages

* Ignore documentation build output directory

* Stop tracking only build output site directory

* Move documentation source files to own directory

* Mkdocs requires separate source directory from build output directory.

* Remove unneeded .gitignore

* Update configuration for build output directory

* Fix download link in drawer (#58)

* dockercfg now included for backup/restore

* Clean up for serving from master /docs to Github pages

* Track mkdocs build output directory

* Remove unneeded reference to awscli package

* Commit new mkdocs build for serving to Github pages

* Fix for table format on Xfra docs (#61)

* Point README to Github Pages docs

* Terraform Healthchecks

* System test framework (#51)

* initial commit of system test framework

* add some todo statements

* working through test framework

* catch 'too many concurrent attemps' error in decorators

* give test packages separate databases to fix async access problems.

* use system test service.  move framework into its own package.  use terraform modules

* move sts package to its own repo

* remove sigkill catch

* add POST /health endpoint to trigger right sizer on demand

* wait for service to scale down before running right sizer

* fix formatting

* add system test readme. add comments to system test functions

* updating readme

* ignore .terraform directories

* working on docs

* fix typos

* add a note on environment acronyms

* use portable shebang

* adding system test definition  (#70)

* initial commit of system test framework

* add some todo statements

* working through test framework

* catch 'too many concurrent attemps' error in decorators

* give test packages separate databases to fix async access problems.

* use system test service.  move framework into its own package.  use terraform modules

* move sts package to its own repo

* remove sigkill catch

* add POST /health endpoint to trigger right sizer on demand

* wait for service to scale down before running right sizer

* fix formatting

* add system test readme. add comments to system test functions

* updating readme

* ignore .terraform directories

* working on docs

* fix typos

* add a note on environment acronyms

* use portable shebang

* add system test def

* compile docs into README

* fix table formatting

* fix typos

* pr fixes

* fix typos

* change setup exec dir

* add end-to-end smoketest

add MySQL dep in Dockerfile

add Travis CI config

inherit host env vars

set Makefile shell to BASH

chown smoketest

fix merge conflict

* remove smoketest dep from test target

* Add breadcrumb for unset layer0 env variable (#47)

* add latest push to api and runner release

* swap current/latest

* return error on version mismatch (#82)

* Review and update documentation for v0.9.0 (#81)

* Allow health_check block to be unspecified

* adding first pass impl

* add breadcrumb to invalid dockercfg errors

* smoketest fixes for guestbook target (#90)

* add end-to-end smoketest

add MySQL dep in Dockerfile

add Travis CI config

inherit host env vars

set Makefile shell to BASH

chown smoketest

fix merge conflict

fix cli smoketest install

fix

* Add breadcrumb for unset layer0 env variable (#47)

remove smoketest dep from test target

add jq dependency

add jq dependency

add jq dependency

fix

* Target latest deploy explicitly

* fix merge conflicts

* ignore smoketests if target branch not master

* add text printer unit tests

* Allow placementConstraints in the task definition file (#83)

- Placement constraints may now be added to task definition
(Dockerrun.aws.json) files. See
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html
for more information.

- Updated `aws` dependencies as a by-product of updating the `aws-go-sdk`
library, which is necessary for the use of placement constraints.

* fix for null healthcheck build failure

* check for memory reservation and memory in cluster scaler

* Fix mis-set private subnets environment variable

* fix merge conflict artefact

* Added Apache 2.0 license

* Tests for the terraform plugin

Closes #97

* Scheduler refactor (#145)

* run CreateTask as a job

* run create task as a job in the cli

* add scheduler notes

* fix theoretical bug

* move scheduler package to api. add container_resource and container_resource_provider

* add resource manager unit tests

* add noscale test cases

* remove notes

* add scale down logic for resource manager

* first pass at ecs cluster manager

* use backend for environment entity lookups

* add ecs resource manager

* update unit tests for resource provider

* add admin scale endpoint

* add admin scale endpoint in cli and api

* add meta output to task jobs

* return entity does not exist error when environment id lookup fails

* use better naming convention for scheduler and resource classes

* fix class names

* update create task handler unit test

* udpate startup

* add mock env scaler to logic tests

* add scaler to GetLogic

* start unit tests for cluster resource getter

* add test for getPendingServiceResources

* add GetProviders test

* finish up ecs resource manager tests

* fix NewLogic cosntructor for job tests

* add vendored deps

* remove testify vendor

* pr fixes 1

* pr fixes 2

* typo fix (#151)

closes #126

* Use tftest repo (#146)

* run CreateTask as a job

* run create task as a job in the cli

* add scheduler notes

* fix theoretical bug

* move scheduler package to api. add container_resource and container_resource_provider

* add resource manager unit tests

* add noscale test cases

* remove notes

* add scale down logic for resource manager

* first pass at ecs cluster manager

* use backend for environment entity lookups

* add ecs resource manager

* update unit tests for resource provider

* add admin scale endpoint

* add admin scale endpoint in cli and api

* add meta output to task jobs

* return entity does not exist error when environment id lookup fails

* use better naming convention for scheduler and resource classes

* fix class names

* update create task handler unit test

* udpate startup

* add mock env scaler to logic tests

* add scaler to GetLogic

* start unit tests for cluster resource getter

* add test for getPendingServiceResources

* add GetProviders test

* finish up ecs resource manager tests

* fix NewLogic cosntructor for job tests

* add vendored deps

* remove testify vendor

* pr fixes 1

* pr fixes 2

* use tftest repo. add test client wrappers for l0 and sts. merge scaling tests into a single test.

* remove .terraform dir

* add sts service health check

* take name out of WaitFor function

* rename some vars

* return error on teardown

* start task performance tests

* continue work on task performance test

* safe deref in resource manager. don't debug health check requests

* catch cluster not found error. add scheduling/gatekeeper for environment scaler

* remove debug. format

* cleanup log messages

* update tests to use ScheduleRun. Close connections in db stores on init

* check for max 10 copies in create task job

* handle patial task create failures

* fix stuff

* add retry logic to task create

* update system test readme. use debugf in test log statements

* fix typos

* Updated suggested command output to take into account shell OS (#164)

* recalculate service resource calc

* Added a new --os flag to the command to 'l0 environment create' command.
Updated tests to take into account the new flag.

* add os option to environment create. add linux and windows service ami environment variables to the api

* add dockercfg download into user data

* add ami field to environment and create environment request

* fix formatting

* fix tf file formatting

* remove debug lines from powershell user data

* add terraform plugin unit tests to unittest makefile chain

* add CONTRIBUTOR guidelines (#180)

* add CONTRIBUTOR guidelines

* doc fixes based off feedback

* fix heading caps

* Add --ami option to cli.  Add os and ami options to terraform plugin (#175)

* add os option to environment create. add linux and windows service ami environment variables to the api

* add dockercfg download into user data

* add ami field to environment and create environment request

* fix formatting

* fix tf file formatting

* remove debug lines from powershell user data

* add --ami to cli

* add os and ami to environnment resource

* add docs for --os and --ami options

* add windows system test

* fix formatting

* be explicit that ami args take an ami id

* fixup makefile

* add os to environment printer

* add api os in addDefaultTags

* readme badges update (#181)

* create task copies via jobs - don't use ecs impl

* update cli for bulk task creation

* check status codes when tasks complete

* fix int64 type issues

* update smoketests

* udpate docs for v0.10.0-rc1

* use simple windows image

* use terraform best practice for modules

* add environment link to handler, logic, and backend layers

* add rough draft of environment link system test

* use public/private environment names

* cleanup task and environment link tests

* add delete environment link to handler, logic, and backend layers

* update formatting

* add handler unit tests

* add link/unlink unit tests

* remove 'this' from environment manager. use wrapped ec2 IpPermission object

* remove 'this' from environment handler

* add backend tests for link/unlink environments

* Remove "Basic" prefix from client config (#200)

* standardize makefile conventions for build/release

* fix format

* add binpack strategy to start task/service. run retries on env link system test

* remove sg from private lbs (#199)

* add tag dynamo db

* add job dynamo db

* add dynamo config to setup. use empty slice instead of nil in tags and jobs

* fix logic tests

* remove mysql from travis

* fix vendored deps

* update smoketests. nil map check in task job

* check nil entry in job meta

* fix typos and formatting

* cleanup system tests to get them running again

* remove comments

* fix typos

* Set 200GiB root vol size for windows instances (#205)

* set root vol size on windows

* add 200GiB vol to windows instances

* remove upsertTagf

* rm debug statement

* CLI changes to support environment linking

* Fixed compile issue and updated printer text test

* Fixed issues as a result of a code review

* Fixed typo unink -> unlink

* Don't return nil on env link errors (#209)

* remove upsertTagf

* rm debug statement

* CLI changes to support environment linking

* return bugs from env link

* fix return nil statements

* fix link->unlink typo

* Link environments in Terraform plugin (#214)

closes #185 

* Terraform plugin: environmentLinkCreate/Read/Delete

* Add resourceLayer0EnvironmentLink to provider resources

* Align plugin with CLI

* code review updates

* add cli docs for windows and environment link/unlink

* cleanup some wording

* fix typos

* add unlink assertions

* finish up envlink test

* add environment link terraform plugin tests

* fixes based on PR feedback

* Run smoketests locally, update docs accordingly (#221)

* add environment link terraform plugin tests

* fixes based on PR feedback

* minor fix for local smoketest config

* Add note to clear up confusion about load balancer ports and health checks (#224)

* Add note to clear up confusion about load balancer ports and health checks

* feedback

* instance -> service

* only set consistent read after write operations

* use field in consistent calls

* add some batch testing

* remove comment

* add tag tests

* update interface

* update tests, tag store usage

* update dynamo tables in l0-setup

* fix delete tag

* remove last updated from job

* remove last updated column

* change job lifetime to 1 hour

* add retry logic to job load (#238)

* Setup refactor (#234)

* initial commit

* add some terraform configurations

* add some stuff

* add init and apply

* fix gitignore

* add tag dynamo db

* add job dynamo db

* add dynamo config to setup. use empty slice instead of nil in tags and jobs

* fix logic tests

* remove mysql from travis

* fix vendored deps

* update smoketests. nil map check in task job

* check nil entry in job meta

* fix typos and formatting

* cleanup system tests to get them running again

* add init function

* use vars directly into module

* adding api tf module

* adding somemore

* update init. add plan

* add list. add version input

* add list

* add push/pull

* cleanpu items

* split out instance commands into their own files

* update aws deps. add aws package to setup

* add log levels

* add dockercfg flag to init

* add endpoint vars

* use dockercfg.json instead of dockercfg. cleanup main module input syntax

* format logger. make input scanning generic for vpc_id input

* set main.Version during release. use version in main module input defaults

* use layer0 as module. add input variable descriptions

* getting started on splitting out layer0 submodules

* starting to add api components. switch apply --wait flag to apply --quick

* configure vpc settings

* use single nat gateway in vpc

* rename 'core' module resources to 'mod'

* add some permissions. add upgrade cmd

* add stuff

* add variable to api deploy. add terraform version validation. update input descriptions

* add usage notes to cli flags

* add cli helpers to testutils

* change module org

* add readme

* update policies

* add set command, update permissions

* add some more unit tests

* only use first line of output in terraform version

* remove envvars from init

* grant delete/remove to iam roles

* use terraform hacks to get existing vpc to work

* make local/remote listing optional

* add some cleanup to setup cli. use testutils for cli command package testing

* update setup docs

* revise docs

* update vendor deps

* update release process for setup

* cleanup doc typos. remove default for password

* update docs for installing in existing vpc

* add semver check on upgrade

* place db entry first in create job request

* pr fixes

* typo fixes

* Task logs refactor (#241)

* Check if stream has is empty before attempting to retrieve from it

* Removed date filtering when making GetLogEvents call

* Fixed failing test TestGetLogs

* add endpoint env var helper. add breadcrumb for init error (#249)

* Overhaul Guides and Walkthroughs (#248)

* Walkthrough: Deployment 1 (#176)

Closes #170

Contains the first part of the new three-part walkthrough with Layer0 and/or Terraform - how to deploy a simple Guestbook application.

* Walkthrough: Deployment 2 (#171) (#203)

* Initial set of changes for Terraform beyond Layer0 documentation

* Fixed typos, styling and consistency issues mentioned in the review

* Updated layer0-examples links from guestbook-db to terraform-beyond-layer0

* Update guide for 'One off task' guide

* Fixed typos and removed html from markdown

* Updated Terraform beyond Layer0 guide with Remote backends and making changes to Terraform configuration

* Updated it with best practices around remote backend and terraform configuration file structure

* layer0 walkthrough for section 2

* reflect terraform varname in guestbook redis address

* remove accidental code block

* terraform walkthrough for section 2

* fix zpatrick's feedback, mostly removing suggestions to carry along previous .tfstate files

* add seshi's interpolation link suggestion

* Added new documentation for Terraform beyond Layer0 (#184)

Updated guides
 - Terraform beyond Layer0
 - One-off Tasks

* Walkthrough: Deployment 3 (#247)

- created part three of the walkthrough, deploying Consul + Redis + Guestbook
- broke walkthrough up into three smaller parts, plus an introduction
- changed references to `layer0-examples` to `guides` to reflect the new name of that repository
- retooled walkthrough to use Terraform modules

* remove d.ims.io reference

* update internal Slack channel

* fix walkthrough issues

* release 10-rc3
zpatrick added a commit that referenced this pull request Jun 12, 2017
* Release v0.10.0-rc1 (#191) (#192)

* begin refactor of db layer

* update logic layer with new tag syntax

* finish job layer update

* move tag query logic to handler

* Add optional dockerconfig flag to apply command

* Ignore .tags files

* Refactor for testability

Further work needed to add more coverage.

* Add simple unit test for validateDockercfg

* Implement suggested changes from code review

Change import format
Change file mode on create dockercfg
Use pointer method receivers in MockFileIO

* Implement further changes from code review

Fix case
Pass dockercfg as argument to Apply

* Remove commands_test.go

* Remove FileIO interface and related code

* begin logic layer unit test refactor

* add env unit tests

* add job janitor and load balanacer tests. starting service tests

* add taskLogic unit tests. add populateModel tests for service unit tests

* add TravisCI automated unit testing

* remove Gitlab CI config

* remove Docker from Travis CI build

* add job logic tests

* refactorign mysql config vars

* add db config vars

* update unit tests

* re-establish mysql connections for each call

* catch 401 errors in cli. remove certificate from smoketests and cli

* add handler tests

* remove unused vendored code

* change bats to upload cert to aws

* updating bats test to use api certificate

* use certificate arn lookup in api backend

* merge request fixes

* add mysql to travis

* setup layer0 db user

* use root user in mysql setup commands

* change this to j in JobHandler

* fix formatting

* fix certificateID to certificateName

* remove hashicorp references

* add required vendored packages

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* change dir structure for smoketests (#36)

* change dir structure for smoketests

* fix readme format

* bulk list deploys. Add summary models

* remove layer0.tf

* finish json printer. add test printer

* use summary model for environment list

* Convert deploy versions to ints when comparing (#28)

* add tests cases for 2 digit version comparison

fix formatting

* optimize latest version filter function

* add callAndRead helper function into tag version test

* finish up merge to develop

* put one-liner in environment printing

* Fix JobList/Get, remove entity layer in cli (#38)

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* finish json printer. add test printer

* print service name in loadbalancer list

* fix formatting

* use quick slice iteration

* add environment summary in environment list

* add print environment summary to text printer

* update job references from Select to Get/List

* Bulk List for Services (#41)

* print service summary model in list

* use service summary model in service list

* Bulk List for Environments (#39)

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* finish json printer. add test printer

* use summary model for environment list

* put one-liner in environment printing

* fix formatting

* use quick slice iteration

* add environment summary in environment list

* add print environment summary to text printer

* update job references from Select to Get/List

* don't frontload environment slice

* Bulk List for Load Balancers (#40)

* use loadbalancer summary for list commands

* use append for loadbalancer list slice

* add loadbalancer summary in environment list

* Bulk List for Tasks (#42)

* use summary model for task list

* add test for filterTaskSummaries

* fix formatting

* Update Docs for Terraform Provider (#45) (#54)

Revise languange and note that Terraform binary is included with
Layer0 release.

* Load Balancer Healthchecks (L0)

* Force service delete (#52)

* call StopTask on service's running tasks. don't wait for service to stop before calling delete service

* increase timeouts for entity deletes

* increase wait times for resource deletion

* use a different db for each package during testing. grant admin db access to layer0 user in travis. (#57)

* Enable ghpages deploy for docs (#22)

* Exclude .python-version from git

* Add Makefile target for github pages deploy

* Update docs README

* Remove docker deploy related items

Unneeded for public-facing Github pages deployment.

* Update README

Remove unneeded info about IMS deployment.

* Serve from master /docs vs gh-pages

* Ignore documentation build output directory

* Stop tracking only build output site directory

* Move documentation source files to own directory

* Mkdocs requires separate source directory from build output directory.

* Remove unneeded .gitignore

* Update configuration for build output directory

* Fix download link in drawer (#58)

* dockercfg now included for backup/restore

* Clean up for serving from master /docs to Github pages

* Track mkdocs build output directory

* Remove unneeded reference to awscli package

* Commit new mkdocs build for serving to Github pages

* Fix for table format on Xfra docs (#61)

* Point README to Github Pages docs

* Terraform Healthchecks

* System test framework (#51)

* initial commit of system test framework

* add some todo statements

* working through test framework

* catch 'too many concurrent attemps' error in decorators

* give test packages separate databases to fix async access problems.

* use system test service.  move framework into its own package.  use terraform modules

* move sts package to its own repo

* remove sigkill catch

* add POST /health endpoint to trigger right sizer on demand

* wait for service to scale down before running right sizer

* fix formatting

* add system test readme. add comments to system test functions

* updating readme

* ignore .terraform directories

* working on docs

* fix typos

* add a note on environment acronyms

* use portable shebang

* adding system test definition  (#70)

* initial commit of system test framework

* add some todo statements

* working through test framework

* catch 'too many concurrent attemps' error in decorators

* give test packages separate databases to fix async access problems.

* use system test service.  move framework into its own package.  use terraform modules

* move sts package to its own repo

* remove sigkill catch

* add POST /health endpoint to trigger right sizer on demand

* wait for service to scale down before running right sizer

* fix formatting

* add system test readme. add comments to system test functions

* updating readme

* ignore .terraform directories

* working on docs

* fix typos

* add a note on environment acronyms

* use portable shebang

* add system test def

* compile docs into README

* fix table formatting

* fix typos

* pr fixes

* fix typos

* change setup exec dir

* add end-to-end smoketest

add MySQL dep in Dockerfile

add Travis CI config

inherit host env vars

set Makefile shell to BASH

chown smoketest

fix merge conflict

* remove smoketest dep from test target

* Add breadcrumb for unset layer0 env variable (#47)

* add latest push to api and runner release

* swap current/latest

* return error on version mismatch (#82)

* Review and update documentation for v0.9.0 (#81)

* Allow health_check block to be unspecified

* adding first pass impl

* add breadcrumb to invalid dockercfg errors

* smoketest fixes for guestbook target (#90)

* add end-to-end smoketest

add MySQL dep in Dockerfile

add Travis CI config

inherit host env vars

set Makefile shell to BASH

chown smoketest

fix merge conflict

fix cli smoketest install

fix

* Add breadcrumb for unset layer0 env variable (#47)

remove smoketest dep from test target

add jq dependency

add jq dependency

add jq dependency

fix

* Target latest deploy explicitly

* fix merge conflicts

* ignore smoketests if target branch not master

* add text printer unit tests

* Allow placementConstraints in the task definition file (#83)

- Placement constraints may now be added to task definition
(Dockerrun.aws.json) files. See
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html
for more information.

- Updated `aws` dependencies as a by-product of updating the `aws-go-sdk`
library, which is necessary for the use of placement constraints.

* fix for null healthcheck build failure

* check for memory reservation and memory in cluster scaler

* Fix mis-set private subnets environment variable

* fix merge conflict artefact

* Added Apache 2.0 license

* Tests for the terraform plugin

Closes #97

* Scheduler refactor (#145)

* run CreateTask as a job

* run create task as a job in the cli

* add scheduler notes

* fix theoretical bug

* move scheduler package to api. add container_resource and container_resource_provider

* add resource manager unit tests

* add noscale test cases

* remove notes

* add scale down logic for resource manager

* first pass at ecs cluster manager

* use backend for environment entity lookups

* add ecs resource manager

* update unit tests for resource provider

* add admin scale endpoint

* add admin scale endpoint in cli and api

* add meta output to task jobs

* return entity does not exist error when environment id lookup fails

* use better naming convention for scheduler and resource classes

* fix class names

* update create task handler unit test

* udpate startup

* add mock env scaler to logic tests

* add scaler to GetLogic

* start unit tests for cluster resource getter

* add test for getPendingServiceResources

* add GetProviders test

* finish up ecs resource manager tests

* fix NewLogic cosntructor for job tests

* add vendored deps

* remove testify vendor

* pr fixes 1

* pr fixes 2

* typo fix (#151)

closes #126

* Use tftest repo (#146)

* run CreateTask as a job

* run create task as a job in the cli

* add scheduler notes

* fix theoretical bug

* move scheduler package to api. add container_resource and container_resource_provider

* add resource manager unit tests

* add noscale test cases

* remove notes

* add scale down logic for resource manager

* first pass at ecs cluster manager

* use backend for environment entity lookups

* add ecs resource manager

* update unit tests for resource provider

* add admin scale endpoint

* add admin scale endpoint in cli and api

* add meta output to task jobs

* return entity does not exist error when environment id lookup fails

* use better naming convention for scheduler and resource classes

* fix class names

* update create task handler unit test

* udpate startup

* add mock env scaler to logic tests

* add scaler to GetLogic

* start unit tests for cluster resource getter

* add test for getPendingServiceResources

* add GetProviders test

* finish up ecs resource manager tests

* fix NewLogic cosntructor for job tests

* add vendored deps

* remove testify vendor

* pr fixes 1

* pr fixes 2

* use tftest repo. add test client wrappers for l0 and sts. merge scaling tests into a single test.

* remove .terraform dir

* add sts service health check

* take name out of WaitFor function

* rename some vars

* return error on teardown

* start task performance tests

* continue work on task performance test

* safe deref in resource manager. don't debug health check requests

* catch cluster not found error. add scheduling/gatekeeper for environment scaler

* remove debug. format

* cleanup log messages

* update tests to use ScheduleRun. Close connections in db stores on init

* check for max 10 copies in create task job

* handle patial task create failures

* fix stuff

* add retry logic to task create

* update system test readme. use debugf in test log statements

* fix typos

* Updated suggested command output to take into account shell OS (#164)

* recalculate service resource calc

* Added a new --os flag to the command to 'l0 environment create' command.
Updated tests to take into account the new flag.

* add os option to environment create. add linux and windows service ami environment variables to the api

* add dockercfg download into user data

* add ami field to environment and create environment request

* fix formatting

* fix tf file formatting

* remove debug lines from powershell user data

* add terraform plugin unit tests to unittest makefile chain

* add CONTRIBUTOR guidelines (#180)

* add CONTRIBUTOR guidelines

* doc fixes based off feedback

* fix heading caps

* Add --ami option to cli.  Add os and ami options to terraform plugin (#175)

* add os option to environment create. add linux and windows service ami environment variables to the api

* add dockercfg download into user data

* add ami field to environment and create environment request

* fix formatting

* fix tf file formatting

* remove debug lines from powershell user data

* add --ami to cli

* add os and ami to environnment resource

* add docs for --os and --ami options

* add windows system test

* fix formatting

* be explicit that ami args take an ami id

* fixup makefile

* add os to environment printer

* add api os in addDefaultTags

* readme badges update (#181)

* create task copies via jobs - don't use ecs impl

* update cli for bulk task creation

* check status codes when tasks complete

* fix int64 type issues

* update smoketests

* udpate docs for v0.10.0-rc1

* use simple windows image

* use terraform best practice for modules

* add environment link to handler, logic, and backend layers

* add rough draft of environment link system test

* use public/private environment names

* cleanup task and environment link tests

* add delete environment link to handler, logic, and backend layers

* update formatting

* add handler unit tests

* add link/unlink unit tests

* remove 'this' from environment manager. use wrapped ec2 IpPermission object

* remove 'this' from environment handler

* add backend tests for link/unlink environments

* Remove "Basic" prefix from client config (#200)

* standardize makefile conventions for build/release

* fix format

* add binpack strategy to start task/service. run retries on env link system test

* remove sg from private lbs (#199)

* add tag dynamo db

* add job dynamo db

* add dynamo config to setup. use empty slice instead of nil in tags and jobs

* fix logic tests

* remove mysql from travis

* fix vendored deps

* update smoketests. nil map check in task job

* check nil entry in job meta

* fix typos and formatting

* cleanup system tests to get them running again

* remove comments

* fix typos

* Set 200GiB root vol size for windows instances (#205)

* set root vol size on windows

* add 200GiB vol to windows instances

* remove upsertTagf

* rm debug statement

* CLI changes to support environment linking

* Fixed compile issue and updated printer text test

* Fixed issues as a result of a code review

* Fixed typo unink -> unlink

* Don't return nil on env link errors (#209)

* remove upsertTagf

* rm debug statement

* CLI changes to support environment linking

* return bugs from env link

* fix return nil statements

* fix link->unlink typo

* Link environments in Terraform plugin (#214)

closes #185 

* Terraform plugin: environmentLinkCreate/Read/Delete

* Add resourceLayer0EnvironmentLink to provider resources

* Align plugin with CLI

* code review updates

* add cli docs for windows and environment link/unlink

* cleanup some wording

* fix typos

* add unlink assertions

* finish up envlink test

* add environment link terraform plugin tests

* fixes based on PR feedback

* Run smoketests locally, update docs accordingly (#221)

* add environment link terraform plugin tests

* fixes based on PR feedback

* minor fix for local smoketest config

* Add note to clear up confusion about load balancer ports and health checks (#224)

* Add note to clear up confusion about load balancer ports and health checks

* feedback

* instance -> service

* only set consistent read after write operations

* use field in consistent calls

* add some batch testing

* remove comment

* add tag tests

* update interface

* update tests, tag store usage

* update dynamo tables in l0-setup

* fix delete tag

* remove last updated from job

* remove last updated column

* change job lifetime to 1 hour

* add retry logic to job load (#238)

* Setup refactor (#234)

* initial commit

* add some terraform configurations

* add some stuff

* add init and apply

* fix gitignore

* add tag dynamo db

* add job dynamo db

* add dynamo config to setup. use empty slice instead of nil in tags and jobs

* fix logic tests

* remove mysql from travis

* fix vendored deps

* update smoketests. nil map check in task job

* check nil entry in job meta

* fix typos and formatting

* cleanup system tests to get them running again

* add init function

* use vars directly into module

* adding api tf module

* adding somemore

* update init. add plan

* add list. add version input

* add list

* add push/pull

* cleanpu items

* split out instance commands into their own files

* update aws deps. add aws package to setup

* add log levels

* add dockercfg flag to init

* add endpoint vars

* use dockercfg.json instead of dockercfg. cleanup main module input syntax

* format logger. make input scanning generic for vpc_id input

* set main.Version during release. use version in main module input defaults

* use layer0 as module. add input variable descriptions

* getting started on splitting out layer0 submodules

* starting to add api components. switch apply --wait flag to apply --quick

* configure vpc settings

* use single nat gateway in vpc

* rename 'core' module resources to 'mod'

* add some permissions. add upgrade cmd

* add stuff

* add variable to api deploy. add terraform version validation. update input descriptions

* add usage notes to cli flags

* add cli helpers to testutils

* change module org

* add readme

* update policies

* add set command, update permissions

* add some more unit tests

* only use first line of output in terraform version

* remove envvars from init

* grant delete/remove to iam roles

* use terraform hacks to get existing vpc to work

* make local/remote listing optional

* add some cleanup to setup cli. use testutils for cli command package testing

* update setup docs

* revise docs

* update vendor deps

* update release process for setup

* cleanup doc typos. remove default for password

* update docs for installing in existing vpc

* add semver check on upgrade

* place db entry first in create job request

* pr fixes

* typo fixes

* Task logs refactor (#241)

* Check if stream has is empty before attempting to retrieve from it

* Removed date filtering when making GetLogEvents call

* Fixed failing test TestGetLogs

* add endpoint env var helper. add breadcrumb for init error (#249)

* Overhaul Guides and Walkthroughs (#248)

* Walkthrough: Deployment 1 (#176)

Closes #170

Contains the first part of the new three-part walkthrough with Layer0 and/or Terraform - how to deploy a simple Guestbook application.

* Walkthrough: Deployment 2 (#171) (#203)

* Initial set of changes for Terraform beyond Layer0 documentation

* Fixed typos, styling and consistency issues mentioned in the review

* Updated layer0-examples links from guestbook-db to terraform-beyond-layer0

* Update guide for 'One off task' guide

* Fixed typos and removed html from markdown

* Updated Terraform beyond Layer0 guide with Remote backends and making changes to Terraform configuration

* Updated it with best practices around remote backend and terraform configuration file structure

* layer0 walkthrough for section 2

* reflect terraform varname in guestbook redis address

* remove accidental code block

* terraform walkthrough for section 2

* fix zpatrick's feedback, mostly removing suggestions to carry along previous .tfstate files

* add seshi's interpolation link suggestion

* Added new documentation for Terraform beyond Layer0 (#184)

Updated guides
 - Terraform beyond Layer0
 - One-off Tasks

* Walkthrough: Deployment 3 (#247)

- created part three of the walkthrough, deploying Consul + Redis + Guestbook
- broke walkthrough up into three smaller parts, plus an introduction
- changed references to `layer0-examples` to `guides` to reflect the new name of that repository
- retooled walkthrough to use Terraform modules

* remove d.ims.io reference

* update internal Slack channel

* fix walkthrough issues

* update release notes. update docs
tlake pushed a commit that referenced this pull request Jun 14, 2017
* Release v0.10.0-rc1 (#191) (#192)

* begin refactor of db layer

* update logic layer with new tag syntax

* finish job layer update

* move tag query logic to handler

* Add optional dockerconfig flag to apply command

* Ignore .tags files

* Refactor for testability

Further work needed to add more coverage.

* Add simple unit test for validateDockercfg

* Implement suggested changes from code review

Change import format
Change file mode on create dockercfg
Use pointer method receivers in MockFileIO

* Implement further changes from code review

Fix case
Pass dockercfg as argument to Apply

* Remove commands_test.go

* Remove FileIO interface and related code

* begin logic layer unit test refactor

* add env unit tests

* add job janitor and load balanacer tests. starting service tests

* add taskLogic unit tests. add populateModel tests for service unit tests

* add TravisCI automated unit testing

* remove Gitlab CI config

* remove Docker from Travis CI build

* add job logic tests

* refactorign mysql config vars

* add db config vars

* update unit tests

* re-establish mysql connections for each call

* catch 401 errors in cli. remove certificate from smoketests and cli

* add handler tests

* remove unused vendored code

* change bats to upload cert to aws

* updating bats test to use api certificate

* use certificate arn lookup in api backend

* merge request fixes

* add mysql to travis

* setup layer0 db user

* use root user in mysql setup commands

* change this to j in JobHandler

* fix formatting

* fix certificateID to certificateName

* remove hashicorp references

* add required vendored packages

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* change dir structure for smoketests (#36)

* change dir structure for smoketests

* fix readme format

* bulk list deploys. Add summary models

* remove layer0.tf

* finish json printer. add test printer

* use summary model for environment list

* Convert deploy versions to ints when comparing (#28)

* add tests cases for 2 digit version comparison

fix formatting

* optimize latest version filter function

* add callAndRead helper function into tag version test

* finish up merge to develop

* put one-liner in environment printing

* Fix JobList/Get, remove entity layer in cli (#38)

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* finish json printer. add test printer

* print service name in loadbalancer list

* fix formatting

* use quick slice iteration

* add environment summary in environment list

* add print environment summary to text printer

* update job references from Select to Get/List

* Bulk List for Services (#41)

* print service summary model in list

* use service summary model in service list

* Bulk List for Environments (#39)

* bulk list deploys. Add summary models

* remove layer0.tf

* remove entity layer from cli, print specific entities in Printer interface

* finish json printer. add test printer

* use summary model for environment list

* put one-liner in environment printing

* fix formatting

* use quick slice iteration

* add environment summary in environment list

* add print environment summary to text printer

* update job references from Select to Get/List

* don't frontload environment slice

* Bulk List for Load Balancers (#40)

* use loadbalancer summary for list commands

* use append for loadbalancer list slice

* add loadbalancer summary in environment list

* Bulk List for Tasks (#42)

* use summary model for task list

* add test for filterTaskSummaries

* fix formatting

* Update Docs for Terraform Provider (#45) (#54)

Revise languange and note that Terraform binary is included with
Layer0 release.

* Load Balancer Healthchecks (L0)

* Force service delete (#52)

* call StopTask on service's running tasks. don't wait for service to stop before calling delete service

* increase timeouts for entity deletes

* increase wait times for resource deletion

* use a different db for each package during testing. grant admin db access to layer0 user in travis. (#57)

* Enable ghpages deploy for docs (#22)

* Exclude .python-version from git

* Add Makefile target for github pages deploy

* Update docs README

* Remove docker deploy related items

Unneeded for public-facing Github pages deployment.

* Update README

Remove unneeded info about IMS deployment.

* Serve from master /docs vs gh-pages

* Ignore documentation build output directory

* Stop tracking only build output site directory

* Move documentation source files to own directory

* Mkdocs requires separate source directory from build output directory.

* Remove unneeded .gitignore

* Update configuration for build output directory

* Fix download link in drawer (#58)

* dockercfg now included for backup/restore

* Clean up for serving from master /docs to Github pages

* Track mkdocs build output directory

* Remove unneeded reference to awscli package

* Commit new mkdocs build for serving to Github pages

* Fix for table format on Xfra docs (#61)

* Point README to Github Pages docs

* Terraform Healthchecks

* System test framework (#51)

* initial commit of system test framework

* add some todo statements

* working through test framework

* catch 'too many concurrent attemps' error in decorators

* give test packages separate databases to fix async access problems.

* use system test service.  move framework into its own package.  use terraform modules

* move sts package to its own repo

* remove sigkill catch

* add POST /health endpoint to trigger right sizer on demand

* wait for service to scale down before running right sizer

* fix formatting

* add system test readme. add comments to system test functions

* updating readme

* ignore .terraform directories

* working on docs

* fix typos

* add a note on environment acronyms

* use portable shebang

* adding system test definition  (#70)

* initial commit of system test framework

* add some todo statements

* working through test framework

* catch 'too many concurrent attemps' error in decorators

* give test packages separate databases to fix async access problems.

* use system test service.  move framework into its own package.  use terraform modules

* move sts package to its own repo

* remove sigkill catch

* add POST /health endpoint to trigger right sizer on demand

* wait for service to scale down before running right sizer

* fix formatting

* add system test readme. add comments to system test functions

* updating readme

* ignore .terraform directories

* working on docs

* fix typos

* add a note on environment acronyms

* use portable shebang

* add system test def

* compile docs into README

* fix table formatting

* fix typos

* pr fixes

* fix typos

* change setup exec dir

* add end-to-end smoketest

add MySQL dep in Dockerfile

add Travis CI config

inherit host env vars

set Makefile shell to BASH

chown smoketest

fix merge conflict

* remove smoketest dep from test target

* Add breadcrumb for unset layer0 env variable (#47)

* add latest push to api and runner release

* swap current/latest

* return error on version mismatch (#82)

* Review and update documentation for v0.9.0 (#81)

* Allow health_check block to be unspecified

* adding first pass impl

* add breadcrumb to invalid dockercfg errors

* smoketest fixes for guestbook target (#90)

* add end-to-end smoketest

add MySQL dep in Dockerfile

add Travis CI config

inherit host env vars

set Makefile shell to BASH

chown smoketest

fix merge conflict

fix cli smoketest install

fix

* Add breadcrumb for unset layer0 env variable (#47)

remove smoketest dep from test target

add jq dependency

add jq dependency

add jq dependency

fix

* Target latest deploy explicitly

* fix merge conflicts

* ignore smoketests if target branch not master

* add text printer unit tests

* Allow placementConstraints in the task definition file (#83)

- Placement constraints may now be added to task definition
(Dockerrun.aws.json) files. See
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html
for more information.

- Updated `aws` dependencies as a by-product of updating the `aws-go-sdk`
library, which is necessary for the use of placement constraints.

* fix for null healthcheck build failure

* check for memory reservation and memory in cluster scaler

* Fix mis-set private subnets environment variable

* fix merge conflict artefact

* Added Apache 2.0 license

* Tests for the terraform plugin

Closes #97

* Scheduler refactor (#145)

* run CreateTask as a job

* run create task as a job in the cli

* add scheduler notes

* fix theoretical bug

* move scheduler package to api. add container_resource and container_resource_provider

* add resource manager unit tests

* add noscale test cases

* remove notes

* add scale down logic for resource manager

* first pass at ecs cluster manager

* use backend for environment entity lookups

* add ecs resource manager

* update unit tests for resource provider

* add admin scale endpoint

* add admin scale endpoint in cli and api

* add meta output to task jobs

* return entity does not exist error when environment id lookup fails

* use better naming convention for scheduler and resource classes

* fix class names

* update create task handler unit test

* udpate startup

* add mock env scaler to logic tests

* add scaler to GetLogic

* start unit tests for cluster resource getter

* add test for getPendingServiceResources

* add GetProviders test

* finish up ecs resource manager tests

* fix NewLogic cosntructor for job tests

* add vendored deps

* remove testify vendor

* pr fixes 1

* pr fixes 2

* typo fix (#151)

closes #126

* Use tftest repo (#146)

* run CreateTask as a job

* run create task as a job in the cli

* add scheduler notes

* fix theoretical bug

* move scheduler package to api. add container_resource and container_resource_provider

* add resource manager unit tests

* add noscale test cases

* remove notes

* add scale down logic for resource manager

* first pass at ecs cluster manager

* use backend for environment entity lookups

* add ecs resource manager

* update unit tests for resource provider

* add admin scale endpoint

* add admin scale endpoint in cli and api

* add meta output to task jobs

* return entity does not exist error when environment id lookup fails

* use better naming convention for scheduler and resource classes

* fix class names

* update create task handler unit test

* udpate startup

* add mock env scaler to logic tests

* add scaler to GetLogic

* start unit tests for cluster resource getter

* add test for getPendingServiceResources

* add GetProviders test

* finish up ecs resource manager tests

* fix NewLogic cosntructor for job tests

* add vendored deps

* remove testify vendor

* pr fixes 1

* pr fixes 2

* use tftest repo. add test client wrappers for l0 and sts. merge scaling tests into a single test.

* remove .terraform dir

* add sts service health check

* take name out of WaitFor function

* rename some vars

* return error on teardown

* start task performance tests

* continue work on task performance test

* safe deref in resource manager. don't debug health check requests

* catch cluster not found error. add scheduling/gatekeeper for environment scaler

* remove debug. format

* cleanup log messages

* update tests to use ScheduleRun. Close connections in db stores on init

* check for max 10 copies in create task job

* handle patial task create failures

* fix stuff

* add retry logic to task create

* update system test readme. use debugf in test log statements

* fix typos

* Updated suggested command output to take into account shell OS (#164)

* recalculate service resource calc

* Added a new --os flag to the command to 'l0 environment create' command.
Updated tests to take into account the new flag.

* add os option to environment create. add linux and windows service ami environment variables to the api

* add dockercfg download into user data

* add ami field to environment and create environment request

* fix formatting

* fix tf file formatting

* remove debug lines from powershell user data

* add terraform plugin unit tests to unittest makefile chain

* add CONTRIBUTOR guidelines (#180)

* add CONTRIBUTOR guidelines

* doc fixes based off feedback

* fix heading caps

* Add --ami option to cli.  Add os and ami options to terraform plugin (#175)

* add os option to environment create. add linux and windows service ami environment variables to the api

* add dockercfg download into user data

* add ami field to environment and create environment request

* fix formatting

* fix tf file formatting

* remove debug lines from powershell user data

* add --ami to cli

* add os and ami to environnment resource

* add docs for --os and --ami options

* add windows system test

* fix formatting

* be explicit that ami args take an ami id

* fixup makefile

* add os to environment printer

* add api os in addDefaultTags

* readme badges update (#181)

* create task copies via jobs - don't use ecs impl

* update cli for bulk task creation

* check status codes when tasks complete

* fix int64 type issues

* update smoketests

* udpate docs for v0.10.0-rc1

* use simple windows image

* use terraform best practice for modules

* add environment link to handler, logic, and backend layers

* add rough draft of environment link system test

* use public/private environment names

* cleanup task and environment link tests

* add delete environment link to handler, logic, and backend layers

* update formatting

* add handler unit tests

* add link/unlink unit tests

* remove 'this' from environment manager. use wrapped ec2 IpPermission object

* remove 'this' from environment handler

* add backend tests for link/unlink environments

* Remove "Basic" prefix from client config (#200)

* standardize makefile conventions for build/release

* fix format

* add binpack strategy to start task/service. run retries on env link system test

* remove sg from private lbs (#199)

* add tag dynamo db

* add job dynamo db

* add dynamo config to setup. use empty slice instead of nil in tags and jobs

* fix logic tests

* remove mysql from travis

* fix vendored deps

* update smoketests. nil map check in task job

* check nil entry in job meta

* fix typos and formatting

* cleanup system tests to get them running again

* remove comments

* fix typos

* Set 200GiB root vol size for windows instances (#205)

* set root vol size on windows

* add 200GiB vol to windows instances

* remove upsertTagf

* rm debug statement

* CLI changes to support environment linking

* Fixed compile issue and updated printer text test

* Fixed issues as a result of a code review

* Fixed typo unink -> unlink

* Don't return nil on env link errors (#209)

* remove upsertTagf

* rm debug statement

* CLI changes to support environment linking

* return bugs from env link

* fix return nil statements

* fix link->unlink typo

* Link environments in Terraform plugin (#214)

closes #185 

* Terraform plugin: environmentLinkCreate/Read/Delete

* Add resourceLayer0EnvironmentLink to provider resources

* Align plugin with CLI

* code review updates

* add cli docs for windows and environment link/unlink

* cleanup some wording

* fix typos

* add unlink assertions

* finish up envlink test

* add environment link terraform plugin tests

* fixes based on PR feedback

* Run smoketests locally, update docs accordingly (#221)

* add environment link terraform plugin tests

* fixes based on PR feedback

* minor fix for local smoketest config

* Add note to clear up confusion about load balancer ports and health checks (#224)

* Add note to clear up confusion about load balancer ports and health checks

* feedback

* instance -> service

* only set consistent read after write operations

* use field in consistent calls

* add some batch testing

* remove comment

* add tag tests

* update interface

* update tests, tag store usage

* update dynamo tables in l0-setup

* fix delete tag

* remove last updated from job

* remove last updated column

* change job lifetime to 1 hour

* add retry logic to job load (#238)

* Setup refactor (#234)

* initial commit

* add some terraform configurations

* add some stuff

* add init and apply

* fix gitignore

* add tag dynamo db

* add job dynamo db

* add dynamo config to setup. use empty slice instead of nil in tags and jobs

* fix logic tests

* remove mysql from travis

* fix vendored deps

* update smoketests. nil map check in task job

* check nil entry in job meta

* fix typos and formatting

* cleanup system tests to get them running again

* add init function

* use vars directly into module

* adding api tf module

* adding somemore

* update init. add plan

* add list. add version input

* add list

* add push/pull

* cleanpu items

* split out instance commands into their own files

* update aws deps. add aws package to setup

* add log levels

* add dockercfg flag to init

* add endpoint vars

* use dockercfg.json instead of dockercfg. cleanup main module input syntax

* format logger. make input scanning generic for vpc_id input

* set main.Version during release. use version in main module input defaults

* use layer0 as module. add input variable descriptions

* getting started on splitting out layer0 submodules

* starting to add api components. switch apply --wait flag to apply --quick

* configure vpc settings

* use single nat gateway in vpc

* rename 'core' module resources to 'mod'

* add some permissions. add upgrade cmd

* add stuff

* add variable to api deploy. add terraform version validation. update input descriptions

* add usage notes to cli flags

* add cli helpers to testutils

* change module org

* add readme

* update policies

* add set command, update permissions

* add some more unit tests

* only use first line of output in terraform version

* remove envvars from init

* grant delete/remove to iam roles

* use terraform hacks to get existing vpc to work

* make local/remote listing optional

* add some cleanup to setup cli. use testutils for cli command package testing

* update setup docs

* revise docs

* update vendor deps

* update release process for setup

* cleanup doc typos. remove default for password

* update docs for installing in existing vpc

* add semver check on upgrade

* place db entry first in create job request

* pr fixes

* typo fixes

* Task logs refactor (#241)

* Check if stream has is empty before attempting to retrieve from it

* Removed date filtering when making GetLogEvents call

* Fixed failing test TestGetLogs

* add endpoint env var helper. add breadcrumb for init error (#249)

* Overhaul Guides and Walkthroughs (#248)

* Walkthrough: Deployment 1 (#176)

Closes #170

Contains the first part of the new three-part walkthrough with Layer0 and/or Terraform - how to deploy a simple Guestbook application.

* Walkthrough: Deployment 2 (#171) (#203)

* Initial set of changes for Terraform beyond Layer0 documentation

* Fixed typos, styling and consistency issues mentioned in the review

* Updated layer0-examples links from guestbook-db to terraform-beyond-layer0

* Update guide for 'One off task' guide

* Fixed typos and removed html from markdown

* Updated Terraform beyond Layer0 guide with Remote backends and making changes to Terraform configuration

* Updated it with best practices around remote backend and terraform configuration file structure

* layer0 walkthrough for section 2

* reflect terraform varname in guestbook redis address

* remove accidental code block

* terraform walkthrough for section 2

* fix zpatrick's feedback, mostly removing suggestions to carry along previous .tfstate files

* add seshi's interpolation link suggestion

* Added new documentation for Terraform beyond Layer0 (#184)

Updated guides
 - Terraform beyond Layer0
 - One-off Tasks

* Walkthrough: Deployment 3 (#247)

- created part three of the walkthrough, deploying Consul + Redis + Guestbook
- broke walkthrough up into three smaller parts, plus an introduction
- changed references to `layer0-examples` to `guides` to reflect the new name of that repository
- retooled walkthrough to use Terraform modules

* remove d.ims.io reference

* update internal Slack channel

* fix walkthrough issues

* update release notes. update docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants