juliusloman / docker-omnibus

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Docker Omnibus

Dockerfile for building Netcool Operation Insight docker containers.

Building

Because many components depend on working DB2 database during installation, it necessary to build a DB2 container first. Generally all docker images require that you set up a HTTP server for supplying installation images (media) and specify names of those installation images either in Dockerfile or as build arguments.

Setting up HTTP server

If you don't have the NOI installation media accessible via HTTP, the easiest way is probably to use python's build in SimpleHTTPServer. Just navigate to directory with downloaded NOI images and run

python -m SimpleHTTPServer

This starts up a HTTP server serving on port 8000 on all local interfaces.

Building by make file

Edit Makefile and set three variables properly:

  • NO_PROXY to list of hostnames
  • PROXY to setup proxy server (if required)
  • INSTALL_SOURCE to setup host, where images are located, defaults to http://$(shell hostname -i):8000

Run tie make file by executing

make all

This will build ObjectServer, JazzSM with TCR and WebGUI 8.1 and DB2 (for TCR).

Building individually

DB2

Build the DB2 image using (replace the <HTTP_ADDRESS> with your actual IP address that is accessbile from docker internal network):

docker build --build-arg INSTALL_SOURCE=http://<HTTP_ADDRESS>:8000 -t noi/db2 docker-db2-10.5

If you your interet access requires using proxy, just add add those arguments

--build-arg no_proxy=<HTTP_ADDRESS> --build-arg http_proxy= --build-arg https_proxy=

DB2 image expects following media (you can override the arguments by editing Dockerfile or by supplying them using --build-arg):

  • INSTALL_FILE_DB2="DB2_Svr_10.5.0.3_Linux_x86-64.tar.gz" (base image)
  • INSTALL_FILE_DB2_FP="v10.5fp8_linuxx64_universal_fixpack.tar.gz" (optional fixpack image)
  • INSTALL_FILE_DB2_LIC="DB2_ESE_Restricted_QS_Act_10.5.0.1.zip" (optional activation image)

Netcool/OMNIbus Object Server

Build the Object Server image by running:

docker build --build-arg INSTALL_SOURCE=http://<HTTP_ADDRESS>:8000 -t noi/omnibus docker-omnibus-8.1

DB2 image expects following media (you can override the arguments by editing Dockerfile or by supplying them using --build-arg):

  • INSTALL_FILE_CORE="OMNIbus-v8.1.0.5-Core.linux64.zip" (base image)
  • INSTALL_FILE_FP="8.1.0-TIV-NCOMNIbus-Linux-FP0011.zip" (fixpack image)

Running

You can start the stack using docker-compose and provided docker-compose.yml file. This starts up single Object Server named AGG and a WebGUI instance.

Object Server

Objectserver runs as dedicated user netcool and contains a single volume /db for database. Database initialization is called on container startup only.

Container can be configured by following environment variables

  • OBJSRV_PORT (default 4100) - port to start Object Server
  • DBINIT_EXTRA - extra arguments passwd to nco_dbinit
  • OBJSRV_EXTRA - extra arguments passed to nco_objserv
  • OMNIDAT_EXTRA - extra content inserted to omni.dat

WebGUI

WebGUI can be configured using following environment variables, that will be modified in ncwDataSourceDefinitions.xml configuration file

  • OBJECTSERVER_PRIMARY_HOST
  • OBJECTSERVER_PRIMARY_NAME
  • OBJECTSERVER_USER
  • OBJECTSERVER_PASSWORD
  • OBJECTSERVER_ENCRYPTED
  • OBJECTSERVER_ALGORITHM_ATTRIBUTE
  • OBJECTSERVER_SSL
  • OBJECTSERVER_PRIMARY_PORT
  • OBJECTSERVER_SECONDARY_HOST
  • OBJECTSERVER_FAILOVER
  • OBJECTSERVER_SECONDARY_PORT

About


Languages

Language:Shell 59.4%Language:Perl 29.9%Language:Makefile 10.7%