DevTest Docker Containers with Oracle Database

Document ID : KB000044674
Last Modified Date : 14/02/2018
Show Technical Document Details

Issue

Test run or other metric data is missing from the database 

Environment

DevTest components running in Docker containers utilising an Oracle database

Cause

The Oracle JDBC driver requires that the timezone definition of the host machine be available to the calling process. Unfortunately this information is not supplied to processes running as Docker containers, and the oracle JDBC driver silently fails.

Workaround

It is possible to re-create the DevTest Docker images so that the required information is embedded within.

  1. Ascertain your timezone as an offset from UTC (previously GMT). This should be recorded in the format HH:MM - where 01:00 would be correct for Central European Time, 05:30 for Indian Standard Time etc.
  2. For each component, add the following, on a line of its own, to the relevant vmoptions file

    -Duser.timezone="<your timezone>"

    (for instance, -Duser.timezone="01:00" for CET and -Duser.timezone="05:30" for IST, as above).
  3. Include this file by adding a line similar to 

    ADD Simulator.vmoptions /opt/devtest/bin/

    to the dockerfile you use to create your images. Whilst the Simulator has been used as an example in this instance, this should be repeated for each DevTest component. The ADD command may need to be altered to reflect your environment.