iocage destroy failure (legacy plugin)

warrenmatty

Dabbler
Joined
Mar 14, 2020
Messages
11
Hello,

version: FreeNAS-11.2-U8

I've replicated a local data set and then 'rollbacked' a snapshot to restore jails. Everything was successful with exception of a really old plugin. At one point I had the plex-plexpass plugin installed. This was removed well-before the replication and snapshot but for some odd reason this plugin restored when I restored a recent snapshot. When I attempt to destroy the corrupt jail the error I get from both the cli and gui is: "plex-plexpass is missing it's configuration, please destroy this jail and recreate it."

Should I delete the dataset or what's the best way forward for destroying this corrupt plugin/jail given that iocage destroy plex-plexpass fails? Here is the trace log:

Code:
sudo iocage list
plex-plexpass is missing it's configuration, please destroy this jail and recreate it.
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/list.py", line 81, in cli
    dataset_type, header, _long, _sort, plugin=plugins, quick=quick)
  File "/usr/local/lib/python3.6/site-packages/iocage_lib/iocage.py", line 1169, in list
    quick=quick
  File "/usr/local/lib/python3.6/site-packages/iocage_lib/ioc_list.py", line 78, in list_datasets
    _all = self.list_all(ds)
  File "/usr/local/lib/python3.6/site-packages/iocage_lib/ioc_list.py", line 273, in list_all
    jail_root = self.zfs.get_dataset(f"{jail.name}/root")
  File "libzfs.pyx", line 597, in libzfs.ZFS.get_dataset
libzfs.ZFSException: Dataset NAS/iocage/jails/plex-plexpass/root not found
[warrenm@freenas ~]$ sudo iocage destroy plex-plexpass

This will destroy jail plex-plexpass

Are you sure? [y/N]: y
Partial UUID/NAME supplied, cannot check for dependant jails.

Proceed? [y/N]: y
Destroying plex-plexpass
plex-plexpass is missing it's configuration, please destroy this jail and recreate it.
 
Joined
Jan 4, 2014
Messages
1,644
The User Guide does make the point that rollback carries with it some risk and that cloning the dataset is the recommended approach. I'm curious to see how this gets resolved, if at all.
 
Last edited:

warrenmatty

Dabbler
Joined
Mar 14, 2020
Messages
11
That's not the best news. Am I wrong in thinking this is a issue/limitation of freenas and not zfs?
 

warrenmatty

Dabbler
Joined
Mar 14, 2020
Messages
11
Well, I navigated to /mnt/<dataset>/iocage/jails/plex-plexpass and noticed the directory was empty. I removed the plex-plexpass directory and then deleted the plex-plexpass iocage jail dataset rebooted and the issue is gone and iocage list works correctly now. I doubt this is an approved method, but posting for others that may be considering a complete rebuild to resolve this kind of issue. I'm finding that the freeness plugins are kind of an always out of date cancer. I say that because all of my other jails were created manually and they all restored fine under the snapshot rollback.
 
Joined
Jan 4, 2014
Messages
1,644
I'm finding that the FreeNAS plugins are kind of an always out of date cancer.
Glad you got it sorted. The Plex plugin hasn't been updated for some time now. The other issue is that Plex metadata is stored within the plugin jail, which can be a major pain if the jail gets hosed. If you want to be on a current version of Plex and keep your metadata outside the jail, I would encourage you to have a look at @danb35's scripted Plex resource.
 

warrenmatty

Dabbler
Joined
Mar 14, 2020
Messages
11
I appreciate the response! Yeah, I ditched the plugins awhile back and installed and configured all of my applications manually(Plex included), so I could keep them up to date. Take care.
 
Top