[NETVIRT-1530] IllegalArgumentException: Supplied value "k8s-cluster-id:busybox1" does not match required pattern "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" Created: 04/Dec/18 Updated: 25/Nov/19 Resolved: 25/Nov/19 |
|
| Status: | Resolved |
| Project: | netvirt |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Magnesium |
| Type: | Bug | Priority: | Medium |
| Reporter: | Michael Vorburger | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
As I'm toying around to learn CoE, using https://github.com/vorburger/opendaylight-coe-kubernetes-openshift/, I'm regularly seeing this error: 18:20:45.875 ERROR [org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation_AsyncClusteredDataTreeChangeListenerBase-DataTreeChangeHandler-4] Thread terminated due to uncaught exception: org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation_AsyncClusteredDataTreeChangeListenerBase-DataTreeChangeHandler-4 java.lang.IllegalArgumentException: Supplied value "k8s-cluster-id:busybox1" does not match required pattern "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" at org.opendaylight.yangtools.yang.binding.CodeHelpers.checkPattern(CodeHelpers.java:132) ~[329:org.opendaylight.mdsal.yang-binding:1.0.2] at org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid.<init>(Uuid.java:31) ~[300:org.opendaylight.mdsal.binding.model.ietf.rfc6991-ietf-yang-types:1.2.2] at org.opendaylight.netvirt.qosservice.QosNeutronUtils.getNeutronPort(QosNeutronUtils.java:831) ~[?:?] at org.opendaylight.netvirt.qosservice.QosTerminationPointListener.add(QosTerminationPointListener.java:158) ~[?:?] at org.opendaylight.netvirt.qosservice.QosTerminationPointListener.add(QosTerminationPointListener.java:40) ~[?:?] at org.opendaylight.genius.datastoreutils.AsyncClusteredDataTreeChangeListenerBase$DataTreeChangeHandler.run(AsyncClusteredDataTreeChangeListenerBase.java:160) ~[266:org.opendaylight.genius.mdsalutil-api:0.6.0.SNAPSHOT] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:?] at java.lang.Thread.run(Thread.java:748) [?:?] k.faseela perhaps you know more about this and this already is a known issue with a fix planned? |
| Comments |
| Comment by Sam Hague [ 05/Dec/18 ] |
|
This can be ignored for your setup as you don't care about QoS and that listener thread dies. But everything else should keep moving. The issue is that code path is listening on port updates and expects a uuid - it passes the port name to new Uuid(portname) and blows up. We need checks to ignore non-uuid ports. You actually added a UuidUtil class in the QoS module to take a string rather than a uuid in getNeutronPort() but that is on the interface path rather than the terminationpoint path. We need to do the same in this path. |
| Comment by Faseela K [ 05/Dec/18 ] |
|
This exception is currently not harming any functionality. I had noticed this, but since we don't have a UUID format identifier in COE usecase, I have just ignored it for the time being |
| Comment by Abhinav Gupta [ 25/Nov/19 ] |
|
COE has been removed in Magnesium, hence bug won't be seen |