Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat(pipeline_template): Re-save dependent pipelines on template save (spinnaker#1606) Allows updates to templates that define triggers, params, notifications or concurrency options to cascade changes to downstream pipelines. * chore(expressions): Allow to override global spel version at pipeline level (spinnaker#1607) - Refactored to allow version override at pipeline level * feat(fastproperties): allow individual stage overrides via trigger (spinnaker#1608) * fix(gradle): Pin jedis version (spinnaker#1609) * fix(fastproperty): do not override context on monitor stage (spinnaker#1610) * fix(events): start/end pipeline events broke because of missing toString (spinnaker#1611) * fix(timeout): stage timeout overrides cumulative task durations (spinnaker#1605) * chore(licenses): fix license config and add missing license headers * fix(pipeline_templates): load parent templates when inlining template for plan (spinnaker#1614) * fix(pipeline_template): Multiple fixes from integration suite (spinnaker#1616) * fix(pipeline_template): Correctly handle multiple stage injects * fix(pipeline_template): Fix module rendering in partials * chore(queue): removed envelope handling code we don't use * refactor(queue): queue now uses message hash as the message id This makes de-duping easier and means we can easily re-prioritize messages (PR to follow). * chore(queue): renamed things to make intent clearer * feat(pipeline_template): Convert to pipeline template endpoint (spinnaker#1615) * feat(pipeline_template): Jinja rendering in triggers, params and notifications (spinnaker#1619) * refactor(metrics): more configurable metrics wiring for thread pools * chore(core): simpler handling of parallel stages * fix(queue): re-prioritize message on queue if an identical one is pushed * fix(metrics): missed migrator in refactor of thread pool metrics (spinnaker#1625) * feat(cluster-match): implement general purpose cluster matching rule engine (spinnaker#1579) * fix(canary): target canary cleanup server groups by create date (spinnaker#1612) * fix(pipeline_template): config level stage replacement (spinnaker#1622) * feat(queue): Add queue shovel for migrating backends (spinnaker#1624) * feat(redis_migration): log if there are still pending orchestrations/pipelines (spinnaker#1626) * fix(pipeline_template): root-level configs mapped if undefined (spinnaker#1623) * fix(queue): Fix stupid spring wiring (spinnaker#1628) * feat(servergroup): allow ad-hoc entity tags on deployments (spinnaker#1627) * chore(oortService): expose /serverGroups endpoint (spinnaker#1630) * perf(rollingpush): Avoid unnecessarily searching for instance ids (spinnaker#1633) If a `serverGroupName` or `asgName` is available on the stage context, there is no need to lookup each instance id individually. Also, `getServerGroup()` is more efficient than `getServerGroupFromCluster()` when dealing with clusters containing multiple server groups. * refactor(tag-generator): include server group coordinates in generateTags signature (spinnaker#1634) * fix(pipeline_template): Allow conditional stages inside of partials (spinnaker#1631) * feat(pipeline_template): Allow granular inheritance control on params, triggers, notifications (spinnaker#1632) * fix(stages/bakery): Fix bake stage, ensure deploymentDetails is added to context - Refactor Check Preconditions stage type for parallel stages * feat(pipeline_template): Jinja rendering in partials (spinnaker#1637) Renders the partials' stage config before rendering partials, to allow for more advanced jinja expressions in the partials. * fix(managed_pipeline): validation of variable types, integration tests for invalid pipelines (spinnaker#1629) * refactor(pipeline_template): Support multiple MPT schema versions (spinnaker#1621) Adds the ability to parse different schema versions. This PR doesn't actually change any functionality, except for switching to the new handler API. All existing v1 schema code works the same way it did. Additionally introduced Kotlin to module as new default. * tests(pipeline_templates): integrations tests and removing unique ID (spinnaker#1638) * feat(pipeline_template): Support template-less configurations (spinnaker#1636) * fix(timeouts): some tasks inherit stage timeout override (spinnaker#1640) * fix(pipeline_template): Regression in deserializing tempalted pipeline requests (spinnaker#1644) * fix(pipeline_template): Check for correct paramConfig field during render (spinnaker#1642) * fix(web): Enforce limit of pipelines when using previous redis conn (spinnaker#1646) * fix(redis_migration): fix logging of pending work (spinnaker#1647) * feat(artifacts): Add receivedArtifacts to Pipeline model. (spinnaker#1648) * feat(job): decrease job timout and make overridable (spinnaker#1649) * fix(web): Enforce limit on previous redis for app pipelines endpoint (spinnaker#1650) * fix(pipeline_template): Do not store state in error handler lol (spinnaker#1651) * Revert "feat(artifacts): Add receivedArtifacts to Pipeline model. (spinnaker#1648)" (spinnaker#1653) This reverts commit 0d9a2f1. * fix(web): Revert take calls; unexpected upstream behaviors (spinnaker#1654) * fix(rollbacks): support for tolerating some instance failures (spinnaker#1643) * feat(stage context): Get all stage results in a list (spinnaker#1655) * refactor(clouddriver): monitor clouddriver tasks every 5 seconds (spinnaker#1639) * feat(context): Adds trigger contents to stage context (spinnaker#1659) * feat(clouddriver): Support sharding read-only requests by `user` (spinnaker#1641) This allows you to serve all pipelines/orchestrations generated by a particular user (or set of users) with a dedicated clouddriver read replica. * feat(moniker): Use a cluster's moniker if available. (spinnaker#1664) * Use cluster's moniker if available * Format tests for moniker vs frigga cluster names * chore(expressions): Cleanup some noisy logs (spinnaker#1666) - Include execution id in log message - Remove some noise with debug statements * fix(mine): Search stage definition builders directly instead of depending on stage navigator when trying to cancel canary. * fix(web): Return correct num executions with dual redis (spinnaker#1668) * perf(build): Removing orca-queue-sqs; unused, unsupported * feat(core): Deploy manifest stage & task (spinnaker#1674) * feat(pipeline): Resolve received and expected artifacts in trigger. (spinnaker#1667) * fix(expressions): Include evaluation summary in v2 (spinnaker#1673) - ensure evaluation errors are included in precondition * fix(execution windows): don't add duplicate execution windows to parallel stages * fix(queue): treat waiting pipelines queue as FIFO if keepWaitingPipelines (spinnaker#1677) * feat(pipeline_template): Add marker support to disable rendered value expansion (spinnaker#1665) * feat(get_commits): Display SCM changes in pipeline-triggered pipelines (spinnaker#1652) The changes tab that displays SCM diff between deploys was not showing if the pipeline was triggered by another pipeline. Now it does. * fix(pipeline_template): Propagate nested render errors (spinnaker#1679) * feat(moniker): Allow moniker field to pass through to StageData and TargetServerGroups (spinnaker#1678) * fix(queue): don't keep pushing dead messages indefinitely * feat(qa): dry run pipelines Allow pipelines to run in "dry-run" mode. Stages are proxied and simply test correct evaluation of expressions, optionality, ordering and consistent results. * add executionId to MDC (spinnaker#1682) * fix(rrb): RRB should determine resize percentages at runtime (spinnaker#1681) This PR introduces the ability to specify a `scalePct` when scaling based on the capacity of another server group (scale_to_server_group). Previously all RRB capacity adjustments on the target server group were determined at build time. * Oort get server groups (spinnaker#1680) * Add new clouddriver getServerGroup endpoint * Add new clouddriver getServerGroup endpoint * Removed frigga from oortHelper * Rename oortService method for clearity * Overload getServerGroups and deprecate old prototype * Update test * Also deprecate on the DelegatedOortService * fix(pipeline_template): Fixing regression in test harness (spinnaker#1686) * feat(pipeline_template): PipelineIdTag checks context for variables defining application and name (spinnaker#1688) * fix(log): ensure executionId is cleaned up from MDC (spinnaker#1685) * feat(stages): make FAILED_CONTINUE bubble up from synthetic stages * feat(moniker): Use moniker for instance check task (spinnaker#1689) * feat(moniker): Use monikers within server-group tasks (spinnaker#1693) * fix(log) ensure MDC cleanup occurs in correct thread (spinnaker#1698) * fix(pipeline_template): Do not treat markdown lists as YAML alias (spinnaker#1645) * feat(artifacts): simplify artifact matching (spinnaker#1696) * feat(core): Force cache refresh manifest task (spinnaker#1687) * feat(moniker): use moniker over frigga in ScaleToClusterResize * chore(imports): remove unused frigga import * core(manifest): Delete manifest op (spinnaker#1700) * feat(artifacts): Check if default artifact was intended (spinnaker#1701) * feat(rrb): Support for running a pipeline between scale up and disable (spinnaker#1694) Coordinates for both the new and old server groups are passed along as pipeline parameters. - `delayBeforeDisableSec` -> `getDelayBeforeCleanup()` - support for lookup by stage id in `#stage()` * fix(dryrun): need injected property class to support list of values * Use moniker in DetermineHealthProvidersTask (spinnaker#1702) * feat(moniker): Use moniker for Job stages. (spinnaker#1699) * chore(dependencies): updating spinnaker-depenencies (spinnaker#1707) * feat(queue): update delivery time on runtask (spinnaker#1676) Adds reschedule method to queue, which updated the delivery time of an existing message on the queue. * feat(logging): ops controller annotation + logstashEncoder dep (spinnaker#1692) * fix(dryrun): log dry run activity * Properly cast Moniker from context Properly cast Moniker from context Put the try catch in the MonikerHelper Only check for IllegalArgumentException check existence rather than exception * feat(polling): remove polling for wait, manual judgement, and execution window (spinnaker#1661) * feat(entitytags): Include previous server group image details (spinnaker#1705) This will ultimately facilitate an orchestrated rollback even if the previous server group no longer exists. It relies on the entity tags feature being enabled (dependency on elastic search and not enabled by default in `clouddriver` / `orca`). This PR also introduces some common retry handling (see `RetrySupport`). * fix(entitytags): Do not fetch previous server group for Titus (spinnaker#1712) Subsequent PR will make this work properly for Titus. * fix(gae): Support new ExpectedArtifact in GAE deploy. (spinnaker#1706) * fix(polling): update time left calculation (spinnaker#1713) * fix(dryrun): send dry run notification correctly * fix(propertyFiles): change wording of error message to indicate that there might be a syntax error in the file (spinnaker#1715) * fix(fastproperties): always clean up properties marked for rollback (spinnaker#1717) * feat(core): implement noop stage (spinnaker#1719) * fix(dryrun): remove pipeline config it for dry runs * feat(rollback): Support rolling back to a server group that no longer exists (spinnaker#1716) This PR provides a rollback strategy that will clone forward with the image details that were tagged as part of spinnaker#1705. It also supports the `imageName` being explicitly provided, but that's an exceptional case that would not be supported in the UI. The `spinnaker:metadata` tag will include `buildInfo` for the image if it is returned from `clouddriver`. * fix(runJob): retry fetching property files if not found (spinnaker#1721) * fix(executionWindow): revert to polling (spinnaker#1722) * fix(canary): gentle canary cleanup (spinnaker#1711) * fix(rollback): Propagate `interestingHealthProviderNames` (spinnaker#1723) If `interestingHealthProviderNames` are specified on the parent stage context, propagate them to the clone stage. * fix(dryrun): let Echo remove the pipelineConfigId * fix(dryrun): ignore certain keys in context * fix(cancel): cancel during wait stage (spinnaker#1726) * fix(logging): updating timeout message w/ timeout value (spinnaker#1728) * fix(dryrun): strip nested nulls when comparing context * fix(rrb): Only inject pipeline stage if applicaton + pipelineId present (spinnaker#1729) * fix(tasks): stop using 'shared' task state (spinnaker#1731) * fix(dryrun): try to cope with values that are sometimes floats or ints * fix(manual judgment): switching back to polling to respect timeout overrides (spinnaker#1735) * fix(exec window): leave shared state alone (spinnaker#1737) * Attempt to use moniker before frigga (spinnaker#1697) * feat(moniker): Use moniker for Rollingpush tasks. (spinnaker#1703) * feat(moniker): Pass moniker to cleanup stages. (spinnaker#1732) * feat(moniker): Use moniker for app name over frigga in flex (spinnaker#1736) * feat(manualJudgment): allow standard notification types for manual judgment (spinnaker#1739) * fix(dryrun): ignore additional context field
- Loading branch information