{"record":{"id":"fa9731cec7d071d3","repo":"kubernetes/kops","slug":"unknown-cloudprovider-q","errorCode":null,"errorMessage":"unknown cloudprovider %q","messagePattern":"unknown cloudprovider %q","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/model/master_volumes.go","lineNumber":137,"sourceCode":"\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\tcase kops.CloudProviderAzure:\n\t\t\t\terr = b.addAzureVolume(c, name, volumeSize, zone, etcd, m, allMembers)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\tcase kops.CloudProviderScaleway:\n\t\t\t\tb.addScalewayVolume(c, name, volumeSize, zone, etcd, m, allMembers)\n\n\t\t\tcase kops.CloudProviderLinode:\n\t\t\t\tb.addLinodeVolume(c, name, volumeSize, zone, etcd, m, allMembers)\n\n\t\t\tcase kops.CloudProviderMetal:\n\t\t\t\t// Nothing special to do for Metal (yet)\n\n\t\t\tdefault:\n\t\t\t\treturn fmt.Errorf(\"unknown cloudprovider %q\", b.Cluster.GetCloudProvider())\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (b *MasterVolumeBuilder) addAWSVolume(c *fi.CloudupModelBuilderContext, name string, volumeSize int32, zone string, etcd kops.EtcdClusterSpec, m kops.EtcdMemberSpec, allMembers []string) error {\n\t// https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html\n\tvolumeType := fi.ValueOf(m.VolumeType)\n\tif volumeType == \"\" {\n\t\tvolumeType = DefaultAWSEtcdVolumeType\n\t}\n\tvolumeIops := fi.ValueOf(m.VolumeIOPS)\n\tvolumeThroughput := fi.ValueOf(m.VolumeThroughput)\n\tswitch ec2types.VolumeType(volumeType) {\n\tcase ec2types.VolumeTypeIo1, ec2types.VolumeTypeIo2:\n\t\tif volumeIops < 100 {\n\t\t\tvolumeIops = DefaultAWSEtcdVolumeIonIops","sourceCodeStart":119,"sourceCodeEnd":155,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/pkg/model/master_volumes.go#L119-L155","documentation":"The switch over the cluster's cloud provider fell through to the default case while building etcd volumes: the provider set in the cluster spec has no volume-provisioning branch in this builder. It indicates an unsupported/misspelled provider value rather than an infrastructure failure.","triggerScenarios":"Thrown at pkg/model/master_volumes.go:137 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check spec.cloudProvider in the cluster spec and set it to a supported provider (aws, azure, gcp, openstack, etc.)","If the provider is valid but new, add a corresponding volume case to the builder switch"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4c8573c808a73d578c5eadc86d410646ea0b0d73","analyzedAt":"2026-09-05T04:13:19.212Z","contentChangedAt":"2026-09-05T04:13:19.212Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}