-
Bug
-
Resolution: Done
-
None
-
Lithium
-
None
-
Operating System: All
Platform: All
-
3625
This bug is critical for TCPMD5 usability.
This bug affects both RC0 and Snapshot Lithium builds.
There may be semantic errors in test data, or internal errors in TCPMD5 od PCEP. But in any case, NETCONF/RESTCONF should detect the change was unsuccessful and it should return different HTTP status.
Steps to reproduce, first alternative:
0. Download and unpack recent Lithium build.
1. Start ODL.
2. feature:install odl-restconf odl-bgpcep-pcep-all odl-netconf-connector-all
3. Kill ODL.
Steps 1-3 are to create config files in etc/opendaylight/karaf.
4. Edit config files accordingly to https://wiki.opendaylight.org/view/BGP_LS_PCEP:TCP_MD5_Guide#PCEP
5. rm -rf data/ snapshots/ journal/ lock idmlight.db.mv.db
6. Start ODL again.
7. feature:install odl-restconf odl-bgpcep-pcep-all odl-netconf-connector-all
8. Check the current configuration (address=192.0.2.2, password=changeme):
curl -u 'admin:admin' 127.0.0.1:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/controller-config/yang-ext:mount/config:modules/module/odl-pcep-topology-provider-cfg:pcep-topology-provider/pcep-topology
9. Attempt to use RESTCONF PUT to change the configuration:
curl -v -X PUT -u 'admin:admin' -H "Content-Type:application/xml" -d '<client xmlns="urn:opendaylight:params:xml:ns:yang:controller:pcep:topology:provider">
<address xmlns="urn:opendaylight:params:xml:ns:yang:controller:pcep:topology:provider">192.0.2.2</address>
<password xmlns="urn:opendaylight:params:xml:ns:yang:controller:pcep:topology:provider">topsecret</password>
</client>' 127.0.0.1:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/controller-config/yang-ext:mount/config:modules/module/odl-pcep-topology-provider-cfg:pcep-topology-provider/pcep-topology/odl-pcep-topology-provider-cfg:client/192.0.2.2
10. Observe HTTP status to be 200.
11. Repeat step 9. See that the password was not changed.
Second alternative: In step 4, edit only 20-tcpmd5.xml and 32-pcep.xml, step 8 shows no client configuration, step 10 is still 200, step 11 shows still no client configuration.
Third alternative: As in second, but use POST in step 9 (URI two levels shorter, XML data the same). Step 10 even reports new location, but no client configuration is created.
Fourth (and fifth) alternative: Do not edit files before step 6, use restconf to add the changes between steps 7 and 8.
In either case, there is nothing logged at INFO level, and it is not clear to me what is wrong when looking at the long DEBUG level log.