Skip to content

Commit

Permalink
fix(bake): Bake respect regions (#3627)
Browse files Browse the repository at this point in the history
Co-Authored-By: Mark Vulfson <markvu@live.com>
  • Loading branch information
edgarulg and marchello2000 committed Apr 27, 2020
1 parent ae26c76 commit 86ca311
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,9 @@ class BakeStage implements StageDefinitionBuilder {
Set<String> deployRegions = (stage.context.region ? [stage.context.region] : []) as Set<String>
deployRegions.addAll(stage.context.regions as Set<String> ?: [])

if (!deployRegions.contains("global")) {

Boolean skipRegionDetection = Boolean.TRUE == stage.context.skipRegionDetection
if (!deployRegions.contains("global") && !skipRegionDetection) {
deployRegions.addAll(regionCollector.getRegionsFromChildStages(stage))
// TODO(duftler): Also filter added canary regions once canary supports multiple platforms.
}
Expand All @@ -104,7 +106,7 @@ class BakeStage implements StageDefinitionBuilder {
stage.context.amiSuffix = clock.instant().atZone(UTC).format("yyyyMMddHHmmss")
}
return deployRegions.collect {
stage.context - ["regions": stage.context.regions] + ([
stage.context - ["regions": stage.context.regions, "skipRegionDetection": stage.context.skipRegionDetection] + ([
type : PIPELINE_CONFIG_TYPE,
region: it,
name : "Bake in ${it}" as String
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,28 +63,34 @@ class BakeStageSpec extends Specification {
parallelContexts == expectedParallelContexts

where:
bakeStageContext | deployAvailabilityZones || expectedParallelContexts
[cloudProviderType: "aws"] | deployAz("aws", "cluster", "us-west-1") + deployAz("aws", "cluster", "us-west-2") || expectedContexts("aws", "19700101011512", "us-west-1", "us-west-2")
[cloudProviderType: "aws", region: "us-east-1"] | deployAz("aws", "cluster", "us-west-1") || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws"] | deployAz("aws", "clusters", "us-west-1") || expectedContexts("aws", "19700101011512", "us-west-1")
[cloudProviderType: "aws", region: "us-east-1"] | deployAz("aws", "clusters", "us-west-1") || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws", region: "us-east-1"] | [] || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", region: "us-east-1"] | null || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", region: "us-east-1"] | deployAz("aws", "clusters", "us-east-1") || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", region: "us-east-1", amiSuffix: ""] | null || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", region: "us-east-1", amiSuffix: "--"] | null || expectedContexts("aws", "--", "us-east-1")
[cloudProviderType: "aws", region: "global"] | deployAz("aws", "clusters", "us-west-1") || expectedContexts("aws", "19700101011512", "global")
[cloudProviderType: "aws", region: "us-east-1", regions: ["us-west-1"]] | null || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws", region: "us-east-1", regions: []] | null || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", regions: ["us-east-1", "us-west-1"]] | null || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws", region: "us-east-1", regions: null] | null || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", regions: ["us-east-1", "us-west-1"]] | deployAz("aws", "clusters", "us-west-1") || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws"] | deployAz("aws", "cluster", "us-west-1") + deployAz("gce", "cluster", "us-west1") || expectedContexts("aws", "19700101011512", "us-west-1")
[cloudProviderType: "gce", region: "global"] | deployAz("aws", "cluster", "us-west-1") || expectedContexts("gce", "19700101011512", "global")
[cloudProviderType: "gce", region: "global"] | deployAz("gce", "cluster", "us-west1") || expectedContexts("gce", "19700101011512", "global")
[cloudProviderType: "aws"] | deployAz("aws", "clusters", "us-west-1") + deployAz("gce", "clusters", "us-west1") || expectedContexts("aws", "19700101011512", "us-west-1")
[cloudProviderType: "gce", region: "global"] | deployAz("aws", "clusters", "us-west-1") || expectedContexts("gce", "19700101011512", "global")
[cloudProviderType: "gce", region: "global"] | deployAz("gce", "clusters", "us-west1") || expectedContexts("gce", "19700101011512", "global")
bakeStageContext | deployAvailabilityZones || expectedParallelContexts
[cloudProviderType: "aws"] | deployAz("aws", "cluster", "us-west-1") + deployAz("aws", "cluster", "us-west-2") || expectedContexts("aws", "19700101011512", "us-west-1", "us-west-2")
[cloudProviderType: "aws", region: "us-east-1"] | deployAz("aws", "cluster", "us-west-1") || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws"] | deployAz("aws", "clusters", "us-west-1") || expectedContexts("aws", "19700101011512", "us-west-1")
[cloudProviderType: "aws", region: "us-east-1"] | deployAz("aws", "clusters", "us-west-1") || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws", region: "us-east-1"] | [] || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", region: "us-east-1"] | null || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", region: "us-east-1"] | deployAz("aws", "clusters", "us-east-1") || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", region: "us-east-1", amiSuffix: ""] | null || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", region: "us-east-1", amiSuffix: "--"] | null || expectedContexts("aws", "--", "us-east-1")
[cloudProviderType: "aws", region: "global"] | deployAz("aws", "clusters", "us-west-1") || expectedContexts("aws", "19700101011512", "global")
[cloudProviderType: "aws", region: "us-east-1", regions: ["us-west-1"]] | null || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws", region: "us-east-1", regions: []] | null || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", regions: ["us-east-1", "us-west-1"]] | null || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws", region: "us-east-1", regions: null] | null || expectedContexts("aws", "19700101011512", "us-east-1")
[cloudProviderType: "aws", regions: ["us-east-1", "us-west-1"]] | deployAz("aws", "clusters", "us-west-1") || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws"] | deployAz("aws", "cluster", "us-west-1") + deployAz("gce", "cluster", "us-west1") || expectedContexts("aws", "19700101011512", "us-west-1")
[cloudProviderType: "gce", region: "global"] | deployAz("aws", "cluster", "us-west-1") || expectedContexts("gce", "19700101011512", "global")
[cloudProviderType: "gce", region: "global"] | deployAz("gce", "cluster", "us-west1") || expectedContexts("gce", "19700101011512", "global")
[cloudProviderType: "aws"] | deployAz("aws", "clusters", "us-west-1") + deployAz("gce", "clusters", "us-west1") || expectedContexts("aws", "19700101011512", "us-west-1")
[cloudProviderType: "gce", region: "global"] | deployAz("aws", "clusters", "us-west-1") || expectedContexts("gce", "19700101011512", "global")
[cloudProviderType: "gce", region: "global"] | deployAz("gce", "clusters", "us-west1") || expectedContexts("gce", "19700101011512", "global")
[cloudProviderType: "gce", region: "global", skipRegionDetection: true] | deployAz("gce", "clusters", "us-west1") || expectedContexts("gce", "19700101011512", "global")
[cloudProviderType: "aws", region: "us-west-2", skipRegionDetection: true] | deployAz("aws", "cluster", "us-west-1") + deployAz("aws", "cluster", "us-west-2") || expectedContexts("aws", "19700101011512", "us-west-2")
[cloudProviderType: "aws", regions: ["us-east-1", "us-west-1"], skipRegionDetection: true] | deployAz("aws", "clusters", "eu-central-1") || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1")
[cloudProviderType: "aws", regions: ["us-east-1", "us-west-1"], skipRegionDetection: false] | deployAz("aws", "cluster", "us-west-1") + deployAz("aws", "cluster", "us-west-2") || expectedContexts("aws", "19700101011512", "us-east-1", "us-west-1", "us-west-2")
[cloudProviderType: "aws", region: "us-west-2", skipRegionDetection: false] | deployAz("aws", "cluster", "us-west-2") + deployAz("aws", "clusters", "us-east-1") || expectedContexts("aws", "19700101011512", "us-west-2", "us-east-1")
[cloudProviderType: "aws", region: "us-west-2", skipRegionDetection: 0] | deployAz("aws", "cluster", "us-west-2") + deployAz("aws", "clusters", "us-east-1") || expectedContexts("aws", "19700101011512", "us-west-2", "us-east-1")
}

def "should include per-region stage contexts as global deployment details"() {
Expand Down

0 comments on commit 86ca311

Please sign in to comment.