https://github.com/ccsi-toolset/turb_client
Tools for communicating with the Turbine Gateway
https://github.com/ccsi-toolset/turb_client
foqus
Last synced: 4 months ago
JSON representation
Tools for communicating with the Turbine Gateway
- Host: GitHub
- URL: https://github.com/ccsi-toolset/turb_client
- Owner: CCSI-Toolset
- License: other
- Created: 2017-06-08T17:23:36.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-09-11T19:13:54.000Z (almost 3 years ago)
- Last Synced: 2025-06-20T13:12:20.643Z (12 months ago)
- Topics: foqus
- Language: Python
- Size: 9.87 MB
- Stars: 0
- Watchers: 13
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](https://keeling.lbl.gov/job/turb_client)
# turb_client
Python package and utility scripts for communicating with the Turbine Science Gateway Web API, consisting of five Web JSON RESTful interfaces for Application, Session, Job, Simulation, and Consumer.
## List of Web Resources
* Application: The applications available on the Gateway, this should be a subset of foqus, AspenPlus/ACM, gPROMS, Excel.
* Simulation: In a "simulation" description the application is specified (eg. foqus), a set of staged input files are provided and a list of expected staged output files. A "simulation" description must specify one of the application from above.
* Job: A unit of work, which specifies a simulation, and potentially several input parameters.
* Session: A session is a group of jobs that can be submitted, executed, and monitored together.
* Consumer: The consumer resource provides descriptions of all the workers available to process job requests.
## Installation
If you are installing for multiple users and have root privledges, use this command:
% python setup.py install
To install for only the current user (no root):
% python setup.py install --user
## Running turbine scripts
1. Copy Template configuration file
* Localhost deployment copy 'config.txt.in' to 'config.txt'
* Gateway Configuration Template copy 'config_turbine.acceleratecarboncapture.txt.in' to 'config.txt'
2. Section Authentication: Modify with your credentials.
[Authentication]
username=test1
password=qwerty
3. Security Section: Add or Remove the trusted certificate authorities.
[Security]
TrustedCertificateAuthorities=cacerts.txt
* To disable server certificate verification remove the 'Security' section
** NOTE: IIS 7.5 self-signed certificates will not pass verification because the X509v3 Basic Constraints CA bit is not set to TRUE.
* option 'TrustedCertificateAuthorities' is a file containing all the trusted CA certificates. Included in this distribution is the CA for use with 'localhost'.
** NOTE: It's a good idea to change the relative path to the absolute file path.
4. Web Resource Sections (example for local deployment):
[Consumer]
url=https://localhost:8080/Turbine/consumer/
[Job]
url=https://localhost:8080/Turbine/job/
[Simulation]
url=https://localhost:8080/Turbine/simulation/
name=mea-uq-billet-1
[Session]
url=https://localhost:8080/Turbine/session/
[Application]
url=https://localhost:8080/Turbine/application/
5. Test get the session list ( GET /Turbine/session ):
% turbine_session_list config.txt
[]
## Integration Tests
1) Copy 'integration_test.cfg.in' to 'integration_test.cfg' in the test directory
% cd test/integration
% cp integration_test.cfg.in integration_test.cfg
2) Copy & Paste all the information from config.txt into 'integration_test.cfg'.
This is essentially all the URL's and the Username/Password.
3) Run WS Basic tests
% python suites/ws_test_suite.py
4) Run WS Simulation Basic tests
% python suites/simulation_test_suite.py
5) Run Application tests
% python suites/acm_test_suite.py
% python suites/aspenplus_test_suite.py
% python suites/excel_test_suite.py
## Extras
The 'turbine_session_graphs' script utilizes the python rpy2 module, which requires R and the ggplot2 package. You probably don't want this.
1. install R (Mac OS, Windows, Linux)
http://cran.cnr.berkeley.edu/
2. install ggplot2
% R
> install.packages("ggplot2")
3. install rpy2 python module
% easy_install rpy2
## Development Practices
* Code development will be peformed in a forked copy of the repo. Commits will not be
made directly to the repo. Developers will submit a pull request that is then merged
by another team member, if another team member is available.
* Each pull request should contain only related modifications to a feature or bug fix.
* Sensitive information (secret keys, usernames etc) and configuration data
(e.g database host port) should not be checked in to the repo.
* A practice of rebasing with the main repo should be used rather that merge commmits.
## Authors
* Josh Boverhof
* See also the list of [contributors](https://github.com/CCSI-Toolset/turb_client/contributors) who participated in this project.
## Versioning
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/CCSI-Toolset/turb_client/tags).
## License & Copyright
See [LICENSE.md](LICENSE.md) file for details