Skip to content

Commit c3bb79f

Browse files
AcuionYuriy Natarov
andauthored
TRANSFER-849: Allow changing of Airflow environment configuration (#110)
1. Fixed several copy-paste and pointer mistakes in tests and provider itself 2. Added support of changing env flavor --------- Co-authored-by: Yuriy Natarov <acuion@yandex-team.ru>
1 parent 3329233 commit c3bb79f

4 files changed

Lines changed: 19 additions & 37 deletions

File tree

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.22
55
toolchain go1.22.1
66

77
require (
8-
github.com/doublecloud/go-genproto v0.0.0-20240912040719-2755fe5e1955
8+
github.com/doublecloud/go-genproto v0.0.0-20240925040734-4ee53097d55f
99
github.com/doublecloud/go-sdk v0.0.0-20240906203850-b5930ce34fca
1010
github.com/golang/protobuf v1.5.4
1111
github.com/google/uuid v1.6.0

go.sum

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migc
1414
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
1515
github.com/ProtonMail/go-crypto v1.1.0-alpha.2 h1:bkyFVUP+ROOARdgCiJzNQo2V2kiB97LyUpzH9P6Hrlg=
1616
github.com/ProtonMail/go-crypto v1.1.0-alpha.2/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
17-
github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton h1:KVBEgU3CJpmzLChnLiSuEyCuhGhcMt3eOST+7A+ckto=
18-
github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
1917
github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE=
2018
github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
2119
github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec=
@@ -36,30 +34,8 @@ github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxG
3634
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
3735
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
3836
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
39-
github.com/doublecloud/go-genproto v0.0.0-20240521040605-29dded8070f8 h1:YMnvmk3LXmbBr7pE9MvbR9q89VxkktV+ee2qxTbnIks=
40-
github.com/doublecloud/go-genproto v0.0.0-20240521040605-29dded8070f8/go.mod h1:GaWzogQ0MCW4OjW16H1DsXiKOqHXqaYsMy0wKfXwoo4=
41-
github.com/doublecloud/go-genproto v0.0.0-20240529145340-26557b3e1c45 h1:QcyqANmla8vIADTTwh0YE0H6+Dg/5M29dVQQcUOrjAM=
42-
github.com/doublecloud/go-genproto v0.0.0-20240529145340-26557b3e1c45/go.mod h1:GaWzogQ0MCW4OjW16H1DsXiKOqHXqaYsMy0wKfXwoo4=
43-
github.com/doublecloud/go-genproto v0.0.0-20240612040607-16fd63bcc5ed h1:RjkXoGaY2TrqlJ5Oi0O7s7CfwrN29fYlFNaJnlCXM0A=
44-
github.com/doublecloud/go-genproto v0.0.0-20240612040607-16fd63bcc5ed/go.mod h1:GaWzogQ0MCW4OjW16H1DsXiKOqHXqaYsMy0wKfXwoo4=
45-
github.com/doublecloud/go-genproto v0.0.0-20240626040624-2cb8deb5faa5 h1:H9k/J5yH+j/+RlcWiRwyVTY9g6pjQd3vxHtrAcNYymU=
46-
github.com/doublecloud/go-genproto v0.0.0-20240626040624-2cb8deb5faa5/go.mod h1:GaWzogQ0MCW4OjW16H1DsXiKOqHXqaYsMy0wKfXwoo4=
47-
github.com/doublecloud/go-genproto v0.0.0-20240725040634-e3f6c43ce93c h1:eDyLKaPAJx3ZUuObGcYJzfivbH9aOOEIioL12YcHclA=
48-
github.com/doublecloud/go-genproto v0.0.0-20240725040634-e3f6c43ce93c/go.mod h1:GaWzogQ0MCW4OjW16H1DsXiKOqHXqaYsMy0wKfXwoo4=
49-
github.com/doublecloud/go-genproto v0.0.0-20240824040633-99165ea77a1a h1:Q8ADQHa/1jXm9wuFAKRVQITxTDal14UPz8jSLe2e3Xw=
50-
github.com/doublecloud/go-genproto v0.0.0-20240824040633-99165ea77a1a/go.mod h1:GaWzogQ0MCW4OjW16H1DsXiKOqHXqaYsMy0wKfXwoo4=
51-
github.com/doublecloud/go-genproto v0.0.0-20240902170100-19cea4e10df7 h1:vOwY+WZobdK9tmHbv3l5UZcurINWB7wM1yfdNmn0T5g=
52-
github.com/doublecloud/go-genproto v0.0.0-20240902170100-19cea4e10df7/go.mod h1:GaWzogQ0MCW4OjW16H1DsXiKOqHXqaYsMy0wKfXwoo4=
53-
github.com/doublecloud/go-genproto v0.0.0-20240912040719-2755fe5e1955 h1:C2qh4+D4kNBXesdJ348URpLIZCW5koCHyYMteOhMoW8=
54-
github.com/doublecloud/go-genproto v0.0.0-20240912040719-2755fe5e1955/go.mod h1:GaWzogQ0MCW4OjW16H1DsXiKOqHXqaYsMy0wKfXwoo4=
55-
github.com/doublecloud/go-sdk v0.0.0-20240527153948-fe8b945d9b22 h1:4sKcayP0S4Q6QmDI3+2AVFs8FGkQOIONwx+qIPVt5V4=
56-
github.com/doublecloud/go-sdk v0.0.0-20240527153948-fe8b945d9b22/go.mod h1:BOcoNh31FaZe/9QFQfh1Rwyd/+DGlAxbX2qk6WqoX9Y=
57-
github.com/doublecloud/go-sdk v0.0.0-20240530101206-971882315327 h1:q71KkW2S4LltJrGk0rYU20b+j3PsrnmDZOM0+XMl9IE=
58-
github.com/doublecloud/go-sdk v0.0.0-20240530101206-971882315327/go.mod h1:PxAOYLOGjEYF9669PtuaYPkXA5Q0UM8gjZWrg3fKWls=
59-
github.com/doublecloud/go-sdk v0.0.0-20240628095600-ff95c0b743e6 h1:W23aIzU+HF+UoRwar8Rte8wRO2+Sdp1JjZbOAxn3Eik=
60-
github.com/doublecloud/go-sdk v0.0.0-20240628095600-ff95c0b743e6/go.mod h1:qxEJ/5tc4Sxdo6MQyN7WKvcpFGLmVzlPnFtwxzVG1KM=
61-
github.com/doublecloud/go-sdk v0.0.0-20240827073819-751cd5d6101a h1:tJW2IOKC0c68uHkn9qmGaTTTPD+lp71FQ0E4/wlqaEo=
62-
github.com/doublecloud/go-sdk v0.0.0-20240827073819-751cd5d6101a/go.mod h1:0MHntgVhai+geRxHAsvsV9RaTw56M8stqctTc7o7g9c=
37+
github.com/doublecloud/go-genproto v0.0.0-20240925040734-4ee53097d55f h1:aNuGsN/bMi4Iib/0BOhuKAzVyKuS29Npe8mou34+SQI=
38+
github.com/doublecloud/go-genproto v0.0.0-20240925040734-4ee53097d55f/go.mod h1:GaWzogQ0MCW4OjW16H1DsXiKOqHXqaYsMy0wKfXwoo4=
6339
github.com/doublecloud/go-sdk v0.0.0-20240906203850-b5930ce34fca h1:EqUVdzRDTfYdAr5OuRpLJsxFiSngk4GHK3mYcny3Cv4=
6440
github.com/doublecloud/go-sdk v0.0.0-20240906203850-b5930ce34fca/go.mod h1:jo3slNLwp8YdXtuqQEtyISgmMtoExk+1D7O2N8uwyAU=
6541
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
@@ -303,8 +279,6 @@ google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc=
303279
google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ=
304280
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
305281
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
306-
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
307-
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
308282
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
309283
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
310284
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

internal/provider/airflow_cluster_resource.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package provider
33
import (
44
"context"
55
"fmt"
6+
67
"github.com/doublecloud/go-genproto/doublecloud/airflow/v1"
78
dcsdk "github.com/doublecloud/go-sdk"
89
dcgen "github.com/doublecloud/go-sdk/gen/airflow"
@@ -124,7 +125,9 @@ func (a *AirflowClusterConfigModel) convertUpdateConfig() (*airflow.UpdateCluste
124125
}
125126

126127
if a.SyncConfig != nil {
127-
r.GitSync = &airflow.UpdateClusterRequest_UpdateAirflowConfig_UpdateGitSyncConfig{}
128+
r.GitSync = &airflow.UpdateClusterRequest_UpdateAirflowConfig_UpdateGitSyncConfig{
129+
GitSync: &airflow.SyncConfig{},
130+
}
128131

129132
if v := a.SyncConfig.RepoUrl.ValueString(); v != "" {
130133
r.GitSync.GetGitSync().RepoUrl = v
@@ -576,10 +579,11 @@ func updateAirflowClusterRequest(a *AirflowClusterModel) (*airflow.UpdateCluster
576579
rq.Resources = &airflow.UpdateClusterRequest_UpdateClusterResources{
577580
Airflow: &airflow.UpdateClusterRequest_UpdateClusterResources_Airflow{
578581
MaxWorkerCount: wrapperspb.Int64(a.Resources.Airflow.MaxWorkerCount.ValueInt64()),
579-
MinWorkerCount: wrapperspb.Int64(a.Resources.Airflow.MaxWorkerCount.ValueInt64()),
582+
MinWorkerCount: wrapperspb.Int64(a.Resources.Airflow.MinWorkerCount.ValueInt64()),
580583
WorkerConcurrency: wrapperspb.Int64(a.Resources.Airflow.WorkerConcurrency.ValueInt64()),
581584
WorkerDiskSize: wrapperspb.Int64(a.Resources.Airflow.WorkerDiskSize.ValueInt64()),
582-
WorkerPreset: wrapperspb.String(a.Resources.Airflow.MaxWorkerCount.String()),
585+
WorkerPreset: wrapperspb.String(a.Resources.Airflow.WorkerPreset.ValueString()),
586+
EnvironmentFlavor: wrapperspb.String(a.Resources.Airflow.EnvironmentFlavor.ValueString()),
583587
},
584588
}
585589

internal/provider/airflow_cluster_resource_test.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package provider
33
import (
44
"errors"
55
"fmt"
6+
"strings"
7+
"testing"
8+
69
"github.com/doublecloud/go-genproto/doublecloud/airflow/v1"
710
"github.com/hashicorp/terraform-plugin-framework/types"
811
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
9-
"strings"
10-
"testing"
1112
)
1213

1314
var (
@@ -48,10 +49,12 @@ func TestAccAirflowClusterResource(t *testing.T) {
4849
}
4950
// Updated configuration for the Airflow cluster resource
5051
a2 := a
51-
r1 := *a.Resources
52-
r2 := r1
53-
a2.Resources = &r2
52+
r2 := *a.Resources.Airflow
53+
a2.Resources = &AirflowResourcesModel{
54+
Airflow: &r2,
55+
}
5456
a2.Resources.Airflow.MaxWorkerCount = types.Int64Value(3)
57+
a2.Resources.Airflow.EnvironmentFlavor = types.StringValue("prod")
5558
// Run the acceptance test
5659
resource.Test(t, resource.TestCase{
5760
PreCheck: func() { testAccPreCheck(t) },
@@ -81,6 +84,7 @@ func TestAccAirflowClusterResource(t *testing.T) {
8184
Config: testAccAirflowClusterResourceConfig(&a2),
8285
Check: resource.ComposeAggregateTestCheckFunc(
8386
resource.TestCheckResourceAttr(testAccAirflowId, "resources.airflow.max_worker_count", "3"),
87+
resource.TestCheckResourceAttr(testAccAirflowId, "resources.airflow.environment_flavor", "prod"),
8488
),
8589
},
8690

0 commit comments

Comments
 (0)