mirror of https://github.com/kubernetes/kops.git
upgrade cluster: support comma separated list for machineType
This commit is contained in:
parent
7ccf569518
commit
eab8f665bb
|
|
@ -20,6 +20,7 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/blang/semver/v4"
|
"github.com/blang/semver/v4"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
@ -174,9 +175,14 @@ func (c *UpgradeClusterCmd) Run(ctx context.Context, args []string) error {
|
||||||
// Prompt to upgrade image
|
// Prompt to upgrade image
|
||||||
if proposedKubernetesVersion != nil {
|
if proposedKubernetesVersion != nil {
|
||||||
for _, ig := range instanceGroups {
|
for _, ig := range instanceGroups {
|
||||||
architecture, err := cloudup.MachineArchitecture(cloud, ig.Spec.MachineType)
|
// Before kops v1.23, Spotinst uses the "ig.Spec.MachineType" field as a comma separated list to determine (among other) the allowed spot types.
|
||||||
|
// A list is allowed only if all the items are with the same arch.
|
||||||
|
// Therefore, it should be enough to check the arch for the first (possibly only) item
|
||||||
|
machineType := strings.Split(ig.Spec.MachineType, ",")[0]
|
||||||
|
|
||||||
|
architecture, err := cloudup.MachineArchitecture(cloud, machineType)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Warningf("Error finding architecture for machine type %q: %v", ig.Spec.MachineType, err)
|
klog.Warningf("Error finding architecture for machine type %q: %v", machineType, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
image := channel.FindImage(cloud.ProviderID(), *proposedKubernetesVersion, architecture)
|
image := channel.FindImage(cloud.ProviderID(), *proposedKubernetesVersion, architecture)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue