Re: Devops question: freebsd-update needs a real tty to run, problem for automation

From: Bryan Drewery <bdrewery_at_FreeBSD.org>
Date: Tue, 13 Jan 2015 17:29:16 -0600
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.

IMHO the check should be removed in the official version.

-- 
Regards,
Bryan Drewery


Received on Tue Jan 13 2015 - 22:29:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:54 UTC