leaf value{ type string; config false; mandatory false; } }
그리고 나서 HelloWorldImpl.java 파일에서 RPC가 호출됬을 경우 DataStore에 넘겨진 값을 저장도록 구현한다. 그전에 HelloWorldImpl.java 에서 DataBroker를 사용하기 위해 HelloProvider.java 에서 session을 넘겨줘야 한다.
hello-world-write RPC가 호출되면 strin 으로 넘겨온 값을 저장하도록 구현한다.
OPERATIONAL tree에는 strin 값이 저장되게 하고 CONFIGURATION tree 에는 DataStore에 값이 저장될때마다 helloCounter 값이 1씩 증가된값을 저장하도록 한다.
OPERATIONAL : 네트워크 상태의 변경이 감지되면 현재 네트워크 상태를 저장
CONFIGURATION : 네트워크 장비의 설정을 변경하려는 요청이 저장.
즉 네트워크 구성에 대한 request 요청이 오면 CONFIGURATION tree에 데이터가 저장되고 실제 네트워크 장비에 명령을 내려 설정을 마치면 변경된 정보가 OPERATIONAL tree에 저장이 된다.
Q4. Which data is stored in MD-SAL config datastore and operational datastore?
A. The config store is where “requests” are stored and the operational store is where “network state as discovered from the network” is stored. So Flows are requested by being placed in the config store, but after they are configured on the NE and ODL “discovers” them that data is put in the operational store.
[데이터전송] POST : http://localhost:8181/restconf/operations/hello:hello-world-write data : {"hello:input": { "strin":"test1"}} [데이터확인] GET : http://localhost:8181/restconf/config/hello:helloWorld/ GET : http://localhost:8181/restconf/operational/hello:helloWorld/