Difference between revisions of "Upgrading Quattor managed glite servers"

From PDP/Grid Wiki
Jump to navigationJump to search
Line 10: Line 10:
  
 
== As normal-user@stal ==
 
== As normal-user@stal ==
Assuming you have a working Quattor environment, in particular $L points to a usable Quattor checkout.
+
Assuming you have a working Quattor environment, in particular $L points to a usable Quattor repository checkout.
 
First argument of rpmUpdates.pl script is the directory of the mirror created as ndpfmgr before.
 
First argument of rpmUpdates.pl script is the directory of the mirror created as ndpfmgr before.
  

Revision as of 12:28, 3 October 2008

Updating a glite release in not even 30 simple steps

The following notes were taken during the upgrade from glite-3.1-update-29 to glite-3.1-update-31.

As ndpfmgr@stal

  • Run the skript ~/bin/mirror-glite-3.1

This creates a Quattor template file in /tmp which can be used to create a cern-mirror of the latest glite in /project/quattor/www/html/mirror/glite (fetch release from: http://glitesoft.cern.ch/EGEE/gLite/).

As normal-user@stal

Assuming you have a working Quattor environment, in particular $L points to a usable Quattor repository checkout. First argument of rpmUpdates.pl script is the directory of the mirror created as ndpfmgr before.

  • $L/..//bin/rpmUpdates.pl /project/quattor/www/html/mirror/glite/3.1/generic/sl4/x86_64/updates/ > /tmp/31-i386
  • $L/../bin/rpmUpdates.pl /project/quattor/www/html/mirror/glite/3.1/generic/sl4/x86_64/updates/ > /tmp/31-x86-64
  • cd $L/cfg
  • cp /tmp/glite-3.1-update-31.tpl ./
  • cd $L/cfg/grid/glite-3.1/update/
  • cp -a 29 31
  • find $L/cfg/grid/glite-3.1/update/31 -type d -name CVS -exec rm -rf {} \; (delete the CVS files, this command will change when moving to subversion)
  • for file in `grep -H -r "/29/" 31/* |awk -F : '{print $1}'`; do sed -i "s/\/29\//\/31\//g" $file; done (replace the old update nr with the new one).
  • replace the entries in $L/cfg/grid/glite-3.1/update/31/{i386,x86_64}/rpms.tpl with entries in glite-3.1-update-31.tpl, take care to uncomment torque packages and that the manualy added packages are appended.
  • rm $L/cfg/glite-3.1-update-31.tpl (file copied above, will not pass quattor syntax checks.)
  • edit $L/cfg/grid/glite-3.1/glite/defaults.tpl replace update version nr to the actual one (set new update to default version)
  • makexprof -u -f itb tbn09 (try to compile it for some testbed node)
  • check if the changes for 64 bit are also OK, for example: makexprof -f prd hooi-ei-12
  • if OK, submit the changes to CVS

Again as ndpfmgr@stal

Get the updates commited as normal user above, confirm they compile, push profile to a testbed node, here are the steps:

  • cd $/cfg
  • cvs upd -APd
  • makexprof -u -f itb tbn09
  • pushxprof -u -f itb tbn09
  • if OK, push profiles to itb: makexprof -f itb
  • pushxprof -f itb

And finaly-A, since Quattor somehow has to add its ideas of package managing

If you get noticed, preferably by a monitoring system (if you don't have one -good luck), that something does not work after carefully doing these simple some 20 steps above. You could try the following:

  • Logon the host who shows problems
  • tail /var/log/ncm/ncd.log
2008/10/02-15:25:30 [INFO] Errors while configuring spma (1)
2008/10/02-15:25:30 [ERROR] 1 errors, 0 warnings executing configure

This tells us, that we actualy have to look into

  • tail /var/log/spma.log
2008/10/02-15:25:28 [WARN] Errors found:
depcheck: package glite-UI 3.1.19-0 needs glite-amga-api-python >= 1.3.0-1
depcheck: package glite-UI 3.1.19-0 needs glite-amga-cli >= 1.3.0-4
there were 2 dependency problem(s) and 0 conflict(s)

With this information now simply visit the web page which has the rpm list for this particular server, in our case: http://glite.web.cern.ch/glite/packages/R3.1/deployment/glite-UI/3.1.20-0/glite-UI-3.1.20-0.html

These packages have to be added to the respective rpm list, don't expect something fancy or advanced as in the package managers (rpm, apt,...) which are around, its a simple text file, but stepwise:

And finaly-B, again as normal-user@stal

Here the package managing for the ui is wrong. Note that you don't add it to the updates directory, this goes to the "base list".

  • In our example the following should work:
cat << EOF >> $L/cfg/grid/glite-3.1/glite/ui/rpms.tpl
"/software/packages"=pkg_repl("glite-amga-cli","1.3.0-4","i386");
"/software/packages"=pkg_repl("glite-amga-api-python","1.3.0-1","noarch");
EOF
  • makexprof -f prd bosui
  • If compilation is successful proceed with:
cvs commit

And finaly-C, again as ndpfmgr@stal

Get the updates commited as normal user above, confirm that they compile, push profile to the node that misses packets (here bosui, an UI)

  • cd $L/cfg/grid/glite-3.1/glite/ui
  • cvs update rpms.tpl
  • makexprof -u -f prd bosui
  • if OK, pushxprof -u -f prd bosui
  • check monitoring system