RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
notice_of_newer_xconf_oss
This document has been modified for the newer version of xconfserver available on RDK Central GitHub.
XCONF is usually installed on several VMs in production. The number of VMs for the Data Service depends on the number of devices that will be calling it. For the Admin UI, only a few VMs are required since there are usually only a few users making changes each day.
These instructions assume that the XCONF artifacts have already been built. The artifacts required are the Data Service and Admin UI WAR files.
If it's not already installed, install Java.
Note: Currently, a later version of OpenJDK 1.8.x is required.
sudo yum install java-1.8.0-openjdk-devel
java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
sudo yum install wget
This creates the xconfserver directory and installs the Jetty files.
cd /opt
mkdir xconfserver
cd xconfserver
mkdir tmp
cd tmp
wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.3.7.v20160115/jetty-distribution-9.3.7.v20160115.tar.gz
gzip -d jetty-distribution-9.3.7.v20160115.tar.gz
cd /opt/xconfserver
tar -xf tmp/jetty-distribution-9.3.7.v20160115.tar --strip=1
The xconf-dataservice.war file should be copied to the VM. It must be renamed to root.war.
cp xconf-dataservice.war /opt/xconfserver/tmp/.
cd /opt/xconfserver/tmp
mv xconf-dataservice.war root.war
The service.properties file configures XCONF with various settings, such as the Cassandra seed hosts and other Cassandra and service related properties.
In the /opt/xconfserver (or other appropriate) directory, create a file called service.properties and add at least the following lines.
cassandra.keyspaceName=<Name of the Keyspace the XCONF column families are located in>
cassandra.localDataCenter=<name of Cassandra data center>
cassandra.contactPoints=<Comma separated list of IP addresses or resolvable hostnames of Cassandra seed nodes>
cassandra.port=<CQL port (Cassandra default for this is 9042)>
cassandra.consistencyLevel=<Cassandra query consistency level (suggested either LOCAL_QUORUM, LOCAL_ONE, or ONE)>
cassandra.username=<Username to access Cluster>
cassandra.password=<Password associated with the username>
dataaccess.cache.changedKeysCfName=<Column family associated with changed keys (this is listed in test cases and docs as XconfChangedKeys4)>
specific.maxConnectionsPerRoute=<default 100>
specific.maxConnections=<default 100>
specific.connectionTimeoutInMs=<default 2000>
XConf Data Service is started as a separate process.
cd /opt/xconfserver
nohup java -DappConfig=/opt/xconfserver/service.properties -DserviceName=xconfDataService -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:/opt/xconfserver/logs/gc.log -Xms2048m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=512m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8081 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=8081 -Djetty.logs=/opt/xconfserver/logs -Djetty.home=/opt/xconfserver -Djetty.base=/opt/xconfserver -Djava.io.tmpdir=/opt/xconfserver/tmp -DENABLE_OBIEE_SCP_URL_PROP=false -Dtheplatform.log.dir=/opt/xconfserver/logs -Djava.library.path=/opt/xconfserver/lib/ext -DSTOP.PORT=8083 -Djetty.port=8080 -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/xconfserver/logs/xconfDataService.heapDump -XX:OnOutOfMemoryError=/opt/xconfserver/bin/OOM.rb -jar start.jar jetty.port=8080 > /opt/xconfserver/logs/xconfDataService.stdout.log 2> /opt/xconfserver/logs/xconfDataService.stderr.log &
curl http://127.0.0.1:8080/version