Skip to content
David Fischer edited this page Dec 3, 2013 · 8 revisions

Deployment guide

This is a proven step by step installation description. It is not the only way to deploy OSCIED in your own infrastructure.

Setup of your development / deployment workstation

Download and install Ubuntu 13.04 Desktop amd64.

Ensure that your system is up-to-date and clean:

sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get -y autoremove
sudo apt-get -y autoclean

Reboot your computer if the kernel is upgraded:

sudo reboot

Install git-core:

sudo apt-get -y install git-core

Scripted installation of the prerequisites

Get OSCIED and run install operation of the main menu script:

cd
git clone https://github.com/ebu/OSCIED
cd OSCIED/scripts/
sh menu.sh install

This operation will take some time, please be patient.

If the event of a failure in the installation process, refer to the log file setup.log located in the library directory, next to the setup.sh script.

Now you can either deploy your own environment using JuJu, or use one of the provided deployment scenarios.

Scripted deployment of OSCIED

OSCIED is a distributed system composed of 5 different kind of services. Each service is packaged into a ready to-deploy "template" (called charm) that one can deploy and inter-connect via Canonical's JuJu services orchestrator into any of the compatible environment.

OSCIED comes with a bundle of scripted deployment scenarios built over JuJu which abstract away the task of understanding JuJu's workflow. Each scenario lies in its own directory, sitting in the scenarios directory, and is composed of (example based on the scenario called Amazon):

  • A main script scenario.py that you can call directly or use menu.sh deploy to trigger it [1].
  • A units configuration template config.yaml.template containing all the options [2] of the services to deploy [3].
  • A symlink to the library of OSCIED, useful for the scenario.py to import the library.
  • A set of CSV files (media.csv, tprofiles.csv, ttasks.csv and users.csv) used by the script to trigger the orchestration unit's API to initialize the database with some demonstration values.

They are also few files that are not under revision control, files that will be automagically generated/edited and copied into the current scenario:

  • A private/public key pair id_rsa and id_rsa.pub required to secure the communication and data-transfer channel between your client computer and the units that will be deployed by JuJu.
  • An environments configuration file environments.yaml used by JuJu to configure the various targets with your own account(s).
  • A units listing units.list used by the menu script, do not take care of it [4].

To deploy a scenario, only issue the following:

cd ~/OSCIED/scripts/
sh menu.sh deploy

Select one of the scenarios to deploy and answer to questions.

Please read the FAQ of the project to manage your deployment.


[1] The recommended way, as the menu script does take care of the few uninteresting steps that must be done before calling the scenario.
[2] Shortcuts to charms configuration of : Orchestra | Publisher | Storage | Transform | WebUI.
[3] The passwords are left blank, they are generated by the scenario script to ensure their uniqueness.
[4] Maybe removed into any future release as I really want to (but need some free time to ...) replace Bash by Python for various good reasons, see issue #81.