Sample values.yaml file for LWM2M deployment
The following is a sample override values.yaml file for LWM2M.
pullPolicy: ${docker.pullPolicy}
# replicas is the replication count
rbac_enabled: true
replicas: 1
#nodeSelector is the optional node selector (key value pairs)
nodeSelector:
# lwm2mTag is the LWM2M image tag. Defaults to chart.AppVersion
# lwm2mTag:
# lwm2mResources contains resource limits for LWM2M image
lwm2mResources:
limits:
memory: "2Gi"
requests:
memory: "1024Mi"
logLevel: "INFO"
javaOpts: ""
persistence:
fwimage:
## this enables PVC templates that will create one per pod
enabled: false
## Persistent Volume Claim name which will be used during creation
pvcname: lwm2m-firmware
## fwimage directory Persistent Volume Storage Class
## it should be a storage class which provides ReadWriteMany accessMode (eg. glusterfs storage class )
## the bounded persistent volume will be shared between all containers in order to have a shared firmware immages storage.
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner.
##
# storageClass: "-"
# storageClass: "glusterfs-storageclass"
storageClass: "-"
accessMode: ReadWriteMany
# the requested size of the mounted volume
size: 5Gi
config:
cert:
keyFile: ""
# scef truststore path location
scefTrustStorePath: "t8public.jks"
lwm2m:
LWM2M_NO_SEC_REG_URL: "127.0.0.1:5683"
LWM2M_PSK_REG_URL: "127.0.0.1:5684"
#LWM2M_SERVER_CERT_PATH: /appl/config/certs/server.p12
#LWM2M_SERVER_CERT_PASS: d1slDKY4B3TaSzXqYlGjxw==
#LWM2M_SERVER_CERT_PRIV_KEY_PASS: d1slDKY4B3TaSzXqYlGjxw==
UQ_CMD_EXPIRY_IN_MINS: 1440
LWM2M_OBJECT_DEFINITIONS_DIR: /appl/config/models
AGENTSERVER_EXCHANGE: "agentserver"
LIFECYCLE_KEY: "lifecycle"
OBSERVATION_KEY: "observation"
RESPONSES_KEY: "response"
FAULT_KEY: "fault"
FIRMWARE_EXPIRY_IN_HRS: 24
FIRMWARE_POLLING_INTERVAL_IN_SEC: 1
FIRMWARE_POLLING_COUNT: 3
LWM2M_BOOTSTRAP_DISABLE_TIMEOUT: 86400
THREAD_POOL_SIZE: 10
DTLS_THREAD_POOL_SIZE: 50
SCRIPT_THREAD_POOL_SIZE_MIN: 50
SCRIPT_THREAD_POOL_SIZE_MAX: 400
FW_IMAGE_CACHE_CONCURRENCY_LEVEL: 10
FW_IMAGE_CACHE_EXPIRATION_AFTER_ACCESS: 10
FW_IMAGE_CACHE_EXPIRATION_AFTER_WRITE: 10
FW_IMAGE_CACHE_MAXIMUM_SIZE: 10
#Below value should be in the format {lwm2m-pod-name}.{lwm2m-service-name}.{namespace-name}.svc.cluster.local
LWM2M_MASTER_HOST: lwm2m-controller-0.lwm2m-service.default.svc.cluster.local
LWM2M_REGISTRATION_URI: "coaps://127.0.0.1:5684"
LWM2M_BOOTSTRAP_SESSION_EXPIRATION_IN_MINS: 1440
LWM2M_KICK_INSTANCE: 1
LWM2M_CLIENT_ACTIVE_DURATION: 0
LWM2M_LEGACY_BOOTSTRAP_INTERFACE_DTLS_PORT: 0
LWM2M_LEGACY_BOOTSTRAP_INTERFACE_SETUP_IDENTITY: "identity"
MAX_RESPONSE_TIME_IN_SECS: 180
#SCEF_SERVER_URL: "https://10.75.172.8:9443"
SCEF_SERVER_URL: "http://10.75.172.8:8080"
SCEF_SCS_ID: "lwm2mScs"
#SCEF_SCS_ID: "ramScs"
SCEF_CALLBACK_PUBLIC_URL: "http://100.69.10.248:30666/callback"
# user name used for T8 basic auth
SCEF_USER_NAME: "nidduser"
# user password used for T8 basic auth
SCEF_USER_PASSWORD: "nidduser"
# scef trust store path if T8 backend uses https
SCEF_TRUST_STORE_PATH: "/appl/config/certs/sceftrust.jks"
# scef trust store password
SCEF_TRUST_STORE_PASSWORD: "testt8"
#SCEF_TRUST_STORE_PASSWORD: "agtest"
LWM2M_API_URL: "http://lwm2m-api:7777/"
TRM_CONFIGURATION_DIR: /appl/config/trm
NON_IP_TRANSPORT: "SGI"
#SUBSCRIBER_REPO_URL: "http://impactsubscrepo:9095"
#SUBSCRIBER_REPO_USER: "admin"
#SUBSCRIBER_REPO_PASS: "Admin123!"
CDP_URL: "http://cdp:8080"
CDP_USER: "superadmin"
CDP_PASS: "superadmin"
# This property to be enabled for NOSEC Authentication for host ports 31234 and 30999,this is not required for SCEF/SGI flows
ENABLE_SUBSCRIBER_REPO: false
# This property is for the default type of Firmware Delivery Method, when it cannot be determined automatically.
# Specify integer value. Values mappings: 0 - Pull, 1 - Push
FW_DELIVERY_METHOD: 1
# This property is for the default type of Firmware Delivery Protocol, when it cannot be determined automatically.
# Specify integer value. Values mappings: 0 - CoAP, 1 - CoAPS, 2 - HTTP, 3 - HTTPS
FW_UPDATE_PROTOCOL: 3
# Reject commands if registration is expired by server
REJECT_EXPIRED_ENDPOINTS: false
# californium properties
californium:
coap:
ACK_TIMEOUT: 2000
ACK_RANDOM_FACTOR: 1.5
ACK_TIMEOUT_SCALE: 2.0
MAX_RETRANSMIT: 4
NSTART: 1
PROBING_RATE: 1.0
EXCHANGE_LIFETIME: 247000
NON_LIFETIME: 145000
MAX_TRANSMIT_WAIT: 93000
PREFERRED_BLOCK_SIZE: 512
MAX_MESSAGE_SIZE: 1024
BLOCKWISE_STATUS_LIFETIME: 300000
MAX_RESOURCE_BODY_SIZE: 8192
PROTOCOL_STAGE_THREAD_COUNT: 10
redis:
#REDIS_DB_HOST: "crdb-crdb-redisio:6379"
#REDIS_DB_PASSWORD: "password"
#REDIS_SENTINEL_HOSTS:
#REDIS_MASTER_NAME:
#REDIS_MAX_TOTAL: 15
#REDIS_MAX_IDLE: 15
usage:
USAGE_CONTROL_ENABLE: false
enterpriseBilling:false
#Redis configuration for usage
#REDIS_MASTER_USAGE_CONTROL: reddis
#REDIS_PASSWORD_USAGE_CONTROL: password
#REDIS_SENTINEL_USAGE_CONTROL: reddis-sentinel:26379
nodePort:
nosec: 30683
dtls: 30684
tcp: 30685
tls: 30686
legacyBootstrap: 30784
lwm2mscefcb: 30666
hostPort:
noSecBS: 31234
nosecRd: 30999
cassandra:
# cassandraUser is the username of Cassandra.
username: "impact"
# cassandraPassword is the password of Cassandra.
password: "impact123"
# cassandraGatewayKeyspace is the Cassandra keyspace to use.
keyspace: "lwm2m"
# cassandra.dropKeyspace When true, keyspace will be dropped before creation/upgrade. Do not use in production
dropKeyspace: "false"
CAS_KEYSPACE_REPLICATION: "{ 'class' : 'SimpleStrategy', 'replication_factor': 1 }"
global:
registry: ${docker.registry}
# broker properties
broker:
# brokerHosts is the RMQ hosts and ports.
hosts: "rabbitmq:5672"
# brokerUsername is the username of RMQ
username: "impact"
# brokerPassword is the password of RMQ. Mandatory value to set externally.
password: "impact123"
# brokerVirtualHost is the vhost of RMQ
virtualHost: "/"
# cassandra properties
cassandra:
# cassandraHosts is the cassandra host and port.
hosts: "cassandra:9042"
# adminUsername is the name of the cassandra admin user, used to create dedicated keyspace/user. If not specified, dedicated user/keyspace is supposed to be created upfront
adminUsername: null
# adminPassword is the name of the cassandra admin password
adminPassword: null
Note: Reclaiming the PV when re-installing IMPACT DM and LWM2M
While re-installing IMPACT DM, NFS Persistent Volume has to be reclaimed manually.
- Execute the command:
kubectl edit <pv_name>
- Remove the section
claimRef
. - Save the changes and check if the CLAIM status in
kubectl get pv
is AVAILABLE.Note: Delete all the PVCs before reclaim.
Note: The values given in the above sample file are only for illustration purpose. Nokia
recommends to modify these values based on your deployment.