Jump to content
ironicbadger

The (un)official unRAID 6.x plugin discussion thread


153 posts in this topic Last Reply

Recommended Posts

I think maybe dirtysanchez was taking about a guide on how to actually create a VM using KVM on unraid 6, I too an looking for a concise guide on how to do this once all the bugs are ironed out of 6.x

 

Yes, that is what I meant.  I know one won't exist for a while, probably a few more beta releases before we get to that stage.

Share this post


Link to post

Until tom has the libvirt stuff ironed out as you say, its not happening. I've added the missing stuff here and have a VM running but it was a pain in the arse.

There's no difference between app / plugin except semantics I guess.

 

What kind of performance hit are you seeing running things through a VM. I cannot see nzbget, sickbeard, couchpotato being affected that much but I can see Plex being degraded.

 

KVM is built directly into the Linux kernel and the overhead is therefore very low. Less than 5% I would say.

 

Sent from my Nexus 5 using Tapatalk

 

 

Share this post


Link to post

What kind of performance hit are you seeing running things through a VM. I cannot see nzbget, sickbeard, couchpotato being affected that much but I can see Plex being degraded.

KVM is built directly into the Linux kernel and the overhead is therefore very low. Less than 5% I would say.

 

That is great news. Now I am more optimistic about running VMs for my plugins. Especially with this...

 

http://www.linux-kvm.org/page/9p_virtio

Share this post


Link to post

What kind of performance hit are you seeing running things through a VM. I cannot see nzbget, sickbeard, couchpotato being affected that much but I can see Plex being degraded.

KVM is built directly into the Linux kernel and the overhead is therefore very low. Less than 5% I would say.

 

That is great news. Now I am more optimistic about running VMs for my plugins. Especially with this...

 

http://www.linux-kvm.org/page/9p_virtio

 

9p is da bomb

 

Sent from my Nexus 5 using Tapatalk

 

 

Share this post


Link to post

For those of you looking to setup Sick, SAB, Marchino, Couch, etc i strongly suggest you look to a pre configured image I've been using on ESX that uses turnkey Linux. There's also a VM for NewzNab that I run.

 

http://aceshome.com/nzbapp/

 

 

Sent from my iPad using Tapatalk

Share this post


Link to post

What kind of performance hit are you seeing running things through a VM. I cannot see nzbget, sickbeard, couchpotato being affected that much but I can see Plex being degraded.

KVM is built directly into the Linux kernel and the overhead is therefore very low. Less than 5% I would say.

 

That is great news. Now I am more optimistic about running VMs for my plugins. Especially with this...

 

http://www.linux-kvm.org/page/9p_virtio

 

9p is da bomb

 

What kind of performance do you see out of 9p?

Share this post


Link to post

9p simply shares files between guests and the host yes? What do you foresee doing with that? I've used something like that with VMWorkstation but I'm not sure how I'd use it regularly on a virtual server - what am I missing?

 

 

Sent from my iPad using Tapatalk

Share this post


Link to post

 

Until tom has the libvirt stuff ironed out as you say, its not happening. I've added the missing stuff here and have a VM running but it was a pain in the arse.

There's no difference between app / plugin except semantics I guess.

 

What kind of performance hit are you seeing running things through a VM. I cannot see nzbget, sickbeard, couchpotato being affected that much but I can see Plex being degraded.

 

I run Plex on an ESXi server for when I'm on the road and want access to my media. I've never had an issue with it I could trace to it being virtualized - it runs in a Win7 VM...

 

 

Sent from my iPad using Tapatalk

Share this post


Link to post

Man, I don't check the forum for one day, and then this comes up! How exciting!

 

I encourage you all to check out my post about boiler (or just go to the site), as it addresses many of the plugin issues head on. Boiler leverages the native package tools to build properly compatible addons.

 

It standardizes:

 

* Folder structure

* Configuration management

* Dependency management

* Distribution

* Version management

* Security

 

It also addresses many issues with the plg format specifically including...

 

1. They aren’t un-installable

2. They don’t manage dependencies effectively

3. They don’t have any API standards outside of XML

4. They usually have long, complicated install steps

5. They don’t have a distribution mechanism

6. They aren’t generally conducive to collaboration

7. They aren’t generally reviewable as the package is both source and dist

8. They have a poor user experience for installing, updating, and removing

 

Boiler provides a ton of conveniences to devs to create high quality packages and it makes true package/plugin management a reality for users. I'd love to get you guys' feedback on it.

 

ironicbadger: boiler is a real, working, and viable alternative. You might consider updating the poll with an addition option to include it ;)

Share this post


Link to post

Oh yeah, so 32 vs 64 bit. For plugins it really doesn't matter. Most plugins are written in high level languages like python, ruby, bash, php, etc. It's the plugin's dependencies that need to be arch specific.

 

