Changes between Version 17 and Version 18 of Development/Templates/ClientSideDepsCheck
- Timestamp:
- Sep 29, 2008, 7:41:12 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Development/Templates/ClientSideDepsCheck
v17 v18 1 [[TOC]] 1 = Checking Package Dependencies in a Profile = 2 [[TracNav]] 3 4 [[TOC(inline)]] 2 5 3 6 One of the annoying things about Quattor is that you can't check that a package set defined in a profile is consistent, i.e. that it doesn't require any more packages added to resolve dependencies. This can result in a frustrating sequence of "tweak package list, deploy profiles, run SPMA, check for dependency errors". The problem is that dependency information is not available when compiling profiles. … … 14 17 {{{createrepo /var/www/html/ca}}} 15 18 16 = Set up YUM on your development machine=17 == Install YUM==19 == Set up YUM on your development machine == 20 === Install YUM === 18 21 If YUM isn't installed, you will need to install it on the machine where you normally develop Quattor profiles. Note that that checkdeps.py has been tested with YUM version 3.2.8 (as used in Fedora 8). 19 22 20 == Set up a directory for YUM==23 === Set up a directory for YUM === 21 24 You will need to create a directory for YUM to store its metadata in. Any directory will do. This will be passed in to checkdeps as its working directory. 22 25 23 == Create a YUM config file==26 === Create a YUM config file === 24 27 This can be very basic. The minimum we need is the location of the directory where the YUM templates describing the repositories are stored. 25 28 … … 30 33 }}} 31 34 32 == Generate YUM repository files==35 === Generate YUM repository files === 33 36 For each Quattor repository, you will need to define YUM files describing the repository. '''These must have the same names in YUM and Quattor." The easiest thing is to let checkdeps generate these for you for the profile you're trying to check. If you pass checkdeps the {{{-g}}} flag it will do this for you. 34 37 35 = Get checkdeps=38 == Get checkdeps == 36 39 checkdeps is available in the SCDB distribution at [source:SCDB/trunk/src/utils/profiles/checkdeps.py src/utils/profiles/checkdeps.py] 37 40 38 = Run checkdeps=41 == Run checkdeps == 39 42 Here is the output when your profile is consistent: 40 43 {{{ … … 63 66 If you add the -p flag, then the program will output Pan lines adding the package (using {{{pkg_repl}}}) for easy cut-and-paste into the offending profile! 64 67 65 = TROUBLESHOOTING=68 == Troubleshooting == 66 69 67 == No handlers could be found...==70 === No handlers could be found... === 68 71 69 72 Yum changes the API from one version to another. This means, that you … … 76 79 [http://gridp03.ft.uam.es/swrep/noarch/yum-3.2.19-3.noarch.rpm UAM's build]. 77 80 78 == Errors on packages while checking dependencies==81 === Errors on packages while checking dependencies === 79 82 80 83 First, check your yum configuration. If it's all right, it means that … … 86 89 [http://gridp03.ft.uam.es/swrep/noarch/createrepo-0.9.5-2.noarch.rpm UAM's repository]. 87 90 88 = TODO=91 == TODO == 89 92 * Tool for automatically running createrepo on all Quattor repositories on the server 90 93 * Output Pan code for adding the missing packages … … 92 95 * Check for conflicts as well as deps problems 93 96 94 = DONE=97 == DONE == 95 98 * Convince YUM to look at 64-bit packages on a non-64-bit machine (fixed by calling YUM's doSackSetup with a comprehensive list of arches -- need a better solution as this function is deprecated) 96 99