Purpose

PVSSBootstrapper is…

  • An outside-PVSS API to manage projects.
  • A command line tool.
  • And a Python module.

Features:

  • Starting and stopping a specific project.
  • Stopping all running projects.
  • Registering and unregistering an existing project.
  • Creating, overwriting or deleting a project.
  • Deploying the fwInstallation tool.
  • Installing components.
  • All work on Linux/Windows.

What’s for?

Current status

Implementation Testing Documentation Example

Start/Stop project(s)

OK

OK

No

Not up-to-date

Project registration

OK

OK

No

No

Project creation

OK

OK

No

Not up-to-date

Component installation

Works in previous versions

No

No

Not up-to-date

DB Agent

Works in very old versions

No

No

No

Lately…

  • Usage refactoring.
  • Extensive unit testing (35 test cases so far, about 45 minutes to complete).

Planned work

Short term

  • Having component installation reusable.
  • Finishing unit test scripts.

Mid term

  • Extending options for project creation (dist peers and custom config entries).
  • Installing components from zip files or SVN.
  • Extending component support (multiple installation folders).
  • Presenting to the group.

Long term

  • Having the DB agent reusable.

Example: Create project

From command line

PVSSBootstrapper.py createProject /My/Sandbox MyProject

From Python

import PVSSBootstrapper

PVSSBootstrapper.createProject('/My/Sandbox', 'MyProject')

Options

  • Overwrite.
  • System number, system name.
  • pmon/data/event/dist port.

Example: Start project

From command line

PVSSBootstrapper.py startProject MyProject

From Python

import PVSSBootstrapper

PVSSBootstrapper.startProject('MyProject')

Options

  • Can start (and auto-register) with a project path instead of a project name.
  • Restart, User, Password, StartedWithManager, NoConsole, NoLogViewer, DontRegister, DontWait

Final thoughts

Follow on SVN

https://svn.cern.ch/reps/en-ice-svn/...
  trunk/tools/JCOP/Projects/Framework/Utilities/PVSSBootstrapper