Toolserver:Conversion of nightshade to Solaris

This page exists to discuss whether nightshade, one of the Toolserver login servers, should be converted to Solaris, or remain as a Linux system.

A brief history
Originally, the Toolserver was Solaris-only. When we added a second machine (hemlock) to act as a login server, it was installed with Linux instead, the idea being that most users were more used to using Linux. When we added a second login server (willow), it ran Solaris instead, and the web server (wolfsbane) was converted shortly after that. nightshade is currently the only Linux machine in the cluster.

The original Solaris server (zedler) was not very user-friendly. Since then, we've made quite a few improvements to our Solaris build (e.g. creating our own software repository, and providing the GNU userland for users who are used to it).

What we are considering and why
The proposal is to convert nightshade to Solaris, meaning that all machines in the cluster will run Solaris. There are some benefits to this:


 * Admin workload will be reduced, since all machines will run the same software.
 * Users can run their tools on any login server without worrying about whether it works on two different operating systems (this is particularly useful for batch job scheduling)
 * If one login server fails, another identical one is still available. (Currently, if the Linux server fails, the only other server runs Solaris, and if the Solaris server fails, the only other login server runs Linux.)
 * We maintain our own software repository on Solaris, which means software can be easily upgraded as required by users, and built exactly how we need it. On Linux, we are constrained to the versions included with Debian.

There are also some downsides:


 * Some tools might only work on Linux, because they depend on things working a particular way, where Solaris does it differently. (However, the Solaris login servers have a complete GNU userland, so this should not be a large issue.)
 * Our Solaris software packages (/opt/ts) are sometimes built differently from the Linux version, or works in a different way. This could break tools that expect a particular configuration.
 * Some software has a different version between Linux and Solaris, which could break software that requires a particular version. (However, this software will break anyway when the software is upgraded on Linux.)
 * Some software might only work on Linux. (Please provide an example of this if you know one.)
 * Users are rather unlikely to have a Solaris machine available to them. This might require users to have access to the Solaris servers for testing their programs.

What this would involve for users
For users already using willow (the Solaris login server), nothing would be required.

For users currently using nightshade, the main task would be to test tools on willow and see if they work. Any problems identified would be reported to admins, so they could be resolved before the conversion. In some cases, fixes to tools might be required.

Straw poll
To give us a general idea of how users feel about this, you could place your name here under the appropriate section. This is not a vote, though.

For
Converting nightshade to Solaris would have benefits for me: (please describe what benefits)


 * River (less work for me)
 * Bryan (I'm already almost exclusively using willow, and an identical second login server would be nice for redundancy. It has never occurred though that I needed this redundancy)
 * Dschwen (Familiar with Linux, but the GNU userland and the good support from the Admins even out the differences) (Actually it would make my life simpler. I have several compiled tools. With a homogeneous Solaris environment I wouldn't have to make sure to compile on a specific server anymore, or would I?)
 * That's correct. Anything compiled on one Solaris system will work fine on another, including the web server. River
 * Mr.Z-man (all but one of my tools is already running on willow via the jobserver, this could provide redundancy)
 * Earwig (I don't use willow, so this may take some time on my part to get adjusted, but if it will help make maintenance easier I'm all for it)
 * Devunt (I use willow and I think solaris is better then other Linux)

No opinion
Converting nightshade would have no effect at all on me:
 * mpdelbuono (While I am far more familiar with Linux, I'm willing to put that aside, and it might be good for me to pick up practice with Solaris anyway)
 * Aryeh Gregor (Prefer Linux personally, but don't use or administer the toolserver enough for it to be a big deal)
 * APPER 19:53, 25 March 2010 (UTC) (don't care ;)
 * Guandalug 20:49, 25 March 2010 (UTC) Although that'd mean I would finally have to debug my code on solaris, it doesn't run right now ;)
 * Tim Landscheidt 22:56, 25 March 2010 (UTC)
 * Josh 00:46, 26 March 2010 (UTC) (Linux is where I cut my teeth, but I try to be agnostic)

Against
Converting nightshade to Solaris would be detrimental to me: (please describe what detriments)
 * MZMcBride &mdash; Solaris is to the brim with minor annoyances. Things like "grep -R" or /1 cron syntax are missing from Solaris or Solaris uses different options and parameters for commands. Most of these issues/differences have workarounds, but they're annoying, and the annoyance gets compounded. This article sums it up well, "For example, I’m frustrated that I can’t simply type “tail -n 200 ” on Solaris. The -n argument is not the same. Add up enough of these little differences and I find myself wanting to work in a Linux environment where I’m more familiar." It looks as though it might be possible to "prefer" the GNU tools over their Solaris equivalents if they're available, though this kind of thing quickly goes over my head. Looks like I'm going to be out-voted here, but I'd thought I'd complain anyway.
 * That's why the GNU userland is installed and is the default for users, unless you explicitly changed it to prefer Solaris. This doesn't make / work in cron, but I expect the jobserver to be preferred over cron eventually anyway (since cron is not redundant, among other things).  Are there any other examples of things that don't work? River
 * I haven't done any major testing with willow as I've had no reason to. Most of my tools and scripts should convert over easily enough (or only require slight changes). I think providing a Linux box for users is a nice thing to do and I think it will be a headache for some users to switch over to Solaris, but ultimately it's about what makes the most sense from a maintenance / administrative standpoint, I suppose. --MZMcBride 18:26, 26 March 2010 (UTC)

Traceback (most recent call last): [...] File "/opt/ts/python/2.6/lib/python2.6/site-packages/twisted/internet/selectreactor.py", line 17, in     from zope.interface import implements ImportError: No module named zope.interface --MF-Warburg 18:23, 26 March 2010 (UTC)
 * I'm running the bot that fills m:Steward requests/Speedy deletions/Bot-reported and I just tried to run it from Willow, and it didn't work. It seems that not all dependencies that Twisted Python has are fulfilled (it appears to need zope):
 * Accepting the wish for easy administration, but many developers know Linux and not Solaris. --Revvar 23:18, 26 March 2010 (UTC)
 * afaics the Perl module Bot::BasicBot ist not installed on willow. -- seth 09:56, 27 March 2010 (UTC)
 * I've ensured my tools work on Solaris installations over the past few months. There are still some problems with vim, beginning with a color pallet designed for a white backgrounds and a F'd up auto-indenter for python.  The slightly positive things are a find-as-you-type and remember the position in the document when reopening.  It should be possible to get a version of VIM that uses the same compiled options.  Also, I believe in using diverse platforms, so that there isn't a single bug or virus that can bring down the entire Toolserver cluster. Dispenser 02:40, 28 March 2010 (UTC)

Other comments
If you have any other comments, you can add them here.