Trolley can do this trivially and automatically (it doesn't yet, because there's been no need yet).

 

I designed a JSON API for packages to be used with it. All trolley needs to do it look at the system arch, and pull down matching slackware packages for that arch. No user or developer interaction is needed.

Share this post


Link to post

Oh yeah, so 32 vs 64 bit. For plugins it really doesn't matter. Most plugins are written in high level languages like python, ruby, bash, php, etc. It's the plugin's dependencies that need to be arch specific.

 

Trolley can do this trivially and automatically (it doesn't yet, because there's been no need yet).

 

I designed a JSON API for packages to be used with it. All trolley needs to do it look at the system arch, and pull down matching slackware packages for that arch. No user or developer interaction is needed.

 

So are you saying boiler will work fine on 6.0 (I.e. 64bit) as is or do you need to make some changes to it?

 

Sent from my Nexus 4 using Tapatalk

 

 

Share this post


Link to post

Oh yeah, so 32 vs 64 bit. For plugins it really doesn't matter. Most plugins are written in high level languages like python, ruby, bash, php, etc. It's the plugin's dependencies that need to be arch specific.

 

Trolley can do this trivially and automatically (it doesn't yet, because there's been no need yet).

 

I designed a JSON API for packages to be used with it. All trolley needs to do it look at the system arch, and pull down matching slackware packages for that arch. No user or developer interaction is needed.

 

So are you saying boiler will work fine on 6.0 (I.e. 64bit) as is or do you need to make some changes to it?

 

Sent from my Nexus 4 using Tapatalk

 

That is correct. In fact, it has already been tested on 64 bit ;)

Share this post


Link to post

Couple questions relating to the new virtualization options in UNraid 6.x

 

1) Can the VMs be setup to dynamically use RAM and CPU threads as needed or does it need to set statically?

 

2) Can a premade VM image using a distro akin to DSL be used to run a programs like SB, CP, SAB, etc?

 

Sent from my LG-VS980 using Tapatalk

 

 

Share this post


Link to post

Oh yeah, so 32 vs 64 bit. For plugins it really doesn't matter. Most plugins are written in high level languages like python, ruby, bash, php, etc. It's the plugin's dependencies that need to be arch specific.

 

Trolley can do this trivially and automatically (it doesn't yet, because there's been no need yet).

 

I designed a JSON API for packages to be used with it. All trolley needs to do it look at the system arch, and pull down matching slackware packages for that arch. No user or developer interaction is needed.

 

So are you saying boiler will work fine on 6.0 (I.e. 64bit) as is or do you need to make some changes to it?

 

Sent from my Nexus 4 using Tapatalk

 

That is correct. In fact, it has already been tested on 64 bit ;)

 

Cool. So from what I read it sounds like this means the packages in boiler/trolley will work fine as is?

 

Sent from my Nexus 4 using Tapatalk

 

 

Share this post


Link to post

Oh yeah, so 32 vs 64 bit. For plugins it really doesn't matter. Most plugins are written in high level languages like python, ruby, bash, php, etc. It's the plugin's dependencies that need to be arch specific.

 

Trolley can do this trivially and automatically (it doesn't yet, because there's been no need yet).

 

I designed a JSON API for packages to be used with it. All trolley needs to do it look at the system arch, and pull down matching slackware packages for that arch. No user or developer interaction is needed.

 

So are you saying boiler will work fine on 6.0 (I.e. 64bit) as is or do you need to make some changes to it?

 

Sent from my Nexus 4 using Tapatalk

 

That is correct. In fact, it has already been tested on 64 bit ;)

 

Cool. So from what I read it sounds like this means the packages in boiler/trolley will work fine as is?

 

Sent from my Nexus 4 using Tapatalk

 

That's the idea. Obviously it should be tested on a real machine, but my dev machine and the CI server are both 64-bit. If tests pass there it's a pretty good bet it'll "just work" on unRAID.

 

If there are any issues I'll have a fix out pretty quick ;)

Share this post


Link to post

 

Couple questions relating to the new virtualization options in UNraid 6.x

 

1) Can the VMs be setup to dynamically use RAM and CPU threads as needed or does it need to set statically?

 

2) Can a premade VM image using a distro akin to DSL be used to run a programs like SB, CP, SAB, etc?

 

Sent from my LG-VS980 using Tapatalk

 

Fwiw, I already posted a link to a distro that's VM suitable that has all of those packages and more. I use it now on my ESXi server. It's from aceshome and uses turnkey Linux as is base.

 

 

Sent from my iPad using Tapatalk

Share this post


Link to post

For those of you looking to setup Sick, SAB, Marchino, Couch, etc i strongly suggest you look to a pre configured image I've been using on ESX that uses turnkey Linux. There's also a VM for NewzNab that I run.

 

