ix-plugin-hub / iocage-plugin-index

Community created JSON files for plugins.
153 stars 112 forks source link

Sick Chill plugin install fails on Stable Release channel [11.3-RELEASE] #107

Open vipero07 opened 4 years ago

vipero07 commented 4 years ago

This may be related to sick chill's removal of python 27 support.

Install
Error: sickchill had a failure Exception: RuntimeError Message: Last 10 lines: /root/post_install.sh: git: not found /root/post_install.sh: pip: not found chown: /usr/local/app/sickchill: No such file or directory cp: /usr/local/app/sickchill/contrib/runscripts/init.freebsd: No such file or directory chmod: /usr/local/etc/rc.d/sickchill: No such file or directory Partial plugin destroyed
fulder commented 3 years ago

From what I can see there seems to be a fix for python upgrade for this which was merged to master just 3 days before this issue was created: https://github.com/ix-plugin-hub/iocage-plugin-index/pull/106. But this fix has only been ported back to the 12.1-RELEASE branch (at least following the PR history)

Although the errors you are getting are probably because pip and git is not installed but the latest plugin version is requiring them since this PR: https://github.com/ix-plugin-hub/iocage-plugin-sickchill/pull/1.

So in order to fix this master could maybe be synced to 11.3-RELEASE if this is OK @kmoore134 ? Will running FreeNAS 11.3 support running plugins with newer FreeBSD versions or will this cause more issues?

Otherwise it could also by solved by creating a patch update for the 11.3-RELEASE branch only with the python update and git/pip installation (would probably be a good idea to lock the release branches in the SickChill plugin for different kind of releases instead of just having 1 master for all of them).

(A bit outside of this issue but I've tested installing the plugin on a 12.1-RELEASE TrueNAS Core system and it worked fine)

turboture commented 3 years ago

Hi Is it possible for you or anyone else to help us with a updated plugin or a patch?

turboture commented 3 years ago

@fulder Is it possible for you to help us?

fulder commented 3 years ago

@turboture Could this PR maybe solve the issue: https://github.com/ix-plugin-hub/iocage-plugin-index/pull/134 ?

I don't have a 11.3-RELEASE system to test with but if you would want to try, that would be much appriciated. You can in a FreeNAS ssh session just run:

turboture commented 3 years ago

@fulder Thank you for trying to help us. I got these errors. I tried to install it from ssh and shell. Same result.

image

turboture commented 3 years ago

and now I cant delete the jail but that is a question for another forum.

fulder commented 3 years ago

Missed updating the packagesite from pkg.cdn.trueos.org to pkg.FreeBSD.org on my fork. Could you check if it works better after the latest push?

fulder commented 3 years ago

Have you tried destroying it with iocage destroy <JAIL_NAME> command? I've sometimes seen that my jails are destroyed correctly using the iocage command but seems to still be present using the old jls command. Only a reboot of my FreeNAS system would clean thoes up.

turboture commented 3 years ago

image

I can access sickchill despite the errors.

image

Tried the destroy command and it worked. Thanks.

turboture commented 3 years ago

Do I use your patch and change it to my jail? Or is it something I update/install from the plugin menu in freenas later?

fulder commented 3 years ago

One step closer then :) I'm guessing the plugin packages were installed correctly. The errors you're seeing are happening because of the SickChill requirements installed in the plugins post_install.sh script and one python pip dependency which cannot be installed.

I'm actually getting the exactly same error running TrueNAS-12.0-STABLE and inside a 12.1-RELEASE jail. I've created another PR for this second issue: https://github.com/ix-plugin-hub/iocage-plugin-index/pull/136 (Should probably be ported back to, at least 12.2-RELEASE and maybe also 11.3-RELEASE).

Just out of curiosity, wouldn't simply running an update on your jail solve this issue without any need for this patching? Have you tried doing that?

turboture commented 3 years ago

I have tried that. SickChill doesnt start after update. Wrong version of python perhaps?

fulder commented 3 years ago

Do I use your patch and change it to my jail? Or is it something I update/install from the plugin menu in freenas later?

If the 11.3-RELEASE branch gets patched I think it would be enough to just refresh the plugin index from the UI and update SickChill from UI as well.

