Skip to content

Commit

Permalink
move resource set building into task creation
Browse files Browse the repository at this point in the history
  • Loading branch information
aclevername committed Jan 15, 2021
1 parent ef06dc2 commit 698ef53
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 15 deletions.
2 changes: 1 addition & 1 deletion pkg/actions/iam/iam.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func New(clusterName string, clusterProvider *eks.ClusterProvider, stackManager
func doTasks(taskTree *tasks.TaskTree) error {
logger.Info(taskTree.Describe())
if errs := taskTree.DoAllSync(); len(errs) > 0 {
logger.Info("%d error(s) occurred and IAM Role stacks haven't been created properly, you may wish to check CloudFormation console", len(errs))
logger.Info("%d error(s) occurred and IAM Role stacks haven't been updated properly, you may wish to check CloudFormation console", len(errs))
for _, err := range errs {
logger.Critical("%s\n", err.Error())
}
Expand Down
22 changes: 20 additions & 2 deletions pkg/actions/iam/tasks.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,30 @@ package iam
import (
"fmt"

iamoidc "github.com/weaveworks/eksctl/pkg/iam/oidc"

"github.com/weaveworks/eksctl/pkg/cfn/builder"

api "github.com/weaveworks/eksctl/pkg/apis/eksctl.io/v1alpha5"
"github.com/weaveworks/eksctl/pkg/cfn/manager"
"github.com/weaveworks/eksctl/pkg/utils/tasks"
)

func UpdateIAMServiceAccountTask(clusterName string, sa *api.ClusterIAMServiceAccount, stackManager StackManager, templateData manager.TemplateData) *tasks.TaskTree {
func NewUpdateIAMServiceAccountTask(clusterName string, sa *api.ClusterIAMServiceAccount, stackManager StackManager, iamServiceAccount *api.ClusterIAMServiceAccount, oidcManager *iamoidc.OpenIDConnectManager) (*tasks.TaskTree, error) {

rs := builder.NewIAMServiceAccountResourceSet(iamServiceAccount, oidcManager)
err := rs.AddAllResources()
if err != nil {
return nil, err
}

template, err := rs.RenderJSON()
if err != nil {
return nil, err
}

var templateData manager.TemplateBody = template

taskTree := &tasks.TaskTree{Parallel: false}

taskTree.Append(
Expand All @@ -20,7 +38,7 @@ func UpdateIAMServiceAccountTask(clusterName string, sa *api.ClusterIAMServiceAc
clusterName: clusterName,
},
)
return taskTree
return taskTree, nil
}

type updateIAMServiceAccountTask struct {
Expand Down
13 changes: 1 addition & 12 deletions pkg/actions/iam/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ import (
"github.com/weaveworks/eksctl/pkg/utils/tasks"

api "github.com/weaveworks/eksctl/pkg/apis/eksctl.io/v1alpha5"
"github.com/weaveworks/eksctl/pkg/cfn/builder"
"github.com/weaveworks/eksctl/pkg/cfn/manager"
)

func (a *Manager) UpdateIAMServiceAccounts(iamServiceAccounts []*api.ClusterIAMServiceAccount, plan bool) error {
Expand All @@ -31,19 +29,10 @@ func (a *Manager) UpdateIAMServiceAccounts(iamServiceAccounts []*api.ClusterIAMS
continue
}

rs := builder.NewIAMServiceAccountResourceSet(iamServiceAccount, a.oidcManager)
err = rs.AddAllResources()
taskTree, err := NewUpdateIAMServiceAccountTask(a.clusterName, iamServiceAccount, a.stackManager, iamServiceAccount, a.oidcManager)
if err != nil {
return err
}

template, err := rs.RenderJSON()
if err != nil {
return err
}

var templateBody manager.TemplateBody = template
taskTree := UpdateIAMServiceAccountTask(a.clusterName, iamServiceAccount, a.stackManager, templateBody)
taskTree.PlanMode = plan
updateTasks.Append(taskTree)
}
Expand Down

0 comments on commit 698ef53

Please sign in to comment.