1 / 17

Deploying Experiments with Raven

Deploying Experiments with Raven. Scott Baker SB-Software John H. Hartman University of Arizona. Raven Components. Raven – Experiment administration Owl – Experiment monitoring Repository – Holds metadata / packages / DBs Tempest – Remote deployment daemon Stork – Package management

rumer
Download Presentation

Deploying Experiments with Raven

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Deploying Experiments with Raven Scott Baker SB-Software John H. Hartman University of Arizona

  2. Raven Components • Raven – Experiment administration • Owl – Experiment monitoring • Repository – Holds metadata / packages / DBs • Tempest – Remote deployment daemon • Stork – Package management • Like yum • Enhanced security, hierarchical trust

  3. Raven Overview

  4. Experiment Flow

  5. Raven Experiment Container • Subdirectory structure • Packages/ rpms, tarballs, etc • Users/ other people you trust • Templates/ templates for config files, etc • Tpfiles/ trust specification (auto-gen) • Tempest/ tempest configuration (auto-gen) • Config/ per-slice config files (auto-gen)

  6. Raven Advantages • Secure • “tpfiles” contain hashes of trusted packages • Tpfiles, config files, etc., signed by experimenter • Experiments can span slices and partners • Example: PlanetLab, GpENI demo • Single-command experiment deployment • Supports Cluster-B GENI credentials

  7. Deploying an Experiment • Create a new experiment container • raven create • (Raven will ask you for experiment name, keys, etc) • Copy in your package(s) • cp /home/mypackage.tar.gz packages/ • Publish it • raven publish

  8. Raven Publish Steps

  9. client scripts owld browser HTTP HTTP apache/owl apache/owl display mysql server Owl

  10. Status Report • Raven tool implemented and deployed • Owl tool implemented and deployed • Google maps interface to Owl • Migrated repository to mod_python • Modified SFA authentication to explicitly sign arguments • iftd transport service – work continuing

  11. Live Demo • cd ~ • mkdirmy_experiment • cdmy_experiment • raven create –import ~/gec6demo.conf • ls • ~/make_helloworld.sh • raven publish

  12. Live Demo (1) • $ cd ~ • $ mkdirmy_experiment

  13. Live Demo (2) • $ raven create • Experiment name: [None] ? my_experiment • Location of your private key: [None] ? ~/.sfi/bakers.pkey • A GENI Credential file may be used to automatically upload files to the Raven repository. This file is optional, but without it you will be responsible for manually uploading the files. Location of GENI cred file: [None] ? ~/.sfi/bakers.cred • Raven may be configured to manage the config files on your slices for you. You may enter multiple slice names separated by commas. Entering no slice names will cause packages and tpfiles to be uploaded, but not slice configuration files. Slices that should be managed by this experiment: [] ? arizona_client2

  14. Live Demo (3) • The packages.pacman file controls which packages will be installed on your nodes. This tool can be configured to automatically manage this file, by installing all of your packages on all of your nodes. • Automatically manage your packages.pacman (y/n): [y] ? • Automatically install and upgrade stork (y/n): [y] ? • Automatically install and upgrade the owl slice management service (y/n): [y] ? • By default, raven will attempt to install/upgrade all packages that you place in the packages directory. You can choose to not automatically install some packages, in which case the packages will be made available for dependency resolution, but not automatic installation. • Package names to not install: [] ?

  15. Live Demo (4) • $ mkdirhelloworld • $ echo "date >> /tmp/helloworld.txt" > helloworld/autorun.sh • $ tar -czf helloworld-1.0.tar.gz helloworld • $ cp helloworld-1.0.tar.gz ~/my_experiment/packages/

  16. Live Demo (5) • raven publish • trusting: helloworld-1.0.tar.gz • trusting user: stork • trusting user: fedora8 • adding to packages.pacman: helloworld • copying: helloworld-1.0.tar.gz • signing: my_experiment.tpfile • signing: my_experiment.packages.pacman • signing: arizona_client2.stork.conf • uploading: my_experiment.fda12c53d8a54531879fae38fcb0671efb553051.packages.pacman True • uploading: helloworld-1.0.tar.gz True uploading: arizona_client2.fda12c53d8a54531879fae38fcb0671efb553051.stork.conf True uploading: my_experiment.fda12c53d8a54531879fae38fcb0671efb553051.tpfile True

  17. Owl • Monitoring Framework • Extensible • scripts.d – directory of monitoring scripts • Client/server • Database on raven repository • Currently working on security and visualization

More Related