I am working with external Db and also enabled the Candidate CDB.
In the confd.conf ,we are setting the running datastore as “writable-through-candidate” and in confd status command , I see one of the session as “read_write”
Is this expected ? How can i check the Running db mode ?
Below is the snapshot of the confd.conf
<!-- Disable cdb only if you're using your own configuration database to store all data, including the AAA data. --> <cdb> <enabled>true</enabled> <dbDir>../var/confd/cdb</dbDir> <!-- During development it can be useful to set a low timeout to catch programming errors. In a production system use "infinity" (default) or a high timeout so as not to timeout during high CPU load. --> <clientTimeout>PT30S</clientTimeout> <!-- The operational datastore is used when operational data is to be stored in CDB. --> <operational> <enabled>true</enabled> </operational> </cdb> <!-- Defines which datastores confd will handle. --> <datastores> <!-- 'startup' means that the system keeps separate running and startup configuration databases. When the system reboots for whatever reason, the running config database is lost, and the startup is read. Enable this only if your system uses a separate startup and running database. --> <startup> <enabled>false</enabled> </startup> <!-- The 'candidate' is a shared, named alternative configuration database which can be modified without impacting the running configuration. Changes in the candidate can be commit to running, or discarded. Enable this if you want your users to use this feature from NETCONF, CLI or Web UI, or other agents. --> <candidate> <enabled>true</enabled> <!-- By default, confd implements the candidate configuration without impacting the application. But if your system already implements the candidate itself, set 'implementation' to 'external'. --> <implementation>confd</implementation> <storage>disk</storage> <filename>../var/confd/candidate/candidate.db</filename> </candidate> <!-- By default, the running configuration is writable. This means that the application must be prepared to handle changes to the configuration dynamically. If this is not the case, set 'access' to 'read-only'. If running is read-only, 'startup' must be enabled, and 'candidate' must be disabled. This means that the application reads the configuration at startup, and then the box must reboot in order for the application to re-read its configuration. NOTE: this is not the same as the NETCONF capability :writable-running, which merely controls which NETCONF operations are allowed to write to the running configuration. --> <running> **<access>writable-through-candidate</access>** </running> </datastores>
Below Snapshot of System session :
system sessions: sessionId=1 2020-08-14 13:46:16 firstname.lastname@example.org system/system no locks set no transactions **sessionId=10 2020-08-14 13:46:18 email@example.com system/system** ** no locks set** ** transactions:** ** tid=6 db=running mode=read_write** sessionId=11 2020-08-14 13:47:07 firstname.lastname@example.org system/tcp ./netconf/netconf_pub.c:139 no locks set no transactions