Solaris 11 – The F-35 of UNIX && Name Resolver Lameness
As I worked through some client issues with Solaris, I noticed something disturbing. It seems that Solaris 11 has bifurcated the name resolution. Observe the following:
root@solaris11-test:~# pkg update pkg: 0/1 catalogs successfully updated: Unable to contact valid package repository Encountered the following error(s): Unable to contact any configured publishers. This is likely a network configuration problem. Framework error: code: 6 reason: Couldn't resolve host 'pkg.oracle.com' URL: 'http://pkg.oracle.com/solaris/release' (happened 4 times) root@solaris11-test:~# host pkg.oracle.com pkg.oracle.com is an alias for pkg.oraclegha.com. pkg.oraclegha.com has address 188.8.131.52
Soooooo, the host utility command can perform DNS resolution but the pkg command cannot. You should know that /etc/resolv.conf is fully setup on this system. So, what happened? Well Solaris 11 mostly just trashed any previous concepts of Solaris network configuration. I’d invite you to compare that process with Solaris 8. Well, it seems they have bifurcated the nameservice calls in libc, as well. I don’t have the code in front of me, but I’d be willing to bet that pkg isn’t using the traditional gethostbyname() or gethostbyaddr() calls or it would have worked. It’s using some kind of new jiggery pokery that wants you to have gone through using dladm, ipadm, and netadm wringer to configure networking.
So, I went and ran the gauntlet of Cisco-like tools in Solaris 11 and got nameservice (or at least the nsswitch “import”) configured, (yes, again). Then pkg was happy and things worked.
So, they left both systems active at once? That makes troubleshooting a nightmare folks. I see it as yet another “screw you Mr. Sysadmin” from Oracle. I’m sure someone will argue this is some kind of feature. However, this isn’t backwards compatibility, or the pkg tool would have also worked.. This is just shoddy work done by people with no respect for Solaris’s traditional strengths. You can’t chalk this one up to someone’s “vision.”
No wonder during the construction of Solaris 10, Sun decided to isolate the ZFS team and dedicate resources to it and why Apple, while considering how to either copy or clone ZFS, has done the exact same thing. Had they not, it’d would have undoubted got sucked into the wrongheadedness of SMF and other horrors since it’d have been poisoned by some MBA who wanted “corporate standards followed to the letter”. It was like Skunkworks building the SR-71 Blackbird. They had to dedicate and mostly isolate those engineers from the rest of Sun (I know people personally who worked on the project) just like Lockheed did with Skunkworks. Otherwise, the same corporate poison would have contaminated them. If you’d like to see what happens to aerospace companies who don’t do that then just check in on the F-35 and see how one trillion dollars can, in fact, go up in smoke while attempting a boondoggle to distill crap into highly refined crap. SMF was designed by a committee like the F-35. Oh, so was the OSI protocol stack, which also happens to suck rather badly (at least according to me and the IEEE). Hey, at least all those hours of committee yammering got us the OSI Model, which is about the only usable work product. Anyone running TP4 who wants to fight about that? Didn’t think so…