diff --git a/cmd/edit/machinepool/machinepool.go b/cmd/edit/machinepool/machinepool.go index 522333be98..1623a0f501 100644 --- a/cmd/edit/machinepool/machinepool.go +++ b/cmd/edit/machinepool/machinepool.go @@ -164,12 +164,21 @@ func getMachinePoolReplicas(cmd *cobra.Command, } if autoscaling { + + // set default values from previous autoscaling values + if !isMinReplicasSet { + minReplicas = existingAutoscaling.MinReplicas() + } + if !isMaxReplicasSet { + maxReplicas = existingAutoscaling.MaxReplicas() + } + // Prompt for min replicas if neither min or max is set or interactive mode if !isMinReplicasSet && (interactive.Enabled() || !isMaxReplicasSet && askForScalingParams) { minReplicas, err = interactive.GetInt(interactive.Input{ Question: "Min replicas", Help: cmd.Flags().Lookup("min-replicas").Usage, - Default: existingAutoscaling.MinReplicas(), + Default: minReplicas, Required: replicasRequired, }) if err != nil { @@ -183,7 +192,7 @@ func getMachinePoolReplicas(cmd *cobra.Command, maxReplicas, err = interactive.GetInt(interactive.Input{ Question: "Max replicas", Help: cmd.Flags().Lookup("max-replicas").Usage, - Default: existingAutoscaling.MaxReplicas(), + Default: maxReplicas, Required: replicasRequired, }) if err != nil { @@ -222,20 +231,15 @@ func editMachinePoolAutoscaling(machinePool *cmv1.MachinePool, asBuilder := cmv1.NewMachinePoolAutoscaling() changed := false - newMin := machinePool.Autoscaling().MinReplicas() - newMax := machinePool.Autoscaling().MaxReplicas() - if machinePool.Autoscaling().MinReplicas() != minReplicas && minReplicas >= 0 { - newMin = minReplicas changed = true } if machinePool.Autoscaling().MaxReplicas() != maxReplicas && maxReplicas >= 0 { - newMax = maxReplicas changed = true } if changed { - asBuilder = asBuilder.MinReplicas(newMin).MaxReplicas(newMax) + asBuilder = asBuilder.MinReplicas(minReplicas).MaxReplicas(maxReplicas) return asBuilder } return nil diff --git a/cmd/edit/machinepool/machinepool_test.go b/cmd/edit/machinepool/machinepool_test.go index d9551b62ed..346f7ac981 100644 --- a/cmd/edit/machinepool/machinepool_test.go +++ b/cmd/edit/machinepool/machinepool_test.go @@ -36,16 +36,6 @@ var _ = Describe("Machinepool", func() { asBuilder := cmv1.NewMachinePoolAutoscaling().MaxReplicas(2).MinReplicas(0) Expect(builder).To(Equal(asBuilder)) }) - - It("editMachinePoolAutoscaling should allow 0 min and 0 max replicas", func() { - machinePool, err := cmv1.NewMachinePool(). - Autoscaling(cmv1.NewMachinePoolAutoscaling().MaxReplicas(2).MinReplicas(1)). - Build() - Expect(err).ToNot(HaveOccurred()) - builder := editMachinePoolAutoscaling(machinePool, 0, 0) - asBuilder := cmv1.NewMachinePoolAutoscaling().MaxReplicas(0).MinReplicas(0) - Expect(builder).To(Equal(asBuilder)) - }) }) Context("isMultiAZMachinePool", func() {