Re: Upgrade automation
- Reply: Dave Cottlehuber: "Re: Upgrade automation"
- In reply to: Miroslav Lachman : "Re: Upgrade automation"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 11 May 2022 16:20:37 UTC
I create this playbook:
- name: Applying major version upgrade
command: freebsd-update --not-running-from-cron upgrade -r {{ version }}
become: yes
tags:
- freebsd-upgrade
- name: Apply update installation
command: freebsd-update --not-running-from-cron install
become: yes
tags:
- freebsd-upgrade
- name: Reboot after upgrade
shell: "sleep 5 && reboot"
async: 1
poll: 0
become: yes
tags:
- freebsd-upgrade
- name: Waiting for machine reboot (max 600s)
wait_for_connection:
connect_timeout: 20
sleep: 20
delay: 60
timeout: 600
tags:
- freebsd-upgrade
- name: Running freebsd install userland
command: freebsd-update --not-running-from-cron install
become: yes
tags:
- freebsd-upgrade
But since the command doesn't support -y no -not-running-from-cron for the
upgrade command, I believe everything is stalling on this question and the
playbook has no proceeding and it stays on this question below:
The following components of FreeBSD do not seem to be installed:
world/base-dbg world/lib32-dbg
Does this look reasonable (y/n)?
Em ter., 10 de mai. de 2022 às 13:38, Miroslav Lachman <000.fbsd@quip.cz>
escreveu:
> On 10/05/2022 17:46, Alan Somers wrote:
> > On Tue, May 10, 2022 at 9:08 AM Cristian Cardoso
> > <cristian.cardoso11@gmail.com> wrote:
> >>
> >> Hi
> >>
> >> I have some FreeBSD servers in my machine park and I would like to
> perform the version upgrade in an automated way with ansible.
> >>
> >> In my example, I want to perform the upgrade from version 12.3 to 13,
> it is possible to run the upgrade with the command below:
> >>
> >> freebsd-update --not-running-from-cron upgrade -r 12.2-RELEASE
> >>
> >> I ask this, because I don't know if it's the most correct way to
> execute this.
> >>
> >> Grateful for any assistance.
> >
> > Yes, that's perfect. But there's another step too. You'll have to do:
> > freebsd-update install
> > And _this_ step isn't easy to perfectly automate, because etcupdate
> > may ask for your input when it merges config files. If you know
> > exactly which etc files you've modified, you can add them to
> > IgnorePaths. That way etcupdate won't run interactively, it will
> > simply throw away changes from upstream.
>
> Automation with etcupdate sounds very scary to me because etcupdate
> breaks real life configuration files inplace. Mergemaster did it on
> temporary copies. But if you let etcupdate to left something (after
> merge conflict) in vital config file(s) wich will have syntax error on
> next boot, then you are out.
> It would be much better if etcupdate do not edit target file on merge
> conflicts.
>
> Kind regards
> Miroslav Lachman
>