[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:
Blocks
blocks COE-46 Production Quality CoE Open

 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

Generated at Wed Feb 07 20:24:17 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.