Date: Tue, 13 Jan 2015 16:09:57 -0800 From: NGie Cooper <yaneurabeya@gmail.com> To: Bryan Drewery <bdrewery@freebsd.org> Cc: Craig Rodrigues <rodrigc@freebsd.org>, Ahmed Kamal <email.ahmedkamal@googlemail.com>, freebsd-current Current <freebsd-current@freebsd.org> Subject: Re: Devops question: freebsd-update needs a real tty to run, problem for automation Message-ID: <CAGHfRMDXGMVh56C%2B9DtpK9QXuooFSQrxYakUpNA60gzVVbNZFg@mail.gmail.com> In-Reply-To: <54B5AA4C.7050307@FreeBSD.org> References: <CAG=rPVcLWgXR_7JabjbkCWK=SkrQrgcZmAS=Yde0mE3Qpz8Q=A@mail.gmail.com> <54B5AA4C.7050307@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 13, 2015 at 3:29 PM, Bryan Drewery <bdrewery@freebsd.org> wrote: > On 1/13/2015 5:11 PM, Craig Rodrigues wrote: >> Hi, >> >> Ahmed Kamal, a devops expert, is helping me to script the steps to >> upgrade a cluster of FreeBSD machines. For certain machines, >> we want to track the official FreeBSD releases and use freebsd-update >> to install official updates. >> >> We found that when the invocation of freebsd-update was scripted >> and not run via a real tty, we can into this error: >> >> "freebsd-update fetch should not be run non-interactively." >> >> There are various workarounds mentioned on various web pages. >> However, should we modify freebsd-update so that it can work better >> when not run via a real tty? This would make it more devops/automation >> friendly. >> >> The closest thing I have found is "freebsd-update cron", which can fetch >> the updates and run without a real tty. The only problem with >> "freebsd-update cron" >> is that it sleeps a random amount of time between 1 and 3600 seconds before >> fetching the updates. This is OK when run in a cron job, >> but not OK when run as part of a devops automation framework. >> >> Anybody have ideas as to the best way to proceed in fixing this in >> freebsd-update? >> -- >> Craig > > > sed -i '' -e 's,-t 0 ];,-t 0 ] \&\& [ 0 -eq 1 ],' /usr/sbin/freebsd-update > > This is untested. We'll likely put it in Poudriere as well. freebsd-update needs to grow a non-interactive option probably: 2375 read dummy </dev/tty 2376 ${EDITOR} `pwd`/merge/new/${F} < /dev/tty 2377 done < failed.merges 2378 rm failed.merges
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGHfRMDXGMVh56C%2B9DtpK9QXuooFSQrxYakUpNA60gzVVbNZFg>