Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
titlenotice_of_newer_xconf_oss

This document has been modified for the newer version of xconfserver available on RDK Central GitHub.


XCONF XConf is usually installed on several VM's VMs in production.   The number of VM's VMs for the Data Service depends on the number of devices that will be calling it.   For the Admin UI, only a few VM's VMs are required since there are usually only a few users making changes each day.

These instructions assume that the XConf XCONF artifacts have already been built.   The artifacts required are the Data Service and Admin UI war WAR files.

Data Service

1: Install Java

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)

2: Install wget

sudo yum install wget

3: Install Jetty

This creates the xconfserver directory and installs the Jetty files.

...

cd xconfserver
mkdir tmp
cd tmp
wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.13.07.v20131115v20160115/jetty-distribution-9.13.07.v20131115v20160115.tar.gz
gzip -d jetty-distribution-9.13.07.v20131115v20160115.tar.gz
cd /opt/xconfserver
tar -xf tmp/jetty-distribution-9.13.07.v20131115v20160115.tar --strip=1

4: Install

...

XCONF Data Service

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

5: Install service.properies file

The service.properties file configures XConf 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.

connectionPoolscassandra.SharedConnectionPool.maxConnsPerHost=15
connectionPools.SharedConnectionPool.localDatacenterkeyspaceName=<Name of the Keyspace the XCONF column families are located in>
cassandra.localDataCenter=<name of Cassandra data center>
connectionPoolscassandra.SharedConnectionPool.seeds=<IPcontactPoints=<Comma separated list of IP addresses or resolvable hostnames of Cassandra seed nodes>
connectionPoolscassandra.SharedConnectionPool.nodeDiscoveryType=RING_DESCRIBE
connectionPools.SharedConnectionPool.readConsistencyLevel=CL_LOCAL_QUORUM
connectionPools.SharedConnectionPool.useConnectionPoolMonitor=true
connectionPools.SharedConnectionPool.writeConsistencyLevel=CL_LOCAL_QUORUM
connectionPools.SharedConnectionPool.autoDiscoverHosts=trueport=<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>

Starting XConf Data Service

XConf Data Service is started as a separate process.

...

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 &

Verifying that XConf is running

curl http://127.0.0.1:8080/version

Admin UI