Useful Links for Developers
TracNav
Links for developers wishing to develop or modify Quattor components or services:
Project Conventions
Build Framework
The Quattor community is moving from a make-based system to one driven by maven. This shift is being done in order to simplify the build tools and to take better advantage of existing software development tools (e.g. for continuous integration). The focus will initially be on migrating the Quattor configuration components. Instructions for using both the old build system and the newer one are below.
Software Development Tools
Source Repository
The Quattor source code is managed through a Subversion repository at SourceForge. This includes the core Quattor tools as well as the configuration components. Currently, the community's common configuration for grid services resides in another repository.
- Browse Aquilon-related repositories. All other repositories are obsoleted
- Browse the code that makes it into our releases
- Checkout code
Generated Packages & Artifacts
The project is currently migrating to the use of maven for managing the Quattor build and release processes. For the parts of the Quattor toolkit that have migrated, there are maven repositories available: one for snapshots (development packages) and another for production releases. These can be viewed with a standard web browser or used through maven. The access and configuration information for the two repositories follows.
Note: Currently those needing access for uploading to the repositories can request it. Eventually, upload access will be restricted only to the official build system.
Snapshot (Development) Repository
Browse the development repository or configure maven as follows.
<repository> <id>quattor-snapshots<id> <name>quattor-snapshotsname> <url>http://stratuslab-srv01.lal.in2p3.fr:8081/content/repositories/quattor-snapshots/</url> </repository>
Releases Repository
Browse the releases repository or configure maven as follows.
<repository> <id>quattor-releases</id> <name>quattor-releases</name> <url>http://lapp-repo01.in2p3.fr:8081/nexus/content/repositories/releases/</url> </repository>
In most cases, this is already provided by the parent POM.
Release process
Bug tracking
See Contacts page.
Configuration Modules
Before developing a new configuration module, please search the existing code repository to ensure that there is not already something similar. Also send an email to the Quattor discussion list to see if anyone else has a private configuration module or is interested in collaborating with you. A list of components along with their man pages is available on the web.
To create a working skeleton Quattor configuration module, use maven to create one from the standard "archetype". Use the following command:
mvn archetype:generate \ -DarchetypeArtifactId=cfg-module \ -DarchetypeGroupId=org.quattor.maven \ -DarchetypeVersion=1.31
Use the standard groupId for the component if this will become part of the Quattor repository. Once generated, you can ensure that the component compiles with mvn package
. You should then modify the perl module and pan language files as appropriate for the component that you are building.
Pan language
Gory details of some procedures and modules
To discuss
- How to model virtual machine migration
- Using the Template Toolkit? for simplifying the final representations.
- Configuring specific actions in ncm-ncd