Iocage not working on U6


#1

Under U5 there was only “py36-iocage-devel.” Now under U6 there is a “py36-iocage” (version 1.1)

I updated to U6, uinstalled py36-iocage-devel, installed py36-iocage and tried to fetch a release to make a jail. This is what I got…

sudo iocage fetch


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


Traceback (most recent call last):
File “/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_json.py”, line 567, in json_get_value
raise RuntimeError(f"Please set a mountpoint on {loc}")
RuntimeError: Please set a mountpoint on trident/iocage

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/bin/iocage”, line 10, in
sys.exit(cli())
File “/usr/local/lib/python3.6/site-packages/click/core.py”, line 722, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python3.6/site-packages/click/core.py”, line 697, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python3.6/site-packages/click/core.py”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python3.6/site-packages/click/core.py”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python3.6/site-packages/click/core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “/usr/local/lib/python3.6/site-packages/iocage/cli/list.py”, line 90, in cli
iocage = ioc.IOCage(exit_on_error=True, skip_jails=True)
File “/usr/local/lib/python3.6/site-packages/iocage/lib/iocage.py”, line 115, in init
self.iocroot = PoolAndDataset().get_iocroot()
File “/usr/local/lib/python3.6/site-packages/iocage/lib/iocage.py”, line 92, in get_iocroot
return ioc_json.IOCJson(self.pool).json_get_value(“iocroot”)
File “/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_json.py”, line 569, in json_get_value
raise RuntimeError(f"{self.location} not found!")
RuntimeError: trident not found!


#2

This is the code that is on the iocage github repository I think the relevant lines will be…

def zfs_set_property(self, identifier, key, value):
@@ -451,7 +452,7 @@ def json_get_value(self, prop, default=False):
return mount
else:
raise RuntimeError(f"Please set a mountpoint on {loc}")

        except Exception:
            raise RuntimeError(f"{self.location} not found!")
    elif prop == "all":
        conf = self.json_load()

#3

did you create a bug report?


#4

Not yet, just trying to gather as much information as I can first… So I can create a clear and coherent bug report, both to Trident, and from what I have learned recently maybe iocage itself… It looks like there is a problem with how python is mounting the dataset, but I’m not familiar enough to know for sure.


#5

Fresh install on Virtual Box and it looks like iocage does not like ZSH as it’s shell. I set my shell to CSH and I don’t get the set mount point error anymore. Now I get a…

sudo iocage fetch

Password:


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


[0] 9.3-RELEASE (EOL)

[1] 10.1-RELEASE (EOL)

[2] 10.2-RELEASE (EOL)

[3] 10.3-RELEASE (EOL)

[4] 10.4-RELEASE (EOL)

[5] 11.0-RELEASE (EOL)

[6] 11.1-RELEASE (EOL)

[7] 11.2-RELEASE

[8] 12.0-RELEASE

Type the number of the desired RELEASE

Press [Enter] to fetch the default selection: (Not a RELEASE)

Type EXIT to quit: 8

Fetching: 12.0-RELEASE

Extracting: base.txz…

Extracting: lib32.txz…

doc.txz missing, will try to redownload!

src.txz missing, will try to redownload!

Traceback (most recent call last):

File "/usr/local/bin/iocage", line 10, in <module>

sys.exit(cli())

File "/usr/local/lib/python3.6/site-packages/click/core.py", line 722, in call

return self.main(*args, **kwargs)

File "/usr/local/lib/python3.6/site-packages/click/core.py", line 697, in main

rv = self.invoke(ctx)

File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke

return _process_result(sub_ctx.command.invoke(sub_ctx))

File "/usr/local/lib/python3.6/site-packages/click/core.py", line 895, in invoke

return ctx.invoke(self.callback, **ctx.params)

File "/usr/local/lib/python3.6/site-packages/click/core.py", line 535, in invoke

return callback(*args, **kwargs)

File "/usr/local/lib/python3.6/site-packages/iocage/cli/fetch.py", line 170, in cli

ioc.IOCage(exit_on_error=True).fetch(**kwargs)

File "/usr/local/lib/python3.6/site-packages/iocage/lib/iocage.py", line 992, in fetch

silent=self.silent, **kwargs).fetch_release()

File "/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_fetch.py", line 250, in fetch_release

rel = self.fetch_http_release(eol, _list=_list)

File "/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_fetch.py", line 535, in fetch_http_release

self.fetch_download(missing, missing=True)

File "/usr/local/lib/python3.6/site-packages/iocage/lib/ioc_fetch.py", line 744, in fetch_download

r.raise_for_status()

File "/usr/local/lib/python3.6/site-packages/requests/models.py", line 940, in raise_for_status

raise HTTPError(http_error_msg, response=self)

requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://download.freebsd.org/ftp/releases/amd64/12.0-RELEASE/doc.txz


#6

that’s a freebsd issue. this is the file there

doc.txz.empty_archive


#7

11.2 has a doc.txz I"m going to try with 11.2 and see if I can get an 11.2 jail. It would be nice to get the 12-RELEASE jails working too though.


#8

11.2 jails successfully created on Trident-U6…

Conclusion.
It’s not Trident’s fault, it’s ZSH, if you run iocage on CSH it works fine… And the missing doc.txz file is also not trident’s fault. It’s FreeBSD’s

So for now we can only have 11.2 jails on CSH shells.

How does one complain to FreeBSD about this?


#9

are you on telegram? If so, ask @beanpole135 there.

If not , post your question here, and I’ll ask there


#10

I’m just now downloading Telegram… On my cellphone.


#11

The desktop version in Trident works pretty well.


#12

I just heard back from the iocage team over at github… Skarekrow said that FreeBSD no longer supplies non-empty doc.txz files, and that issue has been fixed since 1.0RELEASE the recommendation was to upgrade.

The latest iocage release is 1.1… I checked and the version that Trident-U6 ships with is 1.0ALPHA…


#13

just re-synced this morning.

just looked.in the queue

package #10487


#14

Is package #10487 iocage 1.1?

:star_struck:


#15

probably iocage 1.09

:wink:


#16

10487 py36-iocage-1.1 sysutils/iocage


#17

Okay so by U7 we should be able to build 12.0 jails. And have the latest iocage release. (1.1) :confetti_ball::balloon::sparkler:


#18

thats what it looks like, on paper


#19

I’ll take it… Plan B was to learn how to build it from the github repo… Waiting for U7 sounds better though.


#20

many ways to get the correct answer