Project

General

Profile

Bug #36598

Fix "Host: 11.1 is not greater than jail: 11.2" error in iocage

Added by Bostjan Cadej about 2 years ago. Updated about 2 years ago.

Status:
Done
Priority:
No priority
Assignee:
Brandon Schneider
Category:
Middleware
Target version:
Seen in:
Severity:
Low
Reason for Closing:
Reason for Blocked:
Needs QA:
No
Needs Doc:
No
Needs Merging:
No
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

Description

I wanted to install Plex into iocage jail. Because I was just creating it I decided to install it on the latest release

# iocage fetch

[0] 9.3-RELEASE (EOL)
[1] 10.1-RELEASE (EOL)
[2] 10.2-RELEASE (EOL)
[3] 10.3-RELEASE (EOL)
[4] 10.4-RELEASE
[5] 11.0-RELEASE (EOL)
[6] 11.1-RELEASE
[7] 11.2-RELEASE

I choose [7] waited download to complete and proceeded with the installation.
The installation completed successfully and I was able to setup and configure Plex. It was working.

Then I also want to test the reboot of the FreeNAS. I rebooted the server. FreeNAS came up successfully, but Plex jail did not. So I started it manually

# iocage start plex

Host: 11.1 is not greater than jail: 11.2
This is unsupported.


I’m running FreeNAS-11.1-U4


This is not ok that it let me to finish the installation and at reboot time it told me that it is not supported. And as I’m seeing it, it is supported because I managed to install Plex into 11.2-RELEASE and it worked.


Related issues

Related to FreeNAS - Bug #37443: Sync with iocage upstream 07/10/2018Done
Related to FreeNAS - Bug #39508: Check for iocage host release being less than plugin release when fetching pluginDone
Has duplicate FreeNAS - Bug #38873: Freenas 11.2 jails do not start - jail greater than hostClosed
Has duplicate FreeNAS - Bug #39293: Host: 11.1 is not greater than jail: 11.2Closed
Has duplicate FreeNAS - Bug #39543: jail won't startClosed

History

#1 Updated by Dru Lavigne about 2 years ago

  • Assignee changed from Release Council to William Grzybowski

#2 Updated by William Grzybowski about 2 years ago

  • Assignee changed from William Grzybowski to Brandon Schneider
  • Severity changed from New to Low

Brandon, not exactly sure what is going on here but from a quick glance looks like we should fail earlier trying to install a jail with higher version than the host?

I know minor version are supposed to be ABI compatible so perhaps the check is too strict?

#3 Updated by Bostjan Cadej about 2 years ago

Is there a way that I can use this jail now or is it better for me to delete this 11.2 jail and create jail with older release (11.1)?

Nevertheless this should be fixed also for future releases -> 11.3 … :)

#4 Updated by Brandon Schneider about 2 years ago

This is expected, and while minor versions should be ABI compatible, it sometimes isn't. Fetch doesn't care, as you can use that RELEASE you fetched on any machine, including this once it is on 11.2. What I am curious about, is you said you set up your jail with plex and only hit this on a reboot. Can you share with me what your create command looked like? That shouldn't have been possible, you should have been told as soon as you tried to start the created jail before it wasted all your time.

#5 Updated by Brandon Schneider about 2 years ago

  • Status changed from Unscreened to In Progress

#6 Updated by Brandon Schneider about 2 years ago

  • Status changed from In Progress to Closed
  • Reason for Closing set to Cannot Reproduce
  • Needs Merging changed from Yes to No

Will be fixed come 11.2 from upstream commits some time ago.

root@freenas:~ # iocage fetch -r 11.2-RELEASE --noupdate

Host: 11.1 is not greater than target: 11.2
This is unsupported.

#7 Updated by Dru Lavigne about 2 years ago

  • Target version changed from Backlog to N/A

#8 Updated by Bostjan Cadej about 2 years ago

Ma apologies. I wrote just the first and the last command.
These are the steps I made in command line

