Bug 263823

Summary: sysutils/iocage: most functionality broken on 14.0-CURRENT
Product: Ports & Packages Reporter: Alan Somers <asomers>
Component: Individual Port(s)Assignee: Michael Gmelin <grembo>
Status: Closed FIXED    
Severity: Affects Many People CC: grahamperrin, grembo, netchild
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Alan Somers freebsd_committer freebsd_triage 2022-05-06 18:03:06 UTC
Most iocage functionality is broken on 14.0-CURRENT.  For example:

somers@methionine /u/h/s/s/r/bfffs (aio2) [1]> iocage list
Run as root to automatically activate the first zpool!
somers@methionine /u/h/s/s/r/bfffs (aio2) [1]> sudo iocage list
Setting up zpool [zroot] for iocage usage
If you wish to change please use "iocage activate"
********************************************************************************
fdescfs(5) is not mounted, performance may suffer. Please run:
mount -t fdescfs null /dev/fd
You can also permanently mount it in /etc/fstab with the following entry:
fdescfs /dev/fd  fdescfs  rw  0  0
********************************************************************************

Setting up zpool [zroot] for iocage usage
If you wish to change please use "iocage activate"
Setting up zpool [zroot] for iocage usage
If you wish to change please use "iocage activate"
Setting up zpool [zroot] for iocage usage
If you wish to change please use "iocage activate"
Setting up zpool [zroot] for iocage usage
If you wish to change please use "iocage activate"
Setting up zpool [zroot] for iocage usage
If you wish to change please use "iocage activate"
Setting up zpool [zroot] for iocage usage
If you wish to change please use "iocage activate"
+-----+-------+-------+--------------+--------------+
| JID | NAME  | STATE |   RELEASE    |     IP4      |
+=====+=======+=======+==============+==============+
| 391 | j13_0 | up    | 13.0-RELEASE | 192.168.0.44 |
+-----+-------+-------+--------------+--------------+


Note the excessive "Setting up zpool ..." messages.

The problem is a bug in ioc_json.py.  It runs a zfs command with illegal syntax that is still accepted by ZFS as of FreeBSD 13.1, but not by 14.0-CURRENT:

zfs get  -pHo 'property, value' all zroot

Not the space in between "property" and "value".

The offending code has been removed from iocage's main repository, so simply updating the port will probably suffice to fix the problem.
Comment 1 Michael Gmelin freebsd_committer freebsd_triage 2022-05-06 18:16:18 UTC
@Alan: Well, simply updating is easier said than done, as the latest release upstream tagged is actually 1.2 (same version as the port).

So first we would have to decide which commit to target (or ask upstream to tag a release) and then do extensive testing, as the target platform seems to be an iXsystems product and not vanilla FreeBSD (at least in the past it could break in various ways on update).

So maybe patching the existing 1.2 port is the more realistic short-term solution.

Do you have the time/resources to test devel/iocage-devel and see if that works for you/is stable?
Comment 2 Alan Somers freebsd_committer freebsd_triage 2022-05-06 18:58:13 UTC
Yes, sysutils/iocage-devel seems to work fine.
Comment 3 commit-hook freebsd_committer freebsd_triage 2022-05-09 15:36:06 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4424f1369175cbeae6e71a830cb0742290384c51

commit 4424f1369175cbeae6e71a830cb0742290384c51
Author:     Michael Gmelin <grembo@FreeBSD.org>
AuthorDate: 2022-05-09 15:31:55 +0000
Commit:     Michael Gmelin <grembo@FreeBSD.org>
CommitDate: 2022-05-09 15:34:16 +0000

    sysutils/iocage: Fix on 14.0-CURRENT

    Fix deprecated zfs syntax that became illegal.

    PR:             263823
    Reported by:    asomers

 sysutils/iocage/Makefile                                   |  2 +-
 sysutils/iocage/files/patch-iocage__lib_ioc__json.py (new) | 11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)
Comment 4 Michael Gmelin freebsd_committer freebsd_triage 2022-05-09 15:41:24 UTC
(In reply to Alan Somers from comment #2)

Hi Alan,

I fixed the problem you've reported (thanks!) with a local patch for the time being, as I'm not sure how far your testing of iocage-devel went (like, upgrading existing/more complex setups, or if it was just limited to seeing if this specific problem persists).

I'm a bit unclear what's the best way forward with sysutils/iocage, given that there is no publicly perceivable release process and we already have iocage-devel, which is based on "random" commits. Until I have a sound solution, I'll try to keep 1.2 stable (as in: users shouldn't be afraid that `pkg upgrade` will damage their setup).
Comment 5 Alexander Leidinger freebsd_committer freebsd_triage 2022-05-10 06:40:19 UTC
Hi,

I created https://github.com/iocage/iocage/issues/1279 16 days ago. No feedback so far from the iocage side.

Good catch Alan, I overlooked the space when I had a look at this.

Bye,
Alexander.
Comment 6 Michael Gmelin freebsd_committer freebsd_triage 2022-06-07 08:09:56 UTC
Closing, as fixed in ports