http://aceshome.com/nzbapp/

 

 

Sent from my iPad using Tapatalk

 

I rate turnkey appliances highly for experimentation however IMHO they are not suitable for long term production stuff because you cannot easily keep them up to date.

Share this post


Link to post

So far I've done okay keeping my SAB, sick, and other stuff working - there are update scripts that pull from git, couch gives me issues but its running. I haven't tried to update the OS core, it works and its not off browsing pages naked on the 'net. I'd certainly be interested if there were something better but having installed some of this stuff from scratch and pulled my hair out I think it's a pretty good head start! The guy who built the VMs does support them and answer questions so if folks were inclined improvements could probably be made. I've had one running for about a year, the indexer shorter as I've managed to screw it up a time or two updating it and its way more active than the others. (shrug)

 

 

Sent from my iPad using Tapatalk

Share this post


Link to post

Agreed thats exactly what Tunrkey is good for... quickly getting something done.

 

Have hope there is no scenario that any one of those apps doesnt get a lot of attention here and with V6 that likely means an uNRAID specific community VM all about usenet etc or update packages as per the theme of this thread.

Share this post


Link to post

I'd be fine with a tailored VM that was tailored but wouldn't want it taking too much focus. I've learned a lot with the VM I have and think its got some features folks would want like Maraschino and a web based command shell. Adding packages via the web is easy too although I've not had to use it.

 

Truthfully I think the first thing that's needed is some way to manage VMs without using the cli too much. I'm researching that now but only have experience with VSphere. What I'd love is some good metrics on performance, VSphere hasn't seemed too intuitive for that to say the least! It's pretty easy to spin up VM though which is nice. My fingers are crossed too that I'll finally be able to run an OSX VM without dorking up my server. ESXi 5.5 acts funky when it's hacked for supporting osx

 

 

Sent from my iPad using Tapatalk

Share this post


Link to post

Couple questions relating to the new virtualization options in UNraid 6.x

 

1) Can the VMs be setup to dynamically use RAM and CPU threads as needed or does it need to set statically?

 

2) Can a premade VM image using a distro akin to DSL be used to run a programs like SB, CP, SAB, etc?

 

Sent from my LG-VS980 using Tapatalk

 

Yes and yes.

 

Nic I'll update the poll.

 

Sent from my Nexus 5 using Tapatalk

 

 

Share this post


Link to post

Hi!

 

I just wanted to let you know that I ported SabNZBd, CouchPotato, Sickbeard and Transmission to unRAID 6.0.

 

The process was somewhat simple:

 

For each plugin (e.g. sabnzbd_unplugged.plg) I analysed the binary dependencies and manually searched for a slackware64/14.1 alternative

 

So these dependencies:

<FILE Name="/boot/packages/python-2.6.6-i486-1.txz" Run="upgradepkg --install-new">
<URL>http://slackware.cs.utah.edu/pub/slackware/slackware-13.37/slackware/d/python-2.6.6-i486-1.txz</URL>
<MD5>b8de0c9f8b89aa7b3c89823d20076867</MD5>
</FILE>
<FILE Name="/boot/packages/sqlite-3.7.5-i486-1.txz" Run="upgradepkg --install-new">
<URL>http://slackware.cs.utah.edu/pub/slackware/slackware-13.37/slackware/ap/sqlite-3.7.5-i486-1.txz</URL>
<MD5>6786d3764cb294ecb71cdd24e6d171d1</MD5>
</FILE>

 

translate well into simple slackware64-14.1 libs. I remove the packages from the plugin file and just manually download them to /boot/extra.

 

But there are a few exceptions (e.g. python-yenc and python-cheetah) and I compiled these packages myself, removed them from the plg and manually put them in /boot/extra

 

I think the solution to separate the binary (or platform dependent) libs from "scripts" and support files is generally a good approach

 

I did try trolley and created some packages there and I must say it was really easy and works quite well. However I find the solution with separate /boot/config/plugins and /boot/extra work better for me because of the integration in the loading mechanism of unRAID

 

Just my 2 cents

 

PS: If you are interested in the procedure or just want to try it out yourself, I created a install script and uploaded all compiled packages for sabnzbd. https://github.com/dawiki/unRAID_6.0

Share this post


Link to post

My honest opinion is that plugins like this will become rare and people will be in a VM most of the time. But we are not there yet and there are quite a few hurdles on the way yet.

 

I also agree that hard coding deps into the plugin is in general a bad idea for the very reasons you cited.

Share this post


Link to post

Yes I think you're right too.

 

Plugins will exist but not as we know them Jim.

 

There will ofc still have to one or two plugins, perhaps the VM GUI plugin for example or whatever.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.