freebsd/poudriere

poudriere should refuse to update a jail that is currenting running

Opened this issue · 0 comments

Prerequisites

  • Have you checked for an existing issue describing your problem?
  • Are you running the latest version?
  • Is your ports tree recent?
  • Is your FreeBSD Host on a supported release?

Describe the bug

I wanted to update a jail to 14.1-RELEASE-p3 today and didn't notice that a poudriere build (started from cron) was still using it. The jail was updated the but gave an error towards the end.

How to reproduce

zinc 47 # poudriere jail -l | fgrep 14release
14release   14.1-RELEASE-p2                   amd64         http      2024-07-01 09:54:33 /usr/local/poudriere/jails/14release
zinc 48 # poudriere jail -u -j 14release
[00:00:00] Upgrading using http
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 14.1-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata patches.. done.
Applying metadata patches... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 12 patches.....10. done.
Applying patches... done.
The following files will be updated as part of updating to
14.1-RELEASE-p3:
/bin/freebsd-version
/rescue/[
...
/usr/src/sys/netpfil/pf/pf_lb.c
Installing updates...Scanning /usr/local/poudriere/jails/14release/usr/share/certs/untrusted for certificates...
Scanning /usr/local/poudriere/jails/14release/usr/share/certs/trusted for certificates...
 done.
14.1-RELEASE-p3
[00:00:45] Recording filesystem state for clean...cannot create snapshot 'tank/poudriere/jails/14release@clean': dataset already exists
 done

Expected behavior

It was unreasonable for me to update a jail that was running, I would expect poudriere to error out in this case.

Environment

  • Host OS [amd64]:
  • Jail OS [amd64]:
  • Browser: [firefox]:
  • Poudriere Version [3.4.1_1]:
  • Ports branch and revision [main g0dee28ef8b2]: