I am trying to set both system properties and environment variables from within Kepler on a Linux machine. I am executing my workflows through KeplerWebService but I can get the same behavior if I type this command from the command line in the directory KEPLERHOME.

java -Djava.awt.headless=true -classpath build-area/lib/ant.jar:kepler.jar org.kepler.build.runner.Kepler -server -repository=optensityARP -runwf -nogui /tmp/kar/50.17.219.137:8080_knb_services_QueryService/7341.417.2.kar

I have a file KEPLERHOME/kepler-2.2/resources/system.properties/kepler.properties with the following single line
WSX=yum

I have another file KEPLERHOME/kepler-2.2/module-info/environment.txt with the following single line
QAZ=/tmp/

I built a workflow with an actor that contains the following lines of code:
System.out.println("Environment");
System.out.println(System.getenv().toString());
System.out.println("Properties");
System.out.println(System.getProperties());

When I run this actor, neither WSX or QAZ appears in the result that is printed to the screen. Am I missing something about how to set environment variables? I also know that the code Run.java in org.kepler.build is printing to the screen "Set environment variable: QAZ = /tmp/" yet it doesn't appear to be set when my actor tries to access it.

My use case requires me to load a custom module which includes actors that call native libraries and need to add entries to PATH, and LD_LIBRARY_PATH as well as have a variable XUGGLE_HOME set as an environment variable. I can easily set these variables using export PATH, export LD_LIBRARY_PATH, and export XUGGLE_HOME, but I want these variables to be loaded at run time so that new modules can be added with different environment variables without a need to reconfigure the machines where they are running.

Scott

--
Scott Zimmer
Optensity, Inc.
(512) 299-7218

_______________________________________________
Kepler-dev mailing list
[email protected]
http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev

Reply via email to