Skip to content

Configuration Datastore not persisting in Kubernetes - Devices lost on lighty-rnc-app after the pod restart #2506

@techprakashverma

Description

@techprakashverma

I have deployed lighty-rnc-app-aggregatorlighty-rnc-app using the lighty-rnc-app-helm chart in Kubernetes, and I'm trying to understand where device (node) configuration data is physically stored.

My Setup:
Application: lighty-rnc-app (from lighty-rnc-app-aggregator)
Deployment: Kubernetes using lighty-rnc-app-helm chart

What I Did:
I successfully added a NETCONF device using the RESTCONF API:

curl --request PUT \
  --url http://127.0.0.1:8888/restconf/data/network-topology:network-topology/topology=topology-netconf/node=node-1 \
  --header 'content-type: application/json' \
  --data '{
    "node": [{
      "node-id": "node-1",
      "netconf-node-topology:netconf-node": {
        "schemaless": false,
        "tcp-only": false,
        "port": 17830,
        "login-password-unencrypted": {
          "username": "admin",
          "password": "admin"
        },
        "keepalive-delay": 0,
        "host": "172.17.0.2"
      }
    }]
  }'

The device was successfully created, and I can retrieve it via GET request.

The problem:

When I restart the pod (kubectl delete pod ), the device configuration is lost.

After the pod restarts:

curl --request GET \
  --url http://localhost:8888/restconf/data/network-topology:network-topology/topology=topology-netconf/node=node-1

Returns:

{
  "errors": {
    "error": [
      {
        "error-tag": "data-missing",
        "error-message": "Request could not be completed because the relevant data model content does not exist",
        "error-type": "protocol"
      }
    ]
  }
}

My Questions:

  1. Where is this device data physically stored?

    • Is it stored in the Configuration Datastore (persistent) or Operational Datastore (in-memory)?
    • What is the file system path inside the Kubernetes pod where this data is persisted?
  2. Storage mechanism in Kubernetes:

    • I've accessed the pod using kubectl exec -it -- /bin/sh
    • I checked the /data/, /opt/, /snapshots/, and other common directories, but I could not find any datastore filesystem where the data is stored.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions