GinFlow is integrated to the Tigres Library. It means that you can run your worflows expressed in Tigres using GinFlow transparently. The following section will guide you through the setup of the GinFlow-Tigres bridge.
Tigres distribution and documentation are available in the following link : http://tigres.lbl.gov/documentation.
Note that the bridge has been developed for Tigres 0.1.0
Download the GinFlow-Tigres integration from the download page and install it in your python environment.
Test your installation
In this section we will test the bridge on a simple Tigres workflow. In the GinFlow-Tigres bridges you will find some examples under the tests directory. We will first try to run a Tigres Workflow without GinFlow and with GinFlow.
Run a workflow without GinFlow
# Move to the test subdirectory of the GinFlow-Tigres integration cd test/templates # Execute the sequence example without GinFlow python hello_world_sequence.py EXECUTION_LOCAL_THREAD
At this point, if you get any error please refer to the Tigres Documentation to fix your Tigres installation.
Run a workflow with GinFlow
# Move to the test subdirectory of the GinFlow-Tigres integration cd test/templates # Execute the sequence example with GinFlow GINFLOW_PATH=[absolute path to GinFlow jar] python hello_world_sequence.py EXECUTION_LOCAL_THREAD
You should see some new traces to the screen, but the same final output as before.
Note that by default the workflow is run on GinFlow using the centralized executor.
Change the executor to SSH
In order to change the executor to SSH, change the “ginflow.yaml” file provided accordingly to your local machine configuration. The executor is then specified using another environment variable :
# Execute the sequence example with GinFlow GINFLOW_PATH=[absolute path to GinFlow jar] EXECUTOR=ssh python hello_world_sequence.py EXECUTION_LOCAL_THREAD
How is it working ?
If you open one of the example file, you will see in the beginning :
# Enable execution Ginflow at the template level if os.environ.get('GINFLOW_PATH') != None: import hoclwms_tigres.override
The purpose of the code is to load some functions of the GinFlow-Tigres bridge if the GINFLOW_PATH is set. These functions will override the default behaviour of Tigres and send the template executions to GinFlow.