| 13 | | There are 3 areas in the repository, located under this URL : |
| 14 | | * [source:templates/trunk trunk]: this is where you can get the most recent changes to the templates. The structure of this branch is a little bit different from other branches, this is a log of every modification made to the templates. Every change is first done in the trunk. This is not guaranteed to work... This branch should not be used as a source for a production SCDB. |
| 15 | | * [source:templates/branches branches]: contains one ''branch'' per middleware version. These branches contain changes merged from the trunk and the branch revision log link to the trunk revisions where the the changes were introduced. What's here is something reasonnably stable, very often announced as pre-releases. '''This is the recommended version to use for production''', in particular for grid templates. It allows to get last updates for critical services like patches, VO parameters, certificates... |
| 16 | | * [source:templates/tags tags]: contains one tag per stable version of the templates. The tag name starts with the middleware release, so it is quite easy to identify what you are looking for. Versions in the tag area are what we call QWG releases. They link to the corresponding branch revision. By definition they are outdated as soon as they are released... |
| | 9 | == Template Library Sources == |
| 26 | | QWG templates can be checked out using `svn co` command directly or using [source:templates/trunk/tools/check-compile.sh check-compile.sh] script. The script allows to download both a vanilla SCDB and a specific version of the templates. It is then possible to compile the examples provided with the templates to assess they work properly before integrating them in your production SCDB. An example of using [source:templates/trunk/tools/check-compile.sh check-compile.sh] to check out glite 3.1 branch is (`-D` is necessary to be able to do `svn update later`): |
| 27 | | {{{ |
| 28 | | check-compile.sh -D -d /qwg/templates gLite-3.1 |
| 29 | | }}} |
| 30 | | |
| 31 | | One gLite branch contains the template for one specific version of gLite, the OS templates and the other standard templates. Even though present in all branches, the OS templates and the other standard templates are identical in all gLite branches. |
| 32 | | |
| 33 | | If you need the templates for several different versions of gLite, there is no need to do a full separate checkout of every gLite version. Instead, just download one (try to use the most actively developped) with [source:templates/trunk/tools/check-compile.sh check-compile.sh] and then add the templates for the other version using the commands below (they are an example to add gLite 3.2 support, customize to your specific need): |
| 34 | | {{{ |
| 35 | | cd /qwg/templates |
| 36 | | svn propset svn:externals 'glite-3.2 https://svn.lal.in2p3.fr/LCG/QWG/templates/branches/gLite-3.2/grid/glite-3.2' cfg/grid/ |
| 37 | | svn update cfg |
| 38 | | }}} |
| 39 | | |
| 40 | | Then, every time you issue `svn update cfg`, you'll get the last version of all the standard templates for all the gLite versions you added. And you can use the procedures described in the relevant [wiki:/Download/QWGTemplates/Install#Upgradinganexistingrepository documentation] to upgrade your production SCDB. |
| 41 | | |
| 42 | | You can also use `svn switch` if you would like to switch the OS templates and the other standard templates to those provided by another branch. This may be necessary as the most recent changes to these templates is not necessarily merged into all branches at the same time (but the most recent version always work with all the branches). |
| 46 | | In addition to the templates, you also need to get the RPMs. The easiest is to get them from GRIF site, using the URLs in the comments at the beginning of repository template [source:templates/trunk/sites/example/repository examples]. The easiest way to download the new RPMs in an existing RPM repository is to use [source:SCDB/trunk/src/utils/misc/rpmUpdates.pl src/utils/misc/rpmUpdates.pl] : |
| 47 | | {{{ |
| 48 | | # Redirect stdout to /dev/null as the template produced is not needed |
| 49 | | src/utils/misc/rpmUpdates.pl /your/RPM/repository/path http://source.node.example/source/url > /dev/null |
| 50 | | }}} |
| 51 | | |
| 52 | | |
| 53 | | If you want to download the templates from the official gLite repositories, you must use `wget`. |
| 54 | | |
| 55 | | * For gLite 3.1, there are 3 separate areas for each architecture (`i386` or `x86_64`). Replace `i386` by `x86_64` in the URLs below to get 64-bit RPMs : |
| 56 | | * Base RPMs provided by gLite : http://glitesoft.cern.ch/EGEE/gLite/R3.1/generic/sl4/i386/RPMS.release |
| 57 | | * External products used by gLite : http://glitesoft.cern.ch/EGEE/gLite/R3.1/generic/sl4/i386/RPMS.externals |
| 58 | | * Updates : http://glitesoft.cern.ch/EGEE/gLite/R3.1/generic/sl4/i386/RPMS.updates |
| 59 | | * For gLite 3.2, there are 3 separate areas for each architecture (`i386`, `x86_64`). `x86_64` is the main architecture (and for some services the only one] in gLite 3.2. gLite 3.2 requires SL5 : |
| 60 | | * Base RPMs provided by gLite : http://glitesoft.cern.ch/EGEE/gLite/R3.2/glite-GENERIC/sl5/x86_64/RPMS.release |
| 61 | | * External products used by gLite : http://glitesoft.cern.ch/EGEE/gLite/R3.2/glite-GENERIC/sl5/x86_64/RPMS.externals |
| 62 | | * Updates : http://glitesoft.cern.ch/EGEE/gLite/R3.2/glite-GENERIC/sl5/x86_64/RPMS.updates |
| 63 | | * EMI-1 (requires SL5) |
| 64 | | * Base RPMS: http://emisoft.web.cern.ch/emisoft/dist/EMI/1/sl5/x86_64/base |
| 65 | | * External dependencies (other than EPEL): http://emisoft.web.cern.ch/emisoft/dist/EMI/1/sl5/$basearch/third-party |
| 66 | | * Updates: http://emisoft.web.cern.ch/emisoft/dist/EMI/1/sl5/x86_64/updates |
| 67 | | |
| 68 | | |
| 69 | | ''Note : In gLite 3.1 and higher, there is actually one distribution point per node type but they are currently all aliases to `generic`. In Quattor, because SPMA |
| 70 | | install an explicit version and architecturre, there is no need to have separate RPM repositories for each service and each architecture.'' |
| 71 | | |
| 72 | | In addition to RPMs provided by gLite, templates need RPMs provided by [http://jpackage.org JPackages] for several Java utils packages. These RPMs are easily identified as their version ends with `jpp`. These packages can generally be retrieved with `wget` from http://mirrors.dotsrc.org/jpackage/1.7/generic/free/RPMS/. In case of problem use JPackage [http://www.jpackage.org/browser/browse.php repository browser]. |
| 73 | | |
| 74 | | For ncm-components, the official distribution point for component RPMs is http://eticssoft.web.cern.ch/eticssoft/repository/quattor-compiler/ncm-components. This URL is updated daily with the last sources available. As an alternative, you can use GRIF RPM repository, http://quattorsrv.lal.in2p3.fr/packages/ncm-components or you can [wiki:Development/Templates/Components#InstallingaNewVersion rebuild the component] from CVS. |
| | 25 | In addition to the templates, you also need to mirror the YUM repositories used by the template library. You can find in the example part of the template library (from GitHub repository [http://github.com/quattor/template-library-examples template-library-examples] or from directory `cfg/sites/examples/repository` created by previous step) URLs of YUM repositories that you can use as upstream repositories to start. |
| 81 | | == Recent Changes == |
| 82 | | |
| 83 | | === Tags === |
| 84 | | |
| 85 | | [[ChangeLog(/templates/tags,2)]] |
| 86 | | |
| 87 | | === Branch gLite-3.2 === |
| 88 | | |
| 89 | | [[ChangeLog(/templates/branches/gLite-3.2,3)]] |
| 90 | | |
| 91 | | Click [wiki:ReleaseNotes/gLite-3.2 here] for more details. |
| 92 | | |
| 93 | | === Branch gLite-3.1 === |
| 94 | | |
| 95 | | [[ChangeLog(/templates/branches/gLite-3.1,3)]] |
| 96 | | |
| 97 | | Click [wiki:ReleaseNotes/gLite-3.1 here] for more details. |
| 98 | | |
| 99 | | === Branch no-grid === |
| 100 | | |
| 101 | | [[ChangeLog(/templates/branches/no-grid,3)]] |
| 102 | | |
| 103 | | === Trunk === |
| 104 | | |
| 105 | | [[ChangeLog(/templates/trunk,5)]] |
| 106 | | |
| 107 | | Click [wiki:ReleaseNotes/trunk here] for more details. |