Skip to content

Commit 566b982

Browse files
Match preview versions in google_composer_environment regex (#4797) (#3287)
Signed-off-by: Modular Magician <[email protected]>
1 parent 70db344 commit 566b982

File tree

4 files changed

+9
-7
lines changed

4 files changed

+9
-7
lines changed

.changelog/4797.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
composer: fixed a check that did not allow for preview versions in `google_composer_environment`
3+
```

google-beta/resource_composer_environment.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
const (
1717
composerEnvironmentEnvVariablesRegexp = "[a-zA-Z_][a-zA-Z0-9_]*."
1818
composerEnvironmentReservedAirflowEnvVarRegexp = "AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+"
19-
composerEnvironmentVersionRegexp = `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-([0-9]+\.[0-9]+(\.[0-9]+.*)?)`
19+
composerEnvironmentVersionRegexp = `composer-([0-9]+\.[0-9]+\.[0-9]+(-preview.[0-9]+)?|latest)-airflow-([0-9]+\.[0-9]+(\.[0-9]+.*)?)`
2020
)
2121

2222
var composerEnvironmentReservedEnvVar = map[string]struct{}{
@@ -1504,7 +1504,7 @@ func composerImageVersionDiffSuppress(_, old, new string, _ *schema.ResourceData
15041504
versionRe := regexp.MustCompile(composerEnvironmentVersionRegexp)
15051505
oldVersions := versionRe.FindStringSubmatch(old)
15061506
newVersions := versionRe.FindStringSubmatch(new)
1507-
if oldVersions == nil || len(oldVersions) < 3 {
1507+
if oldVersions == nil || len(oldVersions) < 4 {
15081508
// Somehow one of the versions didn't match the regexp or didn't
15091509
// have values in the capturing groups. In that case, fall back to
15101510
// an equality check.
@@ -1521,7 +1521,7 @@ func composerImageVersionDiffSuppress(_, old, new string, _ *schema.ResourceData
15211521

15221522
// Check airflow version using the version package to account for
15231523
// diffs like 1.10 and 1.10.0
1524-
eq, err := versionsEqual(oldVersions[2], newVersions[2])
1524+
eq, err := versionsEqual(oldVersions[3], newVersions[3])
15251525
if err != nil {
15261526
log.Printf("[WARN] Could not parse airflow version, %s", err)
15271527
}

google-beta/resource_composer_environment_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ func TestComposerImageVersionDiffSuppress(t *testing.T) {
3939
{"new latest", "composer-1.4.1-airflow-1.10.0", "composer-latest-airflow-1.10.0", true},
4040
{"airflow equivalent", "composer-1.4.0-airflow-1.10.0", "composer-1.4.0-airflow-1.10", true},
4141
{"airflow different", "composer-1.4.0-airflow-1.10.0", "composer-1.4-airflow-1.9.0", false},
42-
{"airflow different composer latest", "composer-1.4.0-airflow-1.10.0", "composer-latest-airflow-1.9.0", false},
42+
{"preview matches", "composer-1.17.0-preview.0-airflow-2.0.1", "composer-1.17.0-preview.0-airflow-2.0.1", true},
4343
}
4444

4545
for _, tc := range cases {
4646
if actual := composerImageVersionDiffSuppress("", tc.old, tc.new, nil); actual != tc.expected {
47-
t.Fatalf("'%s' failed, expected %v but got %v", tc.name, tc.expected, actual)
47+
t.Errorf("'%s' failed, expected %v but got %v", tc.name, tc.expected, actual)
4848
}
4949
}
5050
}

google-beta/resource_dataproc_cluster_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ import (
1313
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1414
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
1515

16-
"google.golang.org/api/googleapi"
17-
1816
dataproc "google.golang.org/api/dataproc/v1beta2"
17+
"google.golang.org/api/googleapi"
1918
)
2019

2120
func TestDataprocExtractInitTimeout(t *testing.T) {

0 commit comments

Comments
 (0)