{"record":{"id":"323c93a5906f06b5","repo":"kubernetes/kops","slug":"error-finding-port-s-v","errorCode":null,"errorMessage":"error finding port %s: %v","messagePattern":"error finding port (.+?): (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/openstack/instance.go","lineNumber":109,"sourceCode":"\t\tif server.Status == activeStatus {\n\t\t\treturn true, nil\n\t\t}\n\n\t\treturn false, nil\n\t})\n}\n\nfunc createInstance(c OpenstackCloud, opt servers.CreateOptsBuilder, schedulerHints servers.SchedulerHintOptsBuilder, portID string) (*servers.Server, error) {\n\tvar server *servers.Server\n\n\tdone, err := vfs.RetryWithBackoff(writeBackoff, func() (bool, error) {\n\n\t\tv, err := servers.Create(context.TODO(), c.ComputeClient(), opt, schedulerHints).Extract()\n\t\tif err != nil {\n\t\t\tif IsPortInUse(err) && portID != \"\" {\n\t\t\t\tport, err := c.GetPort(portID)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn false, fmt.Errorf(\"error finding port %s: %v\", portID, err)\n\t\t\t\t}\n\t\t\t\t// port is attached to deleted instance, we need reset the status of the DeviceID\n\t\t\t\t// this is bug in OpenStack APIs\n\t\t\t\tif port.DeviceID != \"\" && port.DeviceOwner == \"\" {\n\t\t\t\t\tklog.Warningf(\"Port %s is attached to Device that does not exist anymore, reseting the status of DeviceID\", portID)\n\t\t\t\t\t_, err := c.UpdatePort(portID, ports.UpdateOpts{\n\t\t\t\t\t\tDeviceID: new(\"\"),\n\t\t\t\t\t})\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn false, fmt.Errorf(\"error updating port %s deviceid: %v\", portID, err)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false, fmt.Errorf(\"error creating server %v: %v\", opt, err)\n\t\t}\n\t\tserver = v\n\n\t\terr = waitForStatusActive(c, server.ID, nil)","sourceCodeStart":91,"sourceCodeEnd":127,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/openstack/instance.go#L91-L127","documentation":"During instance creation, a 'port already in use' error was returned and the code attempted to look up the referenced port, but the Neutron GetPort call itself failed. The port lookup is part of recovery from a stale-port bug; this error means the recovery path could not even inspect the port.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/openstack/instance.go:109 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the port ID exists: openstack port show <portID>","Check Neutron API health and credentials","Manually delete the stale port if it was left over from a deleted instance, then retry"],"exampleFix":null,"handlingStrategy":"retry","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"}