# OpenDaylight Helm Chart OpenDaylight Helm Chart is a packaging for kubernetes deployment. The composition of this chart consist of statefulset that can scale to multiple standalone instances of OpenDaylight Pods. ## Customization Before deploying, there are several areas can be customized. Either by editing values.yaml or using --set flag pass-in with the helm command e.g ``` helm install sdnc opendaylight --set persistence.enabled=true ``` ### Java Memory and GC settings In values.yaml, java max memory and GC settings can be customized ``` javaOptions: maxGCPauseMillis: 100 parallelGCThreads : 3 numberGCLogFiles: 10 minMemory: 512m maxMemory: 2048m gcLogOptions: "" ``` ### OpenDaylight Features In values.yaml, one can customize features to be included during instance startup. By default, only restconf is included. ``` config: odl_basedir: /opt/opendaylight #features: odl-restconf,odl-restconf-all,odl-bgpcep-pcep,odl-bgpcep-bgp,odl-bgpcep-bgp-config-example,odl-bgpcep-bmp,odl-bgpcep-bmp-config-example,odl-jolokiaa,odl-daexim-all features: odl-restconf,odl-restconf-all ``` ### Container Image Version The pull policy can be customized in values.yaml. ``` image: repository: nexus3.opendaylight.org:10001/opendaylight/opendaylight pullPolicy: IfNotPresent ``` The container image version is located in Chart.yaml ``` appVersion: "14.2.0" ``` so the combined image from above two files will be: `nexus3.opendaylight.org:10001/opendaylight:14.2.0` ### Persistent Volume By default the OpenDaylight Pod uses ephemeral volume. The data stored at /data will lost after container restarts. To support data persistence, it requires kubernetes persistent storageClass. Depend on your environment, there are many implementation of storage plugin. Following is example of define a storageClass on OpenEBS storage plugin. create storageClass vg01-lvmpv for OpenEBS on volume group vg01 ``` kubectl apply -f - <-shard-default-operational,type=DistributedOperationalDatastore` -- NOTE: To know the leader-id in the above query, use: `http://{{vm-ip}}:{{odl-restconf-port}}/jolokia/read/org.opendaylight.controller:type=DistributedOperationalDatastore,Category=ShardManager,name=shard-manager-operational` For more details, refer here: https://docs.opendaylight.org/en/stable-phosphorus/getting-started-guide/clustering.html#cluster-monitoring