iocage fetch
iocage create -r 11.2-RELEASE --name=plex ip4_addr="vnet0|192.168.1.112/24" defaultrouter="192.168.1.1" vnet="on" allow_raw_sockets="1" boot="on" 
iocage console plex
pkg update
pkg upgrade
pkg install nano
nano /usr/local/etc/pkg/repos/FreeBSD.conf

pasted in thise lines

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" 
}

pkg update
pkg upgrade
cd /usr/local/
pkg install plexmediaserver-plexpass
service plexmediaserver_plexpass start
sysrc plexmediaserver_plexpass_enable=YES

--------------------
Then I connected to the plex through browser. After I finished with the setup of Plex I rebooted the whole FreeNAS through browser.
I waited to server to came back up but plex jail hasn’t.

I checked the config.json file if there are any problems.
I checked the iocage list command to see what is the status of the jails.
Then I tried to manually start the jail

iocage start plex

#9 Updated by Bostjan Cadej about 2 years ago

You tried the command

iocage fetch -r 11.2-RELEASE –noupdate

You've got an error.

As I wrote in first bug report I just used the

iocage fetch

and then choose number 7 from the list.
And it worked.

#10 Updated by Brandon Schneider about 2 years ago

  • Status changed from Closed to In Progress
  • Reason for Closing deleted (Cannot Reproduce)

Heh, that's fun. Good catch, the validation doesn't run there or during create. Thanks for the detailed ticket Bostjan!

#11 Updated by Bostjan Cadej about 2 years ago

Why does it say

Host: 11.1 is not greater than target: 11.2
This is unsupported.

I managed to install jail and plex into it and it worked. So it works. And it is supported.

Whatn am I missing?

#12 Updated by Dru Lavigne about 2 years ago

  • Target version changed from N/A to 11.2-RC2

#13 Updated by Brandon Schneider about 2 years ago

  • Related to Bug #37443: Sync with iocage upstream 07/10/2018 added

#14 Updated by Brandon Schneider about 2 years ago

  • Related to deleted (Bug #37443: Sync with iocage upstream 07/10/2018)

#15 Updated by Brandon Schneider about 2 years ago

  • Status changed from In Progress to Ready for Testing

PR: https://github.com/freenas/iocage/pull/2
DESC: Host release should be checked during interactive fetch
RISK: Low
ACCEPTANCE: Run iocage fetch, select a RELEASE greater then the hosts.

#16 Updated by Dru Lavigne about 2 years ago

  • Subject changed from iocage bug Host is not greater than jail to Check for iocage host release being less than during interactive fetch
  • Target version changed from 11.2-RC2 to 11.2-BETA2
  • Needs Doc changed from Yes to No

#17 Updated by Dru Lavigne about 2 years ago

  • Related to Bug #37443: Sync with iocage upstream 07/10/2018 added

#18 Updated by Dru Lavigne about 2 years ago

  • Has duplicate Bug #38873: Freenas 11.2 jails do not start - jail greater than host added

#20 Updated by Bonnie Follweiler about 2 years ago

  • Status changed from Ready for Testing to Failed Testing

[root@freenas ~]# iocage fetch -r 11.2-RELEASE
Fetching: 11.2-RELEASE

Extracting: base.txz...
Extracting: lib32.txz...
Extracting: doc.txz...
Extracting: src.txz...

  • Updating 11.2-RELEASE to the latest patch level...
    src component not installed, skipped
    Looking up update.FreeBSD.org mirrors... 3 mirrors found.
    Fetching metadata signature for 11.2-RELEASE from update5.freebsd.org... done.
    Fetching metadata index... done.
    Inspecting system... done.
    Preparing to download files... done.

No updates needed to update system to 11.2-RELEASE-p0.
src component not installed, skipped
No updates are available to install.
Run '/tmp/tmp1jmim7ee fetch' first.
[root@freenas ~]#

#21 Updated by Dru Lavigne about 2 years ago

  • Has duplicate Bug #39293: Host: 11.1 is not greater than jail: 11.2 added

#22 Updated by Jurgen Segaert about 2 years ago

There's another backdoor into this: iocage master still lets you fetch plugins that have a higher release than the host. On an 11.1 system, one can execute the following in interactive mode:

sudo iocage fetch --plugins ip4_addr="em0|192.168.0.212/24" 

...and then picked no. 15 for "plex". It fetches 11.2-RELEASE, installs the plugin without issues and even starts it up, all as part of the fetch-n-create process. It works fantastic, actually!
One can also install that plugin from the new UI (I tested on 11.2-BETA1)

Only upon reboot or restart of the jail, it (correctly) issues the exception:

Host: 11.1 is not greater than jail: 11.2
This is unsupported.

Ha!

Unfortunately, earlier today, a commit was merged to change all plugins in iocage-ix-plugins from release 11.1 to 11.2 as per https://redmine.ixsystems.com/issues/38878

This will cause havoc for all users installing iocage-managed plugins in FreeNAS 11.0, 11.1, and even 11.2-beta1, as they will only be able to enjoy the iocage plugin system for a single boot...

#23 Updated by Brandon Schneider about 2 years ago

  • Status changed from Failed Testing to Ready for Testing

Bonnie Follweiler wrote:

[root@freenas ~]# iocage fetch -r 11.2-RELEASE
Fetching: 11.2-RELEASE

Extracting: base.txz...
Extracting: lib32.txz...
Extracting: doc.txz...
Extracting: src.txz...

  • Updating 11.2-RELEASE to the latest patch level...
    src component not installed, skipped
    Looking up update.FreeBSD.org mirrors... 3 mirrors found.
    Fetching metadata signature for 11.2-RELEASE from update5.freebsd.org... done.
    Fetching metadata index... done.
    Inspecting system... done.
    Preparing to download files... done.

No updates needed to update system to 11.2-RELEASE-p0.
src component not installed, skipped
No updates are available to install.
Run '/tmp/tmp1jmim7ee fetch' first.
[root@freenas ~]#

That's not failing Bonnie, that's succeeding. But that's not the bug report, the bug report is about the interactive menu where you select a release. That was the one missing the check, also I assume your host is 11.2-STABLE in which case 11.2-RELEASE will work. You need to test with a RELEASE higher or grab this code on a 11.1 system as I have below.

root@freenas:~ # iocage fetch
[0] 9.3-RELEASE (EOL)
[1] 10.1-RELEASE (EOL)
[2] 10.2-RELEASE (EOL)
[3] 10.3-RELEASE (EOL)
[4] 10.4-RELEASE
[5] 11.0-RELEASE (EOL)
[6] 11.1-RELEASE
[7] 11.2-RELEASE

Type the number of the desired RELEASE
Press [Enter] to fetch the default selection: (11.1-RELEASE)
Type EXIT to quit: 7

Host: 11.1-RELEASE is not greater than target: 11.2-RELEASE
This is unsupported.
root@freenas:~ # uname -a
FreeBSD freenas.local 11.1-STABLE FreeBSD 11.1-STABLE #0 854e3946a(freenas/11-stable): Mon Jun 25 01:26:34 EDT 2018     root@mp20.tn.ixsystems.com:/freenas-11-nightlies/freenas/_BE/objs/freenas-11-nightlies/freenas/_BE/os/sys/FreeNAS.amd64  amd64

Jurgen, absolutely correct. Create another issue for the fetching skipping plugin checking please.

#24 Updated by Jurgen Segaert about 2 years ago

As per your request, the follow-up issue is: https://redmine.ixsystems.com/issues/39508

#25 Updated by Dru Lavigne about 2 years ago

  • Related to Bug #39508: Check for iocage host release being less than plugin release when fetching plugin added

#26 Updated by Dru Lavigne about 2 years ago

  • Has duplicate Bug #39543: jail won't start added

#27 Updated by Dru Lavigne about 2 years ago

  • Status changed from Ready for Testing to Done
  • Needs QA changed from Yes to No

#29 Updated by Dru Lavigne about 2 years ago

  • Subject changed from Check for iocage host release being less than during interactive fetch to Fix "Host: 11.1 is not greater than jail: 11.2" error in iocage

Also available in: Atom PDF