Description of problem: Broken assign error display for cloudprivateipconfig Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Reproducer steps - assign an invalid EgressIP, such as one that requests an already allocated IP address. Before one would see: "'Error processing cloud assignment request, err: <nil>'' ~~~ [akaris@linux cloud-network-config-controller (openstack-cloud-provider)]$ oc get cloudprivateipconfig 10.0.0.1 -o yaml apiVersion: cloud.network.openshift.io/v1 kind: CloudPrivateIPConfig metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"cloud.network.openshift.io/v1","kind":"CloudPrivateIPConfig","metadata":{"annotations":{},"name":"10.0.0.1"},"spec":{"node":"km2fmrb-b5564-tx8gk-worker-0-8fgxv"}} creationTimestamp: "2022-07-05T14:35:36Z" finalizers: - cloudprivateipconfig.cloud.network.openshift.io/finalizer generation: 1 name: 10.0.0.1 resourceVersion: "83555" uid: 546a4b2d-91f7-48f7-aed9-ca5ce93deb01 spec: node: km2fmrb-b5564-tx8gk-worker-0-8fgxv status: conditions: - lastTransitionTime: "2022-07-05T14:36:07Z" message: 'Error processing cloud assignment request, err: <nil>' observedGeneration: 1 reason: CloudResponseError status: "False" type: Assigned node: km2fmrb-b5564-tx8gk-worker-0-8fgxv ~~~ Now, one will see: ~~~ [akaris@linux cloud-network-config-controller (openstack-cloud-provider)]$ oc get cloudprivateipconfig 10.0.0.1 -o yaml apiVersion: cloud.network.openshift.io/v1 kind: CloudPrivateIPConfig metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"cloud.network.openshift.io/v1","kind":"CloudPrivateIPConfig","metadata":{"annotations":{},"name":"10.0.0.1"},"spec":{"node":"km2fmrb-b5564-tx8gk-worker-0-8fgxv"}} creationTimestamp: "2022-07-05T14:35:36Z" finalizers: - cloudprivateipconfig.cloud.network.openshift.io/finalizer generation: 1 name: 10.0.0.1 resourceVersion: "84478" uid: 546a4b2d-91f7-48f7-aed9-ca5ce93deb01 spec: node: km2fmrb-b5564-tx8gk-worker-0-8fgxv status: conditions: - lastTransitionTime: "2022-07-05T14:38:40Z" message: |- Error processing cloud assignment request, err: Expected HTTP response code [201 202] when accessing [POST https://network.rdo.mtl2.vexxhost.net/v2.0/ports], but got 409 instead {"NeutronError": {"type": "IpAddressAlreadyAllocated", "message": "IP address 10.0.0.1 already allocated in subnet aa2c1ae8-649e-4461-b122-4b9911c133e1", "detail": ""}} observedGeneration: 1 reason: CloudResponseError status: "False" type: Assigned node: km2fmrb-b5564-tx8gk-worker-0-8fgxv ~~~
verified with 4.12.0-0.nightly-2022-08-15-150248 $ oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.12.0-0.nightly-2022-08-15-150248 True False 47m Cluster version is 4.12.0-0.nightly-2022-08-15-150248 $ oc get node NAME STATUS ROLES AGE VERSION ip-10-0-52-8.us-east-2.compute.internal Ready control-plane,master 85m v1.24.0+da80cd0 ip-10-0-56-147.us-east-2.compute.internal Ready worker 66m v1.24.0+da80cd0 ip-10-0-58-214.us-east-2.compute.internal Ready control-plane,master 84m v1.24.0+da80cd0 ip-10-0-62-244.us-east-2.compute.internal Ready worker 64m v1.24.0+da80cd0 ip-10-0-72-28.us-east-2.compute.internal Ready worker 64m v1.24.0+da80cd0 ip-10-0-75-126.us-east-2.compute.internal Ready control-plane,master 85m v1.24.0+da80cd0 $ oc label node ip-10-0-56-147.us-east-2.compute.internal "k8s.ovn.org/egress-assignable"="" node/ip-10-0-56-147.us-east-2.compute.internal labeled # create an egressip with gateway ip 10.0.48.1 $ oc get egressips.k8s.ovn.org NAME EGRESSIPS ASSIGNED NODE ASSIGNED EGRESSIPS egressip2 10.0.48.1 $ oc describe cloudprivateipconfig 10.0.48.1 Name: 10.0.48.1 Namespace: Labels: <none> Annotations: k8s.ovn.org/egressip-owner-ref: egressip2 API Version: cloud.network.openshift.io/v1 Kind: CloudPrivateIPConfig Metadata: Creation Timestamp: 2022-08-17T14:26:48Z Finalizers: cloudprivateipconfig.cloud.network.openshift.io/finalizer Generation: 1 Managed Fields: API Version: cloud.network.openshift.io/v1 Fields Type: FieldsV1 fieldsV1: f:metadata: f:finalizers: .: v:"cloudprivateipconfig.cloud.network.openshift.io/finalizer": Manager: cloud-network-config-controller Operation: Update Time: 2022-08-17T14:26:48Z API Version: cloud.network.openshift.io/v1 Fields Type: FieldsV1 fieldsV1: f:status: .: f:conditions: f:node: Manager: cloud-network-config-controller Operation: Update Subresource: status Time: 2022-08-17T14:26:48Z API Version: cloud.network.openshift.io/v1 Fields Type: FieldsV1 fieldsV1: f:metadata: f:annotations: .: f:k8s.ovn.org/egressip-owner-ref: f:spec: .: f:node: Manager: ip-10-0-75-126 Operation: Update Time: 2022-08-17T14:26:48Z Resource Version: 53821 UID: 62a009d9-22fa-48d0-9089-b7328c6fa422 Spec: Node: ip-10-0-56-147.us-east-2.compute.internal Status: Conditions: Last Transition Time: 2022-08-17T14:27:34Z Message: Error processing cloud assignment request, err: InvalidParameterValue: Address 10.0.48.1 is in subnet's reserved range. status code: 400, request id: d7772ad2-cb1e-4b81-8868-11b4949de27e Observed Generation: 1 Reason: CloudResponseError Status: False Type: Assigned Node: ip-10-0-56-147.us-east-2.compute.internal Events: <none> ==> getting proper error message after "Error processing cloud assignment request", err: InvalidParameterValue: Address 10.0.48.1 is in subnet's reserved range.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.12.0 bug fix and security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:7399