Skip to content

Commit 1b6dda4

Browse files
authored
Merge pull request #867 from andykrohg/main
OCM-13503 | feat: ROSA GovCloud Support
2 parents 5b15468 + 3e9e02e commit 1b6dda4

File tree

21 files changed

+73
-40
lines changed

21 files changed

+73
-40
lines changed

docs/data-sources/policies.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Read-Only:
4141

4242
Read-Only:
4343

44+
- `openshift_aws_vpce_operator_avo_aws_creds_policy` (String)
4445
- `openshift_cloud_credential_operator_cloud_credential_operator_iam_ro_creds_policy` (String)
4546
- `openshift_cloud_network_config_controller_cloud_credentials_policy` (String)
4647
- `openshift_cluster_csi_drivers_ebs_cloud_credentials_policy` (String)

provider/autoscaler/classic/resource.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,16 +198,16 @@ func (r *ClusterAutoscalerResource) Configure(ctx context.Context, req resource.
198198
return
199199
}
200200

201-
collection, ok := req.ProviderData.(*sdk.Connection)
201+
connection, ok := req.ProviderData.(*sdk.Connection)
202202
if !ok {
203203
resp.Diagnostics.AddError("Unexpected Resource Configure Type",
204204
fmt.Sprintf("Expected *sdk.Connaction, got: %T. Please report this issue to the provider developers.", req.ProviderData),
205205
)
206206
return
207207
}
208208

209-
r.collection = collection.ClustersMgmt().V1().Clusters()
210-
r.clusterWait = common.NewClusterWait(r.collection)
209+
r.collection = connection.ClustersMgmt().V1().Clusters()
210+
r.clusterWait = common.NewClusterWait(r.collection, connection)
211211
}
212212

213213
func (r *ClusterAutoscalerResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) {

provider/autoscaler/hcp/resource.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,16 +101,16 @@ func (r *ClusterAutoscalerResource) Configure(ctx context.Context, req resource.
101101
return
102102
}
103103

104-
collection, ok := req.ProviderData.(*sdk.Connection)
104+
connection, ok := req.ProviderData.(*sdk.Connection)
105105
if !ok {
106106
resp.Diagnostics.AddError("Unexpected Resource Configure Type",
107107
fmt.Sprintf("Expected *sdk.Connaction, got: %T. Please report this issue to the provider developers.", req.ProviderData),
108108
)
109109
return
110110
}
111111

112-
r.collection = collection.ClustersMgmt().V1().Clusters()
113-
r.clusterWait = common.NewClusterWait(r.collection)
112+
r.collection = connection.ClustersMgmt().V1().Clusters()
113+
r.clusterWait = common.NewClusterWait(r.collection, connection)
114114
}
115115

116116
func (r *ClusterAutoscalerResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) {

provider/clusterrosa/classic/cluster_rosa_classic_datasource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ func (r *ClusterRosaClassicDatasource) Configure(ctx context.Context, req dataso
345345

346346
r.clusterCollection = connection.ClustersMgmt().V1().Clusters()
347347
r.versionCollection = connection.ClustersMgmt().V1().Versions()
348-
r.clusterWait = common.NewClusterWait(r.clusterCollection)
348+
r.clusterWait = common.NewClusterWait(r.clusterCollection, connection)
349349
}
350350

351351
func (r *ClusterRosaClassicDatasource) Read(ctx context.Context, request datasource.ReadRequest,

provider/clusterrosa/classic/cluster_rosa_classic_resource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ func (r *ClusterRosaClassicResource) Configure(ctx context.Context, req resource
482482

483483
r.ClusterCollection = connection.ClustersMgmt().V1().Clusters()
484484
r.VersionCollection = connection.ClustersMgmt().V1().Versions()
485-
r.ClusterWait = common.NewClusterWait(r.ClusterCollection)
485+
r.ClusterWait = common.NewClusterWait(r.ClusterCollection, connection)
486486
}
487487

488488
const (

provider/clusterrosa/hcp/datasource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ func (r *ClusterRosaHcpDatasource) Configure(ctx context.Context, req datasource
310310

311311
r.clusterCollection = connection.ClustersMgmt().V1().Clusters()
312312
r.versionCollection = connection.ClustersMgmt().V1().Versions()
313-
r.clusterWait = common.NewClusterWait(r.clusterCollection)
313+
r.clusterWait = common.NewClusterWait(r.clusterCollection, connection)
314314
}
315315

316316
func (r *ClusterRosaHcpDatasource) Read(ctx context.Context, request datasource.ReadRequest,

provider/clusterrosa/hcp/resource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ func (r *ClusterRosaHcpResource) Configure(ctx context.Context, req resource.Con
433433

434434
r.ClusterCollection = connection.ClustersMgmt().V1().Clusters()
435435
r.VersionCollection = connection.ClustersMgmt().V1().Versions()
436-
r.ClusterWait = common.NewClusterWait(r.ClusterCollection)
436+
r.ClusterWait = common.NewClusterWait(r.ClusterCollection, connection)
437437
}
438438

439439
const (

provider/clusterwaiter/cluster_waiter_resource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ func (r *ClusterWaiterResource) Configure(ctx context.Context, req resource.Conf
7979
}
8080

8181
r.collection = connection.ClustersMgmt().V1().Clusters()
82-
r.clusterWait = common.NewClusterWait(r.collection)
82+
r.clusterWait = common.NewClusterWait(r.collection, connection)
8383
}
8484

8585
func (r *ClusterWaiterResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {

provider/common/cluster_waiter.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"time"
88

99
"github.com/hashicorp/terraform-plugin-log/tflog"
10+
sdk "github.com/openshift-online/ocm-sdk-go"
1011
cmv1 "github.com/openshift-online/ocm-sdk-go/clustersmgmt/v1"
1112
)
1213

@@ -20,10 +21,14 @@ type ClusterWait interface {
2021

2122
type DefaultClusterWait struct {
2223
collection *cmv1.ClustersClient
24+
connection *sdk.Connection
2325
}
2426

25-
func NewClusterWait(collection *cmv1.ClustersClient) ClusterWait {
26-
return &DefaultClusterWait{collection: collection}
27+
func NewClusterWait(collection *cmv1.ClustersClient, connection *sdk.Connection) ClusterWait {
28+
return &DefaultClusterWait{
29+
collection: collection,
30+
connection: connection,
31+
}
2732
}
2833

2934
func (dw *DefaultClusterWait) WaitForStdComputeNodesToBeReady(ctx context.Context, clusterId string, waitTimeoutMin int64) (*cmv1.Cluster, error) {
@@ -49,6 +54,8 @@ func (dw *DefaultClusterWait) WaitForStdComputeNodesToBeReady(ctx context.Contex
4954
backoffSleep := 30 * time.Second
5055
var cluster *cmv1.Cluster
5156
for cluster == nil {
57+
tflog.Debug(ctx, fmt.Sprintf("Updating tokens for cluster %s", clusterId))
58+
dw.connection.Tokens()
5259
cluster, err = pollClusterCurrentCompute(clusterId, ctx, waitTimeoutMin, dw.collection)
5360
if err != nil {
5461
backoffAttempts--
@@ -98,6 +105,8 @@ func (dw *DefaultClusterWait) WaitForClusterToBeReady(ctx context.Context, clust
98105
backoffSleep := 30 * time.Second
99106
var cluster *cmv1.Cluster
100107
for cluster == nil {
108+
tflog.Debug(ctx, fmt.Sprintf("Updating tokens for cluster %s", clusterId))
109+
dw.connection.Tokens()
101110
cluster, err = pollClusterState(clusterId, ctx, waitTimeoutMin, dw.collection)
102111
if err != nil {
103112
backoffAttempts--

provider/defaultingress/classic/resource.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,16 +141,16 @@ func (r *DefaultIngressResource) Configure(ctx context.Context, req resource.Con
141141
return
142142
}
143143

144-
collection, ok := req.ProviderData.(*sdk.Connection)
144+
connection, ok := req.ProviderData.(*sdk.Connection)
145145
if !ok {
146146
resp.Diagnostics.AddError("Unexpected Resource Configure Type",
147-
fmt.Sprintf("Expected *sdk.Connaction, got: %T. Please report this issue to the provider developers.", req.ProviderData),
147+
fmt.Sprintf("Expected *sdk.Connection, got: %T. Please report this issue to the provider developers.", req.ProviderData),
148148
)
149149
return
150150
}
151151

152-
r.collection = collection.ClustersMgmt().V1().Clusters()
153-
r.clusterWait = common.NewClusterWait(r.collection)
152+
r.collection = connection.ClustersMgmt().V1().Clusters()
153+
r.clusterWait = common.NewClusterWait(r.collection, connection)
154154
}
155155

156156
func (r *DefaultIngressResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {

0 commit comments

Comments
 (0)