River Tarnell wrote:
Since no major issues have been raised regarding the conversion of
nightshade to Solaris, this has been schedule for the maintenance
window on January 3rd, 2011. For more information, see
I have reported *) a few incompatibilities in very basic tools and bash that I have not the faintest idea of how to get around them under Solaris. Yes, these may be bugs in the Solaris tools or O/S, and some of my scripts will not run without them fixed. My only option atm is moving them elsewhere outside the toolserver cluster, when there will be no Linux host left.
I shall re-evaluate the scripts under Solaris during the next days, just in case, something has been altered meanwhile, and report remaining issues more detailed.
*) Wanting to link to my earlier e-mail in the list archive, I could not find it :-( Here is a copy:
On Thursday, 16. September 2010 04:02:35 Purodha wrote:
... we have decided to standardise on Solaris for the login and web servers. We will therefore be converting nightshade from Linux to Solaris at some point in the future.
There is no fixed time frame for this at moment, but it won't happen sooner than a month from now, and we won't do anything until we are satisfied that all tools (and users) are ready for the migration.
To start with, we want to identify and fix any issues which prevent users from moving their tools to Solaris. This will mainly include:
- Software which needs to be installed or updated
- Behaviour differences between Linux and Solaris where the Linux
behaviour is more correct or preferable.
I have several shell scripts (using bash, awk, sed, grep, cut, php, pywikipedia) that run with Linux only.
I have tried to make them work on Solaris, too, while we had an idle machine, but it was impossible. I cannot quite remember what the precise causes were, but there were several incompatibiliities prohibiting one staight script for both systems without branching inside the script as per system, and at least one issue that prohibited a solaris version entirely - something in the realm of awk features, regexp's or shell escapes.
Unfortunately, it will take time before I shall have the problems spotted again. I might need help, then. Since I had been unable to fix them in the first ~135 tries I expect to fail on the ~136-th one as well.
Unrelated,more general question:
Why would we give up the flexibility of having a choice of operating systems to log in to?
Geetings - Purodha
Greetings - Purodha
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Purodha Blissenbach:
I have reported *) a few incompatibilities in very basic tools and bash that I have not the faintest idea of how to get around them under Solaris.
Please files issues in JIRA and include "[solaris]" in the subject line. I don't remember the mail you quoted below, and if it's not in the archives, perhaps it never made it to the list at all.
Yes, these may be bugs in the Solaris tools or O/S, and some of my scripts will not run without them fixed. My only option atm is moving them elsewhere outside the toolserver cluster, when there will be no Linux host left.
Your other option is to ask us for help with migrating your scripts.
Why would we give up the flexibility of having a choice of operating systems to log in to?
Well, what is "Linux"? I doubt there are many tools that require a particular OS kernel (such as Linux) in order to run. So, when people say they prefer Linux, what are they really looking for? I can think of several things:
* Shell -- but this is the same between Linux and Solaris (bash)
* Shell utilities (ls, find, awk, sed, grep, cut, ...) -- but these are the same between Linux and Solaris (GNU utilities)
* "ps" -- but we provide our own version of "ps" that supports the BSD syntax that many Linux users are used to.
* "top" -- top on Solaris is slightly different because it's "Unix top" instead of "procps top", but this isn't something that tools typically use, and it's not that hard for users to learn the difference. (prstat is better anyway ;-)
* Default configuration for utilities. For example, some users complained about the "vim" on the Solaris systems because they expect it to be configured the same way that Debian Linux configures it. But "vim" is vim on every OS, and the default configuration can be changed. If uses report these issues to us, I have no problem with changing the Solaris configuration to match the Linux configuration where it makes sense. (For example, I think Debian's default vim configuration is quite sensible.)
* GNU compiler -- in the past, users switching C or C++ tools from Linux to Solaris often had to change from GNU GCC to Sun Studio. But from Monday, GCC will be the standard compiler on both systems.
* cron -- okay, Solaris doesn't support "/" syntax in cron. I personally think this is only a minor annoyance and hardly justifies providing a completely separate OS for people who just cannot work without "/".
To address your specific concerns:
Shell scripts mostly depend on shell utilities; all the ones you mentioned (Bash, awk, sed, grep, and cut) are GNU tools, and are identical between the Linux and Solaris login servers, because we provide the GNU userland by default. (The exception is that some tools on the Solaris systems may be newer versions than on Linux.)
As for pywikipedia, I don't think it's correct to claim that this "runs with Linux only" -- in fact, there are several pywikipedia instances currently running on the Solaris login server.
PHP is a third-party application and is completely unrelated to OS, except that the version on the Solaris servers is newer (5.3 vs 5.2).
No doubt there *are* some differences that will require changes to tools, and OS differences that I didn't list above. This is why we gave users two months to test their tools before announcing a date for the switch, and a further two months after the announcement before the actual conversion.
- river.
On Thu, Dec 2, 2010 at 6:53 PM, River Tarnell river.tarnell@wikimedia.de wrote:
No doubt there *are* some differences that will require changes to tools, and OS differences that I didn't list above. This is why we gave users two months to test their tools before announcing a date for the switch, and a further two months after the announcement before the actual conversion.
- river.
Will my statically compiled Go code run on Solaris like it did on Linux? Not that I need to run it again, but before I write any more Go destined for the toolserver, it'd be useful to know if it will be supported.
Thanks, Cobi.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Jacobi Carter:
Will my statically compiled Go code run on Solaris like it did on Linux?
No, compiled software needs to be recompiled for Solaris. There is currently no Go compiler for Solaris, but if you need one, we can look at porting either of the existing compilers
- river.
toolserver-l@lists.wikimedia.org