I have tried that. SickChill doesnt start after update. Wrong version of python perhaps?

Sorry I got confused regarding all the release versions/branches. Double checking the iocage code and if I understand it correctly the index branch will be matched against the freebsd-version output i.e FreeBSD version FreeNAS/TrueNAS is based upon. So even updating your plugin will still lock it to the 11.3-RELEASE plugin branch, 11.3-RELEASE FreeBSD version for the plugin and (as written in previous comment) still use the master branch of the plugin while running the post_install.sh script. Furthermore the post_install.sh script in the plugin (even before the previously posted PR fix for the newest version) downloads the master version of the official SickChill repository.

This is actually problematic for any kind of plugins with only one master branch and/or plugins which just fetches/downloades the latest version of the plugin code/binaries.

IMO the "right" fix for these issues would be to actually lock the versions of everything as much as possible in every step, so summarized for SickChill plugin:

But as the patch quickfix PR is currently open, we could probably just merge it and fix this SickChill issue this way.

turboture commented 3 years ago

Thank you for all your help.

fulder commented 3 years ago

@turboture the patch branch has now been merged to 11.3-RELEASE branch. If you get a free moment and want to test it I think it should work to just refresh your index and install the plugin from the UI.

turboture commented 3 years ago

Same error with libxm but that was to be expected.

This is a new error. The plugin starts at it should.

image

On a sidenote. Is it possible to update an existing installation?

fulder commented 3 years ago

Same error with libxm but that was to be expected.

Yes, like you say libxm error is still expected as https://github.com/ix-plugin-hub/iocage-plugin-index/pull/136 has also been merged, but "only" to master and need to be ported back to the other releases to work for them as well. I commented in the PR to merge it back to 11.3-RELEASE in order to solve this issue for you and others still running this version.

This missing lib seems to have a larger impact than I thought. Because it is a part of the SickChill requirements installation it also breaks all the other requirements. I.e. none of them are installed. The SickChill UI can still be reached and probably works good although e.g. parsing XML responses from different providers will probably not work. (Find it a bit weird there haven't been more issues regarding this, especially as this shouldn't work for the newest release either)

This is a new error. The plugin starts at it should.

Couldn't see this while using 12.1-RELEASE of FreeBSD in my jail. But because the error means the system is running an older openssl version which accepts TLS versions below 1.3 this is problematic both while starting SickChill (as stated in the error message, for the providers hosted by/using Cloudflare) but also seems to break the SickChill requirements installation. I've tried to use the 11.3-RELEASE branch SickChill file and install it inside a 11.3 jail and could see this error as well. 11.3 is running OpenSSL 1.0.2s-freebsd 28 May 2019 and we would need to upgrade it to at least 1.1.1 in order to make SickChill start up properly. Even though it is possible to install a newer version of OpenSSL from pkg, the python binary is still compiled for this OS using the older version and requirement installation (of the cryptography python package) fails.

This issue (and quickfix) is starting to grow much more than I first anticipated. Can I ask why you are still running FreeBSD 11.3? It is a version already marked as EOL (as of 30th of September this year) so it feels weird to try to hack in patches on FreeBSD level to make this plugin work. On the other hand locking the SickChill plugin version would make it unable to fetch any future updates which doesn't seem very optimal either. The most simple solution right now would be to just upgrade the jail to the newest FreeBSD version.

To compare this to other plugins, they have simply dropped support and been removed from this index for EOL versions. See e.g.: https://github.com/ix-plugin-hub/iocage-plugin-index/pull/133

On a sidenote. Is it possible to update an existing installation?

It should be possible to update an existing installation, all the packages are uninstalled and reinstalled using the newest plugin JSON file if I remember correctly.

turboture commented 3 years ago

To be absolutly honest. I didnt know 12.0 was stable. Still thought it was under development. Switching now.

fulder commented 3 years ago

@turboture / @vipero07 did you manage to get some time to test if it works fine in the 12.X release? If so, and if it works, maybe we could close this issue?

turboture commented 3 years ago

Yes. Sorry for not reporting back. I installed as it should under 12.x.