Skip to content

Commit edee89e

Browse files
Merge pull request #318 from wshearn/rotatefixes
[OSD-12879] Some minor fixes related to the previous changes
2 parents 76fa2a1 + 3485884 commit edee89e

File tree

1 file changed

+36
-29
lines changed

1 file changed

+36
-29
lines changed

cmd/account/rotate-secret.go

+36-29
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515
hiveinternalv1alpha1 "github.com/openshift/hive/apis/hiveinternal/v1alpha1"
1616
corev1 "k8s.io/api/core/v1"
1717
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
18-
"k8s.io/utils/pointer"
1918

2019
"k8s.io/apimachinery/pkg/types"
2120
"k8s.io/cli-runtime/pkg/genericclioptions"
@@ -219,9 +218,6 @@ func (o *rotateSecretOptions) run() error {
219218
"aws_secret_access_key": []byte(*createAccessKeyOutput.AccessKey.SecretAccessKey),
220219
}
221220

222-
// Escalte to backplane cluster admin
223-
o.flags.Impersonate = pointer.StringPtr("backplane-cluster-admin")
224-
225221
// Update existing osdManagedAdmin secret
226222
err = common.UpdateSecret(o.kubeCli, o.accountCRName+"-secret", common.AWSAccountNamespace, newOsdManagedAdminSecretData)
227223
if err != nil {
@@ -234,6 +230,23 @@ func (o *rotateSecretOptions) run() error {
234230
return err
235231
}
236232

233+
fmt.Println("AWS creds updated on hive.")
234+
235+
clusterDeployments := &hiveapiv1.ClusterDeploymentList{}
236+
listOpts := []client.ListOption{
237+
client.InNamespace(account.Spec.ClaimLinkNamespace),
238+
}
239+
240+
err = o.kubeCli.List(ctx, clusterDeployments, listOpts...)
241+
if err != nil {
242+
return err
243+
}
244+
245+
if len(clusterDeployments.Items) == 0 {
246+
return fmt.Errorf("failed to retreive cluster deployments")
247+
}
248+
cdName := clusterDeployments.Items[0].ObjectMeta.Name
249+
237250
// Create syncset to deploy the updated creds to the cluster for CCO
238251
syncSetName := "aws-sync"
239252
syncSet := &hiveapiv1.SyncSet{
@@ -242,6 +255,11 @@ func (o *rotateSecretOptions) run() error {
242255
Namespace: account.Spec.ClaimLinkNamespace,
243256
},
244257
Spec: hiveapiv1.SyncSetSpec{
258+
ClusterDeploymentRefs: []corev1.LocalObjectReference{
259+
{
260+
Name: cdName,
261+
},
262+
},
245263
SyncSetCommonSpec: hiveapiv1.SyncSetCommonSpec{
246264
ResourceApplyMode: "Upsert",
247265
Secrets: []hiveapiv1.SecretMapping{
@@ -258,40 +276,29 @@ func (o *rotateSecretOptions) run() error {
258276
},
259277
},
260278
}
279+
fmt.Println("Syncing AWS creds down to cluster.")
261280
err = o.kubeCli.Create(ctx, syncSet)
262281
if err != nil {
263282
return err
264283
}
265284

266-
clusterDeployments := &hiveapiv1.ClusterDeploymentList{}
267-
listOpts := []client.ListOption{
268-
client.InNamespace(account.Spec.ClaimLinkNamespace),
269-
}
270-
271-
err = o.kubeCli.List(ctx, clusterDeployments, listOpts...)
272-
if err != nil {
273-
return err
274-
}
275-
276-
if len(clusterDeployments.Items) == 0 {
277-
return fmt.Errorf("failed to retreive cluster deployments")
278-
}
279-
cdName := clusterDeployments.Items[0].ObjectMeta.Name
280-
281-
syncStatus := &hiveinternalv1alpha1.ClusterSync{
285+
fmt.Printf("Watching Cluster Sync Status for deployment...")
286+
hiveinternalv1alpha1.AddToScheme(o.kubeCli.Scheme())
287+
searchStatus := &hiveinternalv1alpha1.ClusterSync{
282288
ObjectMeta: metav1.ObjectMeta{
283289
Name: cdName,
284290
Namespace: account.Spec.ClaimLinkNamespace,
285291
},
286292
}
287-
288-
fmt.Printf("Watching Cluster Sync Status for deployment...")
289-
293+
foundStatus := &hiveinternalv1alpha1.ClusterSync{}
290294
isSSSynced := false
291-
for i := 0; i < 5; i++ {
292-
o.kubeCli.Get(ctx, client.ObjectKeyFromObject(syncStatus), syncStatus)
295+
for i := 0; i < 6; i++ {
296+
err = o.kubeCli.Get(ctx, client.ObjectKeyFromObject(searchStatus), foundStatus)
297+
if err != nil {
298+
return err
299+
}
293300

294-
for _, status := range syncStatus.Status.SyncSets {
301+
for _, status := range foundStatus.Status.SyncSets {
295302
if status.Name == syncSetName {
296303
if status.FirstSuccessTime != nil {
297304
isSSSynced = true
@@ -301,15 +308,15 @@ func (o *rotateSecretOptions) run() error {
301308
}
302309

303310
if isSSSynced {
304-
fmt.Printf("Sync completed...")
311+
fmt.Printf("\nSync completed...\n")
305312
break
306313
}
307314

308-
fmt.Printf("Sync not completed, sleeping 5 seconds and rechecking...")
315+
fmt.Printf(".")
309316
time.Sleep(time.Second * 5)
310317
}
311318
if !isSSSynced {
312-
return fmt.Errorf("syncset failed to sync in 5mins. Please verify")
319+
return fmt.Errorf("syncset failed to sync. Please verify")
313320
}
314321

315322
// Clean up the SS on hive

0 commit comments

Comments
 (0)