CouchDB

Apache CouchDB is mostly used by runbooks.

For runbook automation, the following data is stored in CouchDB.
  • Runbooks and runbook activities (runbook instances)
  • Automations and automation activities (automation instances)
  • Configuration data and connection information (including SSH keys, Ansible®, IBM® Tivoli® Netcool®/Impact, GitHub) and global settings (approval, groups).
Note: Some of the runbook automation data is encrypted, for example, connection configuration details. The runbook automation data is contained in the two databases that include rba-rbs and rba-as in their name.
Netcool/Impact trigger details are not contained in CouchDB. Trigger details are maintained within Netcool/Impact.

The schedule for cloud native analytics training is stored in CouchDB, but it uses minimal space. For more information about cloud native analytics training, see Trying out cloud native analytics.

To discover what data is held in CouchDB, complete the following steps.
  1. Get the CouchDB user ID.
    oc get secret <instance_name>-couchdb-secret -o yaml | grep -i username | awk '{print $2}' | base64 -d
    Get the corresponding CouchDB password.
    oc get secret <instance_name>-couchdb-secret -o yaml | grep -i pass | awk '{print $2}' | base64 -d
    Where <instance name> is the name of your instance, for example noi or noihybrid.
  2. Log in to the CouchDB pod.
    oc rsh <instance_name>-couchdb-0
  3. From inside the CouchDB pod, you can perform a series of curl commands to query the database.
    List databases by running the following curl command.
    curl -u <userID>:<password> -X GET http://127.0.0.1:5984/_all_dbs
    ["_global_changes","_replicator","_users","cfd95b7e-3bc7-4006-a4a8-a73a79c71255_historicappitem","collabopsuser","emailrecipients","genericproperties","icp-63666439356237652d336263372d343030362d613461382d613733613739633731323535-rba-rbs","integration","noi-aggconfigdb","noi-osregdb","osb-map","otc_omaas_broker","rba-pdoc","schedule","tenant","trainingjob"]
    Where <userID> and <password> are the CouchDB user ID and password from step 1.
    List tables in the schedule database by running the following curl command.
    curl -u <userID>:<password> -X GET http://127.0.0.1:5984/schedule/_all_docs
    {"total_rows":2,"offset":0,"rows":[
    {"id":"cfd95b7e-3bc7-4006-a4a8-a73a79c71255__0","key":"cfd95b7e-3bc7-4006-a4a8-a73a79c71255__0","value":{"rev":"2-75821bafa84e883b3df9ffd7baae4e59"}},
    {"id":"cfd95b7e-3bc7-4006-a4a8-a73a79c71255__seasonal-anomaly-detection__0","key":"cfd95b7e-3bc7-4006-a4a8-a73a79c71255__seasonal-anomaly-detection__0","value":{"rev":"1-1106a7c94798893890621a2397651e78"}}
    ]}
    Show the data for the schedule in CouchDB by using the key from the output of the previous command.
    curl -u <userID>:<password> -X GET http://127.0.0.1:5984/schedule/cfd95b7e-3bc7-4006-a4a8-a73a79c71255__0
    {"_id":"cfd95b7e-3bc7-4006-a4a8-a73a79c71255__0","_rev":"2-75821bafa84e883b3df9ffd7baae4e59","retrainingIntervalMinutes":1440,"enabled":true,"tenantId":"cfd95b7e-3bc7-4006-a4a8-a73a79c71255","jobs":[["related-events"],["seasonal-events"],["metric-manager-anomaly-detection"]],"jobUUIDs":["0773e2a8-602c-4a61-95d2-b89631d1b12e","0855a686-087b-49e5-912a-31c8ac6eb957","f04f6fc9-588b-452a-be04-2901b427984c"],"lastUpdateTime":1712144886}

For more information about managing disk space, see Administering data storage.

If the runbook experience is not working as expected, then check the logs of the rba-rbs and rba-as pods for errors. If the logs indicate an issue with CouchDB, then investigate the issue further. To understand error messages and diagnose issues with CouchDB, see the CouchDB external icon documentation.