| 1 | = How to Use SCDB = |
| 2 | [[TracNav]] |
| 3 | |
| 4 | [[TOC(inline)]] |
| 5 | |
| 6 | |
| 7 | == Getting Started == |
| 8 | |
| 9 | To start with SCDB, you first need to install a [http://subversion.tigris.com Subversion] server, an open source product. There are in fact 2 versions of Subversion server : |
| 10 | * http based : it is provided as an Apache module. This is the recommended version for production but is a litte bit more complex to setup than standalone version. |
| 11 | * standalone version : this should be used for testing, as it has less features than http based version. |
| 12 | |
| 13 | There is no problem to start with standalone server and migrate to http server later (just the repository URL will change and it will require a new checkout) : repository are the same whatever the access method is. |
| 14 | |
| 15 | After you have a Subversion server installed, you need to : |
| 16 | * Create a repository and import the basic SCDB structure from [source:SCDB]. |
| 17 | * Import QWG templates in `cfg` directory, according to the version you need. See QWG [wiki:Download download] instructions. |
| 18 | |
| 19 | |
| 20 | == Template Compilation == |
| 21 | |
| 22 | All the template processing needed to build machine profiles is done with {{{ant}}} tools, a Java based equivalent of {{{make}}}. {{{ant}}} brings the advantage of platform independance, allowing to do Quattor management tasks on any platform (Unix, Windows, MacOS). |
| 23 | |
| 24 | Specific management tasks (called {{{targets}}}) are passed as a parameter to {{{ant}}} command, in much the same way this is done with {{{make}}}. There are 3 main targets for managing Quattor (other targets are used internally by {{{ant}}}) : |
| 25 | |
| 26 | * {{{compile.all}}} : this task recompiles all the machine profiles affected by template changes. This is the default if no target is specified. |
| 27 | * {{{deploy}}} : this task deploys the new machine profiles on the Quattor server. This can occurs only after successful compilation of all clusters. |
| 28 | * {{{update.rep.templates}}} : this task updates templates describing RPM repositories contents by scanning each repository associated directory. |
| 29 | |
| 30 | |