{"record":{"id":"a7d0c8354004250a","repo":"kubernetes/kops","slug":"parsing-configstore-base-q-w-a7d0c8","errorCode":null,"errorMessage":"parsing ConfigStore.Base %q: %w","messagePattern":"parsing ConfigStore\\.Base %q: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/defaults.go","lineNumber":177,"sourceCode":"\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)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tkubernetesVersion := kops.RecommendedKubernetesVersion(channel, kopsversion.Version)","sourceCodeStart":159,"sourceCodeEnd":195,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/defaults.go#L159-L195","documentation":"Wraps vfsContext.BuildVfsPath failure while parsing the ConfigStore.Base URL to extract the Azure storage account name. Fires when the config base string is not a parseable VFS path (bad scheme, malformed azureblob:// URL).","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/defaults.go:177 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Correct the config base to a well-formed azureblob://<container>/... URL","Check for typos in the --state flag","Re-run the operation after fixing the state path"],"exampleFix":null,"handlingStrategy":"try-catch","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"}