{"record":{"id":"41907174c7578dfc","repo":"kubernetes/kops","slug":"error-retrieving-network-with-id-s-v","errorCode":null,"errorMessage":"error retrieving network with id %s: %v","messagePattern":"error retrieving network with id (.+?): (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/openstack/network.go","lineNumber":88,"sourceCode":"\t}\n}\n\nfunc (c *openstackCloud) FindNetworkBySubnetID(subnetID string) (*networks.Network, error) {\n\treturn findNetworkBySubnetID(c, subnetID)\n}\n\nfunc findNetworkBySubnetID(c OpenstackCloud, subnetID string) (*networks.Network, error) {\n\tvar rslt *networks.Network\n\tdone, err := vfs.RetryWithBackoff(readBackoff, func() (bool, error) {\n\t\tsubnet, err := c.GetSubnet(subnetID)\n\t\tif err != nil {\n\t\t\treturn false, fmt.Errorf(\"error retrieving subnet with id %s: %v\", subnetID, err)\n\t\t}\n\n\t\tnetID := subnet.NetworkID\n\t\tnet, err := c.GetNetwork(netID)\n\t\tif err != nil {\n\t\t\treturn false, fmt.Errorf(\"error retrieving network with id %s: %v\", netID, err)\n\t\t}\n\t\trslt = net\n\t\treturn true, nil\n\t})\n\tif err != nil {\n\t\treturn nil, err\n\t} else if done {\n\t\treturn rslt, nil\n\t} else {\n\t\treturn nil, wait.ErrWaitTimeout\n\t}\n}\n\nfunc (c *openstackCloud) GetNetwork(id string) (*networks.Network, error) {\n\treturn getNetwork(c, id)\n}\n\nfunc getNetwork(c OpenstackCloud, id string) (*networks.Network, error) {","sourceCodeStart":70,"sourceCodeEnd":106,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/openstack/network.go#L70-L106","documentation":"After successfully resolving the subnet, fetching its parent network by NetworkID failed. The GetNetwork call is retried; failure means the network could not be read even though the subnet references it.","triggerScenarios":"The network referenced by subnet.NetworkID cannot be fetched: 404 (network deleted), 403 (no access), or API error.","commonSituations":"Subnet's parent network deleted between the two calls; shared-network RBAC denies cross-project network read; Neutron outage.","solutions":[],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"net, err := findNetworkBySubnetID(c, subnetID)\nif err != nil {\n    var gerr gophercloud.ErrUnexpectedResponseCode\n    if errors.As(err, &gerr) && gerr.Actual == 403 {\n        return fmt.Errorf(\"no RBAC access to subnet's network: %w\", err)\n    }\n    return err\n}","preventionTips":["Set up Neutron RBAC for shared networks accessed cross-project","Avoid deleting a subnet's parent network out-of-band","Use subnets whose networks are readable by the cluster's project"],"tags":["openstack","neutron","network","lookup"],"backgroundTag":"resource-not-found","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"}