03/21/2017 Release Notes
Note: If you’re experiencing production issues after upgrading Spinnaker, rollback to a previous working version.
Armory Enterprise Spinnaker
- Adding
DECK_HOST
as the env var to use for baseUrl for deck - No longer rely on
CLOUD_STACK
env variable to determine environment - Generate settings.js from ymls with multiple spring profiles
- Need compose dir for secrets
- bugfix - secrets need to be loaded before env resolves
- Default logging profile - local log files
- Update healthcheck version and modify hostnames
- Drain KeyError fix
Spinnaker Community Contributions
Orca - v1.368.0
- Adding support for bulk server group operations
- fix(triggers): pipeline triggers may not deserialize parent pipeline correctly in some circumstances
- fix(pipelinetemplate): Handlebars rendering & variable inheritance issues (#1230)
- chore(halyard): BaseUrls need to include protocol (#1231)
- fix circular dependency preventing app launch
- Get rid of v1 execution engine and isolate Spring Batch dependency
- chore(fiat): Bump Fiat API, add @EnableFiatAutoConfig annotation
- fix(pipelinetemplate): Fix configuration stage injection & requisiteStageRefId rendering (#1228)
- fix(pipelinetemplate): Ensure pipelines are executed on v2 (#1227)
- chore(halyard): Add bootstrapping profile to orca (#1225)
- feat(pipelinetemplate): Basic template & config validation (#1221)
- fix(pipelinetemplate): Allow associating to an existing pipelineConfigId (#1226)
- fix a DST bug in a spec
- feat(spel): #propertiesFromUrl helper method
- fix(orca): stupid cast error in endpoint
- Fast Property multiple apps in scope
- any execution that does not specify a version will run v2
- Ensuring there is a buildNumber present in the context before proceeding
- fix(canary): add cloud provider to canary operations
- docs(pipelinetemplate): Quick start guide to pipeline templates (#1215)
- feature(netflix): simplify zombie pipeline cleanup
- feat(metrics): send cloudProvider to task invocations metric
- fix(executions): avoid intermittent StackOverflowError
- feat(pipelinetemplates): Adding withMapKey handlebars helper (#1190)
- feat(pipelinetemplates): Adding basic plan capability
- fix(netflix): ensure older instances report counts
- fix(jobs): add output from jobs to global context for downstream jobs
- add details of running executions to execution tracker
- fix(core): Avoid capturing security group ingress rules with empty cidr’s. (#1206)
- fix(triggers): fix dumb assumption that a ‘strategy’ param will always be boolean
- fix(quip): increase timeout from 2 minutes to 10 minutes
- chore(dependencies): upgrade to latest jackson/spectator/kork versions
- can’t inherit another task as you get multiple beans by type
- restore renamed task class otherwise deserialization breaks
- restore renamed task class otherwise deserialization breaks
- prevent disabled pipelines from launching even when they are launched by another pipeline or queued
- Refactoring & adding cycle detection in DAG
- chore(PR Template): Added PR template. (#1195)
- (rrb) Adjust success conditions for percent enable/disable (#1177)
- (appengine) upsert load balancers stage with target server group resolution (#1194)
- rm cloudbuild step (#1189)
- allow branch failure to fail pipeline even if other branches run to completion
- Add optional force flag to the cancel pipeline endpoint
- Ensuring interesting health provider names are preserved for rolling push
- return instances busiest first
- core/notifications: add notifications from Front50 to pipeline notifications
- provide better error message when canary baseline lookup fails
- add bulkUpsertEntityTags stage
- Fix orca endpoint references (#1183)
- chore(gradle): spinnaker-gradle-project version bump. (#1182)
- Injecting trigger info into pipeline prior to preprocessors
- throw exception if Front50 application retrieval returns non-200/404
- initial cut at cluster guards
- GCB tag latest build (#1179)
- support pointing clouddriver reads at a readonly replica.
- dag stage injection
Echo - v1.132.0
- Add BitBucket support
- Assume notification preferences are set upstream
- chore(gradle) spinnaker-gradle-project version bump. (#136)
- GCB optimizations (#135)
- Slim build & gradle project bump (#133)
- Ignore Spinnaker product release tags in TravisCI. (#132)
- Enables checking of ‘X-Hub-Signature’ in Github webhook requests to confirm source of webhook
Front50 - v1.88.0
- Update spinnaker-dependencies to 0.86.0 (#215)
- implement front-50 swift (#214)
- fix(google): strip out google.com:, if present, from default bucket name (#212)
- Fixing a bug where search returned everything even on no match
- chore(PR Template): Added PR template. (#210)
- feat(gce) Allow entity tags to be stored in GCS (#208)
- migrates all remaining pipelines to v2
- Cache all entity tags
- rm cloudbuild step (#204)
- Introduce a new
namespace
attribute toEntityTag
- EntityTags: fix batchUpdate endpoint scheduler
- fix ambiguous entity tag controller method
- entityTags: add findAllById endpoint, return tags on batchUpdate
- Remove rootFolder from AZS config (#199)
- try to reconcile dependencies
- (core) Increase spinnaker-dependencies version. (google) Support newer GoogleCommonSafeRetry.doRetry() interface.
- (halconfig) disable cassandra (#196)
- chore(gradle): spinnaker-gradle-project version bump. (#195)
- migrate all non-deploy, non-canary pipelines
- (tagging) allow batch update of entity tags
- GCB optimizations (#192)
- (google) Add retries around GCS calls.
Spinnaker - v0.78.0
- Dont update gcloud on boot
- Remove rootFolder from AZS config
- Allow server group tests to test either zonal or regional.
- Remove azure objectId from clouddriver.yml
- chore(gradle): spinnaker-gradle-project version bump.
- feat(annotator) Removed build number and add flag to force rebuild. (#1426)
- Deleting replicaset as well as replicationcontrollers (#1397)
- Update rosco.yml (#1425)
- Install scripts for monitoring support.
- (appengine) config (#1423)
- Dont require –jenkins_master or –jenkins_url for bake_and_deploy_test.
- Allow front50 gcs to be configured from spinnaker-local.yml
Deck - v2.1040.0
- config(provider/google): Change local ssd defaults to 0. (#3405)
- feat(appengine) adds provider logo for appengine (#3392)
- chore(netflix/blesk): convert module to TS
- chore(various): cleanup old lodash props
- fix(kubernetes) allows deletion of annotations in deploy stage config (#3402)
- chore(core/help): make help field work in ng2
- fix(core): make org not required in docker trigger
- feat(spel): add #propertiesFromUrl to autocomplete
- fix(gce) prevents race condition in how credentials are set on command (#3397)
- fix(core) hide capacity in deploy execution details if unnecessary
- fix(appengine) fixes bug that prevents deploy stage dialogue from opening (#3395)
- Pinning @types/jasmine to 2.5.42 (#3394)
- (core, SPIN-2438) Re-fix Pipeline Details Toggle (#3393)
- (core, SPIN-2438) Fix Pipeline Details Toggle
- fix(container): Extends timeout to 15m in cloudbuild.yaml file (#3390)
- (netflix) Allow Fast Property substring filtering (#3389)
- feat(gce) adds support for ad hoc create/edit/delete autohealer (#3387)
- fix(canary): do not break on canary expressions
- chore(linter): update linting rules and code
- refactor(gce) makes autoHealing configurer generic (#3384)
- fix(canary): fix data normalization issue
- (netflix) Fix Fast Property impact count or Regions (#3383)
- (netflix) Allow Fast property scope to be updated. (#3375)
- fix(appengine) allows instances to be rendered properly in the infrastructure tab (#3380)
- fix(pipelines): sanitize stage name
- fix(serverGroups): cluster disable warning update
- feat(titus): add resources to server group sidebar and omit some unchangeable labels
- fix(titus): fix link to canary config name
- chore(core): upgrade angular to latest
- feat(build): parallelize build process
- feat(google): Add support for labels. (#3366)
- fix(netflix): Availability typo
- fix(pipeline): update pipeline json edit check
- feat(netflix): Improve Availability Context Dropdown
- fix(netflix): Fix the issue submitted modal to show proper links
- fix(netflix): ITT: Fix editing missing VIP override fields
- fix(core): awesome-typescript-loader breaking build
- feat(all): ng2 test, service, and component work
- fix(netflix): Incorrect tooltip for yesterday availability gauge
- Revert “fix(core) do not allow free-form text in group membership config”
- feat(netflix): Availability Gauges
- fix(netflix): Fix help dropdown stickiness (and typescript it)
- fix(core) do not allow free-form text in group membership config
- feat(gce) adds support for firewall rule source and target tags (#3352)
- (core): convert to ng1/ng2 hybrid app
- refactor(version check): convert to TS, use scheduler
- perf(pipelines) do not re-render entire graph when view state changes
- perf(pipelines): only watch status, execution label line counts
- fix(pipelines): consider providesFor field when selecting stage provider
- Converting Fast Property JS to Typescript (#3348)
- (netflix): update canary UI
- style(aws): Added context on load balancer edit for unsupported advanced settings
- refactor(core) make render if feature actually not render a component
- feat(aws,gce) render entity tags (#3344)
- chore(PR Template): Added PR template. (#3347)
-
- (titus) Update default runtimeLimit to 3600s per titus request
- fix(aws): scaling policy graph was not loading
- (core): upgrade Typescript to the latest version
- fix(aws): send vpcId when deleting load balancers
- fix(netflix): restore tableau data source
- adding openstack settings for halyard
- Adding pipeline name for Fast Property executions. (#3338)
- fix(gce) specify protocol on load balancer links based on ports (#3337)
- Adding a UI element for runtimeLimitSecs for the titus runJob stage
- fix(appconfig): do not overwrite cloudProviders when editing app
- Add a “force” checkbox to the cancel pipeline modal dialog
- (appengine) surface platform health properly (#3335)
- (appengine) adds full set of locators for upsert app engine pipeline stage (#3334)
- fix(aws/k8s): specify protocol on load balancer links based on ports/listeners
- Scope Fast Property to multiple apps (#3332)
- refactor(core): Convert pipeline config to typescript (and remove d3 v3 in the process)
- Add feature for user to check their own roles
- (appengine) icon (#3329)
- fix(docker/titus): switch registry when changing accounts
- feat(core/build): Remove ng2 hybrid app
- (appengine) allow users to specify config file contents in server group wizard (#3326)
- rm cloudbuild step (#3324)
- initial state of radio buttons wasn’t set
- added new stage failure option to allow other branches to complete but stage to fail
- (kubernetes) add node-selector (#3322)
- Enhance fast property execution details (#3320)
- (appengine) switched from app.yaml path to general config filepaths (#3321)
- (all): convert deck to hybrid ng1/ng2 app
- (netflix) Fast properties impact count or env. (#3316)
- Add BitBucket support
- (core) remove angular-wizard dependency
- (core) Kill Old Modal Wizad (#3314)
- Fast Property performance improvements (#3312)
- (netflix): move blesk z-index fix to correct file
- (netflix): set z-index on blesk alerts
- (core) add analytics to alerts/notices, update icons
- (core) show matched clusters on traffic guard config
- (netflix) include help on setting up pager duty service
- (all providers) Stop using local cache for checking name collisions when creating a load balancer
- (netflix) Clean up legacy Fast Property code. (#3305)
- (various): update bake stage adv opts visibility
- (titus) enable titus to be selected as part of the canary stage
- chore(gradle): Bumps spinnaker-gradle-project version. (#3306)
- (azure) Convert to V2ModalWizard (#3293)
- (core) instance details list word break (#3302)
- (core) allow users to configure traffic protected clusters
- Create halconfig (#3298)
- (netflix) Add back Fast Property key/value search. (#3303)
- GCB tag latest (#3304)
- (k8s) adds support for kuberntes config map as volume source (#3301)
- (appengine) edit load balancer execution details (#3296)
- (cloudfoundry) Convert to V2ModalWizard (#3294)
Gate - v3.17.0
- fix(authn): Print user info details when debugging is enabled (#362)
- Fix inconsistencies when fetching Security Groups by ID
- chore(fiat): Bumps Fiat API, dropping autoConfig property
- fix(tls) - update DH key size to 2048 bits
- fix(tls) - disable TLS client renegotiation, update kork
- fix(ratelimit): Autowire metrics registry (#354)
- feat(ratelimit): Add throttle metric counter, capacity details in throttle log msg
- chore: remove gate-manual as it is woefully out of date
- feat(instances): add more account metadata
- chore(PR Template): Added PR template. (#350)
- fix(auth): make basic authentication configurable and opt-in
- Support
force
parameter for cancel pipeline endpoint in Orca - Enable Basic Auth in order to support spectator sidecar adaptor (#348)
- rm cloudbuild step (#347)
- API rate limiting
- Add BitBucket support
- (halconfig) Gate supplies its own server config (#344)
- Swagger new active executions endpoint. (#337)
- clean up batch endpoint (remove extra batch in path)
- add batchUpdate endpoint for tagging
- (halconfig) Update redis connection to use baseUrl (#341)
- chore(gradle): spinnaker-gradle-project version bump. (#339)
- Incorporate Fiat roles in /auth/user (#336)
- add full context to server group insight actions (#335)
- GCB optimizations (#338)
- Fix github OAuth support (#334)
Igor - v1.64.0
- chore(dependencies) update to spinnaker-dependencies 0.84.0
- chore(PR Template): Added PR template. (#155)
- rm cloudbuild step (#154)
- Add BitBucket support
- (halconfig) fix redis connection & remove circular service dependency (#152)
- chore(gradle): spinnaker-gradle-project version bump. (#151)
- GCB optimizations (#150)
- Slim build & gradle plugin bump (#149)
- Ignore Spinnaker product release tags in TravisCI. (#148)
- Base igor halconfig (#147)
Rosco - v0.93.0
- feat(build): Add ‘unzip’ as dependency, remove apt from postInst. (#194)
- To find packer version, use full path for packer. This will be useful if the build system already pulls in packer. Also there is a bug in the post install script. It does apt-get install within apt-get install, so it will not succeed. This path fix will help those who already install packer in via custom install scripts. (#193)
- fix(install): Made postInst sh-compatible, not bash. (#192)
- fix(install): Use tempdir instead of /usr/bin. (#191)
- fix(install): Wrap packer failure in function. (#190)
- feat(install): Install packer when rosco is installed. (#189)
- style(google): s/singleton/resolved (#188)
- feat(google): Deprecate google.gce.bakeryDefaults in favor of google.bakeryDefaults (#186)
- chore(PR Template): Added PR template. (#187)
- rm cloudbuild step (#185)
- (halconfig) fix redis connection (#184)
- Fix to provisioning. Adding removal fo waagent at end of bake. (#182)
- chore(gradle): spinnaker-gradle-project version bump. (#183)
- GCB tag latest (#181)
- Refactor package and version handling (#178)
Clouddriver - v1.567.0
- config(provider/google): Change local ssd defaults to 0. (#1521)
- fix(kubenetesjob): Fixed missing updated hostNetwork option for job. (#1518)
- perf(aws): Simplifying termination lifecyle to not lookup app info first (#1517)
- Update spinnaker-dependencies to 0.86.0 (#1516)
- feat(web): ServerGroup view model post processor interface (#1515)
- fix(container): typo in apk command in slim container (#1514)
- fix(container): Extends timeout to 15m in cloudbuild.yaml file (#1513)
- fix(titus): okhttp doesn’t properly url encode the ^ in the query string.
- chore(halyard): Add boostrapping profile to clouddriver (#1511)
- feat(gce) adds support for upsert autoHealingPolicy operation (#1497)
- feat(gce) adds support for ad hoc delete autohealing policy operation (#1510)
- fix(aws): Allow deploys to continue if lifecycles fail to create (#1500)
- perf(aws): termination lifecycle eureka perf improvements (#1502)
- fix(google): Made instrumentation a little more consistent
- fix(elasticsearch): Fix NPE generated when an entity tag is null (#1509)
- feat(provider/kubernetes): Add hostNetwork option for pod creation. … (#1504)
- feat(aws): Adding conditional scaling policy copy method (#1506)
- fix(groovy): Groovyc making the static property private to child classes (#1505)
- feat(titus): allow customizing titus poll interval
- feat(google): Add support for labels. (#1501)
- support region-scoped amazon instance reservations (#1445)
- Danielpeach add gcloud to dockerfile (#1498)
- fix(titus): increase retry backoff to 13 minutes
- feat(monitoring): Instrument kubernetes API calls
- chore(monitoring): Plumb infrastructure for instrumenting kubernetes API calls
- feat(aws): termination lifecycle worker config; cleaner IAM (#1495)
- chore(eureka): enhancing logging on eureka service failures (#1494)
- perf(aws): refactor termination lifecycle agent to run as background thread (#1493)
- fix(titus): allow vpc id to be configured at the account level
- perf(aws): configurable termination lifecycle agent poll time (#1491)
- feat(provider/aws): retrieve 150 scaling activities instead of 30
- fix(aws) LaunchFailureNotifactionCleanupAgent skips tags for unknown accounts.
- fix(aws) : region default resolution does not have to be statically initialized
- feat(gce) allows instance tags and network to be passed through the server group list endpoint (#1483)
- feat(kubernetes): Omit desired namespaces (#1486)
- fix(titus) - run job retrival of files can’t deal with dots
- chore(dependencies) : update to latest spinnaker-dependencies
- fix(aws): Tightening direct SQS IAM perms in termination events (#1470)
- fix(aws): cn-north-1 support
- fix(provider/google): Fixed constant in ILB enable/disable.
- chore(PR Template): Fix broken links to docs. (#1481)
- fix(kubernetes): Percent enable disable (#1477)
- chore(PR Template): Added PR template. (#1479)
- bug(titus,aws): don’t send negative mins on detach
- feat(provider/google): Finish support for source tags on security groups (firewall rules). (#1478)
- feat(kubernetes): Reduce log noise for secret creation (#1476)
- (bugfix) change openstack credentials builder return type (#1474)
- Adds configuration option to regionally disable edda
- Log exceptions when errors occur updating ElasticSearch
- Addresses an issue wherein Spinnaker is incorrectly cleaning up tags when server groups are created
- add extension point for titus job customization
- refactors UserDataProvider interface to accept full LaunchConfigurationSettings
- (appengine) remove thrown errors in load balancer provider (#1469)
- (openstack) bugfix: make credential build method public (#1468)
- (appengine) change model for upsert load balancer description (#1467)
- Partition
bulkIndex
into sets of 1000 entity tags (adjustable as needed) - Improved reindex behavior and support for filtering tags by namespace
- (google) Be more tolerant of missing server group <-> load balancer relationships. (#1466)
- Propagate 401 error for basic auth docker registry (#1436)
- (appengine) set account on operation descriptions (#1464)
- (appengine) destroy safe retry (#1463)
- (openstack) add account credentials builder (#1462)
- feat(aws): Allow termination lifecycle hooks to target SQS directly
- (appengine) allow config files to be specified in deploy operation (#1461)
- Fixing an issue where the list of events where being written during iteration
- Copies K8S load balancer lables over upon update (#1458)
- Rollback deleted ELB listeners on add failure
- rm cloudbuild step (#1455)
- (aws) allow customization of scaling policy copying
- (kubernetes) add node-selector (#1454)
- Adding metrics for termination lifecycle lag
- (aws & titus) Deleting tags from server group upon creation
- Revert “(aws & titus) Deleting tags from server group upon creation”
- (aws & titus) Deleting tags from server group upon creation
- (appengine) switched from app.yaml path to general config filepaths (#1446)
- (google) Log error when caching target pool instance health instead of throwing exception. (#1443)
- EntityTags: batch bulk operations in groups of 50
- Introduce a new
namespace
attribute toEntityTag
- EntityTags: fix batchUpdate endpoint path
- optimize front50 operations on bulk tagging operations
- (kubernetes) Complete enabled/disable early when there are no pods to operate on (#1440)
- (k8s) SG is enabled when no LBs are attached (#1439)
- add an explicit eviction on empty force cache refresh to align with other on demand implementations
- (titus) move lookup of security group details to cluster caching time and remove instance caching agent since the functionality there is redundant.
- fixes an error on task lookup when previousRedis goes away
- Fixed deleting regional GCS MIGs (#1433)
- Implement redisCache.cacheMetrics interface
- Fixing NPE when lifecycle is triggered on an unknown account id
- Delete ignored messages (like test notifications, etc)
- (google) Fix typo. (#1429)
- Updating termination lifecycle agent to unwrap sns messages
- (entityTags) allow bulk update of entity tags
- Display target & address for failed docker auth attempts (#1416)
- chore(gradle): Bump spinnaker-gradle-project version. (#1425)
- fix(provider/google): Don’t retry on ‘successful’ codes in SafeRetry. (#1424)
- Google Cloud Builder optimizations (#1423)
- (k8s) add validator for configMap volume source type (#1422)
- update to latest AWS SDK