From owner-svn-src-projects@FreeBSD.ORG Fri Dec 23 20:57:26 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6D16F106564A; Fri, 23 Dec 2011 20:57:26 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 505A28FC0C; Fri, 23 Dec 2011 20:57:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pBNKvQiN082852; Fri, 23 Dec 2011 20:57:26 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id pBNKvQZG082849; Fri, 23 Dec 2011 20:57:26 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201112232057.pBNKvQZG082849@svn.freebsd.org> From: Mark Linimon Date: Fri, 23 Dec 2011 20:57:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r228850 - projects/portbuild/scripts X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Dec 2011 20:57:26 -0000 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}"