{"record":{"id":"ba8ddb567dfa3740","repo":"kubernetes/kops","slug":"error-finding-network-v","errorCode":null,"errorMessage":"error finding network: %v","messagePattern":"error finding network: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/new_cluster.go","lineNumber":704,"sourceCode":"\t\t\t// TODO remove this logging?\n\t\t\tklog.Infof(\"VMs will be configured to use specified Service Account: %v\", opt.GCEServiceAccount)\n\t\t\tcluster.Spec.CloudProvider.GCE.ServiceAccount = opt.GCEServiceAccount\n\t\t}\n\n\tcase api.CloudProviderOpenstack:\n\t\tif cluster.Spec.CloudConfig == nil {\n\t\t\tcluster.Spec.CloudConfig = &api.CloudConfiguration{}\n\t\t}\n\n\t\tif cluster.Spec.Networking.NetworkID == \"\" && len(opt.SubnetIDs) > 0 {\n\t\t\tosCloud, err := openstack.NewOpenstackCloud(cluster, \"new-cluster-setupvpc\")\n\t\t\tif err != nil {\n\t\t\t\treturn fmt.Errorf(\"error loading cloud: %v\", err)\n\t\t\t}\n\n\t\t\tres, err := osCloud.FindNetworkBySubnetID(opt.SubnetIDs[0])\n\t\t\tif err != nil {\n\t\t\t\treturn fmt.Errorf(\"error finding network: %v\", err)\n\t\t\t}\n\t\t\tcluster.Spec.Networking.NetworkID = res.ID\n\t\t}\n\n\t\tif opt.OpenstackDNSServers != \"\" {\n\t\t\tcluster.Spec.CloudProvider.Openstack.Router.DNSServers = new(opt.OpenstackDNSServers)\n\t\t}\n\t\tif opt.OpenstackExternalSubnet != \"\" {\n\t\t\tcluster.Spec.CloudProvider.Openstack.Router.ExternalSubnet = new(opt.OpenstackExternalSubnet)\n\t\t}\n\tcase api.CloudProviderAzure:\n\t\t// TODO(kenji): Find a right place for this.\n\n\t\t// Creating an empty CloudConfig so that --cloud-config is passed to kubelet, api-server, etc.\n\t\tif cluster.Spec.CloudConfig == nil {\n\t\t\tcluster.Spec.CloudConfig = &api.CloudConfiguration{}\n\t\t}\n\t}","sourceCodeStart":686,"sourceCodeEnd":722,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/new_cluster.go#L686-L722","documentation":"setupVPC (Openstack branch) wraps the error from finding the Openstack network matching the given subnet ID. It fires when the network query fails or the subnet's network cannot be located, so cluster.Spec.Networking.NetworkID cannot be populated.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/new_cluster.go:704 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the subnet/network IDs exist in the OpenStack project","Check Networking (Neutron) API access and quotas","Pass the network ID explicitly via configuration options"],"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"}