Skip to content

brettviren/orchestrate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Orchestrate Installation of Software Packages

Overview

Orchestrate automates the installation suites of packages from source.

Details of the design and use of Orchestrate are in the doc/orchestrate.org.

The orchestration is driven by a suite description file using a Python-based application and per-package Bash scripts.

Python versions before and including 2.4 is not supported. Python 2.7 is recommended. Other versions are not guaranteed to work.

Installation

Orchestrate installs as a Python package in a few ways. Which way is best to use depends on what the build host provides. Each method is described below.

Bootstrap installation

If the build host lacks a sufficiently new version of Python and/or virtualenv then it is recommended to use the ./bash/bootstrap.sh script to install these. To do that:

cd orchestrate/
./bash/bootstrap.sh /path/to/venv [/path/to/temp]

If no temporary directory is given, one is generated in /tmp. After the bootstrap completes successfully the temporary directory may be removed.

The resulting installation can be “activated” using the standard virtualenv mechanism:

source /path/to/venv/bin/activate

and later “deactivated” via:

deactivate

Preparing your own environment

If you want to provide your own Python environment it is still recommended to install Orchestrate into a virtualenv.

virtualenv /path/to/venv

Then, install Orchestrate as described in the next section.

Existing environment

Given an existing, suitable Python environment the orchestrate package can be installed with, for example, pip:

pip install /path/to/orchestrate-X.Y.tar.gz

In-source use

Orchestrate can be run directly from the source if a suitable Python environment exists. All that is needed is to locate its Python modules.

export PYTHONPATH=/path/to/orchestrate/python

TODO: Installation from online package repository

T.b.d, provide online PyPi-style package repository and configuration instructions.

Command Line Use

Orchestrate is run via the command orch.

orch [global options] <command> [command options]

An invocation that runs an example:

./orch -s examples/larsoft/shims -c examples/larsoft/suite.cfg list

Configuration

The doc/orchestrate.org doc should be consulted. The ./tests/test.cfg file is a simple example used by the tests. There are also examples configuration files and package shims in the examples directory.

Tests

There are many unit tests. If the nosetests program is installed it can be run from the top level source directory, after setting PYTHONPATH to point to the orchestrate/python directory, in order to run all tests. Or, tests can be run one at a time directly. For example:

python tests/test_app.py

About

Orchestrate installations of suites of packages.

Resources

Stars

Watchers

Forks

Packages

No packages published