Date: Fri, 23 Dec 2011 20:57:26 +0000 (UTC) From: Mark Linimon <linimon@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r228850 - projects/portbuild/scripts Message-ID: <201112232057.pBNKvQZG082849@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: linimon (doc,ports committer) Date: Fri Dec 23 20:57:25 2011 New Revision: 228850 URL: http://svn.freebsd.org/changeset/base/228850 Log: Make these scripts more robust. The particular error was triggered when switching a machine from amd64 to i386. Modified: projects/portbuild/scripts/pollmachine projects/portbuild/scripts/reportload Modified: projects/portbuild/scripts/pollmachine ============================================================================== --- projects/portbuild/scripts/pollmachine Fri Dec 23 20:11:37 2011 (r228849) +++ projects/portbuild/scripts/pollmachine Fri Dec 23 20:57:25 2011 (r228850) @@ -188,12 +188,15 @@ class MachinePoll(threading.Thread): line=line.rstrip() part=line.partition('=') if part[1] != '=' or not part[0]: -# if "No such file or directory" in line: -# # Client may require setting up post-boot -# dosetup=1 logging.info("[%s] Bad input: %s" % (self.mach, line)) - # Assume client needs setting up - dosetup=1 + if "No such file or directory" in line: + # client requires manual setup, do not attempt to set up + # to avoid just filling up the error log + logging.info("[%s] you MUST set the client up manually" % self.mach) + dosetup=0 + else: + # attempt to set client up + dosetup=1 try: old = self.vars[part[0]] except KeyError: Modified: projects/portbuild/scripts/reportload ============================================================================== --- projects/portbuild/scripts/reportload Fri Dec 23 20:11:37 2011 (r228849) +++ projects/portbuild/scripts/reportload Fri Dec 23 20:57:25 2011 (r228850) @@ -9,14 +9,36 @@ pbd=${PORTBUILD_DATA:-/var/portbuild} arch=$(uname -m) osver=$(sysctl -n kern.osreldate) -. ${pbd}/${arch}/client.conf -. ${pbd}/${arch}/portbuild.conf -if [ -f ${pbd}/${arch}/portbuild.$(hostname) ]; then - . ${pbd}/${arch}/portbuild.$(hostname) +# set up configuration, or immediately error out if impossible +error= +if [ ! -d ${pbd}/${arch} ]; then + error="disk" +else + if [ ! -f ${pbd}/${arch}/client.conf ]; then + error="disk" + else + . ${pbd}/${arch}/client.conf + fi + if [ ! -f ${pbd}/${arch}/portbuild.conf ]; then + error="disk" + else + . ${pbd}/${arch}/portbuild.conf + fi + if [ -f ${pbd}/${arch}/portbuild.$(hostname) ]; then + . ${pbd}/${arch}/portbuild.$(hostname) + fi + + # iterate buildenvs + cd ${pbd}/${arch} + for i in */builds/*; do + buildenv=${arch}/${i%%/*}/${i##*/} + if [ -f ${i}/.ready ]; then + buildenvs="${buildenv} ${buildenvs}" + fi + done fi # Look for exceptional conditions -error= for i in squid disk; do if [ -f ${scratchdir}/.${i} ]; then error="${i} ${error}" @@ -35,15 +57,6 @@ num=$(echo $(ls -1d ${scratchdir}/*/*/*/ echo "arch=${arch}" echo "osversion=${osver}" echo "jobs=${num}" - -cd ${pbd}/${arch} -for i in */builds/*; do - buildenv=${arch}/${i%%/*}/${i##*/} - if [ -f ${i}/.ready ]; then - buildenvs="${buildenv} ${buildenvs}" - fi -done echo "buildenvs=${buildenvs}" -echo -n "load=" -uptime +echo -n "load="`uptime` echo "error=${error}"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112232057.pBNKvQZG082849>