{"record":{"id":"71f18a86daa1d19f","repo":"kubernetes/kops","slug":"configstore-base-is-not-set-cannot-determine-azur","errorCode":null,"errorMessage":"ConfigStore.Base is not set; cannot determine Azure storage account","messagePattern":"ConfigStore\\.Base is not set; cannot determine Azure storage account","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/defaults.go","lineNumber":173,"sourceCode":"\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsa, err := cloud.(azure.AzureCloud).FindStorageAccountInfo(storageAccountName)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tklog.Infof(\"Found storage account %q\", *sa.ID)\n\t\tc.Spec.CloudProvider.Azure.StorageAccountID = *sa.ID\n\t}\n\n\treturn ensureKubernetesVersion(vfsContext, c)\n}\n\n// azureStorageAccountFromConfigStore extracts the Azure storage account\n// from an azureblob:// ConfigStore.Base.\nfunc azureStorageAccountFromConfigStore(vfsContext *vfs.VFSContext, configBase string) (string, error) {\n\tif configBase == \"\" {\n\t\treturn \"\", fmt.Errorf(\"ConfigStore.Base is not set; cannot determine Azure storage account\")\n\t}\n\tp, err := vfsContext.BuildVfsPath(configBase)\n\tif err != nil {\n\t\treturn \"\", fmt.Errorf(\"parsing ConfigStore.Base %q: %w\", configBase, err)\n\t}\n\tazurePath, ok := p.(*vfs.AzureBlobPath)\n\tif !ok {\n\t\treturn \"\", fmt.Errorf(\"expected azureblob:// ConfigStore.Base for Azure cluster, got %q\", configBase)\n\t}\n\treturn azurePath.Account(), nil\n}\n\n// ensureKubernetesVersion populates KubernetesVersion, if it is not already set\n// It will be populated with the latest stable kubernetes version, or the version from the channel\nfunc ensureKubernetesVersion(vfsContext *vfs.VFSContext, c *kops.Cluster) error {\n\tif c.Spec.KubernetesVersion == \"\" {\n\t\tif c.Spec.Channel != \"\" {\n\t\t\tchannel, err := kops.LoadChannel(vfsContext, c.Spec.Channel)","sourceCodeStart":155,"sourceCodeEnd":191,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/defaults.go#L155-L191","documentation":"Empty-input guard in azureStorageAccountFromConfigStore: the cluster's ConfigStore.Base (state location) is empty, so the Azure storage account for the state store cannot be derived. Fires when the cluster spec lacks a config base on Azure clusters.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/defaults.go:173 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set --state / spec.configBase to an azureblob:// URL","Re-run create cluster with a valid state store configured"],"exampleFix":null,"handlingStrategy":"validation","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-12T07:17:12.445Z"}