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

Bryan Drewery bdrewery at FreeBSD.org
Tue Jan 13 23:29:16 UTC 2015


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20150113/2ecd2786/attachment.sig>


More information about the freebsd-current mailing list