Skip to content

Commit

Permalink
Add support for force-ugprading managed nodegroups
Browse files Browse the repository at this point in the history
  • Loading branch information
cPu1 committed Oct 16, 2020
1 parent 3ad9e4b commit fbd24d1
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
1 change: 1 addition & 0 deletions pkg/ctl/upgrade/nodegroup.go
Expand Up @@ -30,6 +30,7 @@ func upgradeNodeGroupCmd(cmd *cmdutils.Cmd) {
fs.StringVarP(&options.NodegroupName, "name", "", "", "Nodegroup name")
fs.StringVarP(&options.KubernetesVersion, "kubernetes-version", "", "", "Kubernetes version")
fs.StringVarP(&options.LaunchTemplateVersion, "launch-template-version", "", "", "Launch template version")
fs.BoolVar(&options.ForceUpgrade, "force-upgrade", false, "Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue")

cmdutils.AddRegionFlag(fs, &cmd.ProviderConfig)
cmdutils.AddConfigFileFlag(fs, &cmd.ClusterConfigFile)
Expand Down
4 changes: 4 additions & 0 deletions pkg/managed/service.go
Expand Up @@ -48,6 +48,8 @@ type UpgradeOptions struct {
// LaunchTemplateVersion launch template version
// valid only if a nodegroup was created with a launch template
LaunchTemplateVersion string
//ForceUpgrade enables force upgrade
ForceUpgrade bool
}

// TODO use goformation types
Expand Down Expand Up @@ -241,6 +243,8 @@ func (m *Service) UpgradeNodeGroup(options UpgradeOptions) error {
ngResource.LaunchTemplate.Version = gfnt.NewString(options.LaunchTemplateVersion)
}

ngResource.ForceUpdateEnabled = gfnt.NewBoolean(options.ForceUpgrade)

logger.Info("upgrading nodegroup version")
if err := updateStack(stack); err != nil {
return err
Expand Down

0 comments on commit fbd24d1

Please sign in to comment.