From b910337b3b36d29ef9492dd0f0603eb0b6210aeb Mon Sep 17 00:00:00 2001 From: Joe Sondow Date: Thu, 5 Jun 2014 11:46:06 -0700 Subject: [PATCH 1/2] Release notes for asgard-1.5 --- CHANGES.txt | 42 ++++++++++++++++++++++++++++++++++++++++++ application.properties | 4 ++-- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index e47ae317..d3a7bec0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,45 @@ +1.5 + +Features +- Platform-independent user data provider option (formatted like a properties file) +- Ability to run Asgard in one AWS account and AssumeRole to manage a different account +- Automated deployment can accept arbitrary user-chosen steps +- Each application can have an optional application group +- Each application can have optional tags +- Enable configurable maximum number of ASGs per cluster +- REST endpoints for retrieving a deployment workflow plan JSON blob, and for starting a workflow with that JSON +- Additional ways to configure Asgard to get AWS credentials, including from an IAM profile +- Updated list of AWS instance types +- Links to security groups include both name and ID +- Made it possible to skip cache loading during cache loading, using runtime flag API +- Support for HTTPS ELB listeners (Thanks Greg Dziemidowicz) +- Configurable AWS API socket timeout value +- Shared visibility all of in-memory running tasks across Asgard instances in a cluster +- Filterable instance reservations by offering type + + +Infrastructure +- Turn off noisy, legacy task completion emails +- Introduced AngularJS for auto deployment screens, with Grunt build and JavaScript unit tests +- Asgard's health check should fail while initializing, but then should pass forever, for desired load balancer behavior +- Asgard can register with Eureka service for conventional discoverability +- "Wither" function to have Asgard delete itself after it finishes all running in-memory tasks +- Separate SimpleDB service from Application service +- Store SWF tokens in database +- Ability to set arbitrary headers via RestClientService (Thanks e0d) +- Upgraded frigga library to allow for letters in version strings of AMI appversion tags +- Converted more JUnit tests to Spock + + +Bug Fixes +- List of VPCs for security group creation only includes VPCs that have conventionally labeled subnets +- List of ELBs over 400 can be listed successfully +- List of RDS DB instances over 100 can be listed successfully +- Rolling push can work with spot instances (Thanks Dale Wijnand) +- Force U.S. dollars for Amazon-listed currency amounts (Thanks Dale Wijnand) +- Allow an initial size of 0 for creating the next ASG in a cluster + + 1.4.2 Features diff --git a/application.properties b/application.properties index c7178e9c..f35ed7b2 100644 --- a/application.properties +++ b/application.properties @@ -1,6 +1,6 @@ #Grails Metadata file -#Wed Aug 07 12:22:31 PST 2013 +#Wed Jun 05 11:45:00 PST 2014 app.grails.version=2.2.4 app.name=asgard app.servlet.version=2.4 -app.version=1.4.2 +app.version=1.5 From c0c257617e706ec4c4527da1f212a8e04be3831e Mon Sep 17 00:00:00 2001 From: Joe Sondow Date: Thu, 5 Jun 2014 14:03:41 -0700 Subject: [PATCH 2/2] Fixed typo in variable name --- .../services/com/netflix/asgard/ImageService.groovy | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/grails-app/services/com/netflix/asgard/ImageService.groovy b/grails-app/services/com/netflix/asgard/ImageService.groovy index 8ab4bdb3..942a927f 100644 --- a/grails-app/services/com/netflix/asgard/ImageService.groovy +++ b/grails-app/services/com/netflix/asgard/ImageService.groovy @@ -250,10 +250,10 @@ class ImageService implements BackgroundProcessInitializer { return } - List targetRoolUrls = configService.promotionTargetServerRootUrls - log.info "ImageTagReplicator starting for promotion target servers ${targetRoolUrls}" + List targetRootUrls = configService.promotionTargetServerRootUrls + log.info "ImageTagReplicator starting for promotion target servers ${targetRootUrls}" - for (String promotionTargetServer in targetRoolUrls) { + for (String promotionTargetServer in targetRootUrls) { try { // Try to connect to promotion target server. Abort if server is unavailable. checkServerHealth(promotionTargetServer) @@ -264,7 +264,7 @@ class ImageService implements BackgroundProcessInitializer { log.error "ImageTagReplicator failed for ${promotionTargetServer}", e } } - log.info "ImageTagReplicator done for all promotion target servers ${targetRoolUrls}" + log.info "ImageTagReplicator done for all promotion target servers ${targetRootUrls}" } catch (Exception e) { log.error "ImageTagReplicator failed: ${e}" }