Improving the pseudo-ini parser

In a previous article I described how to create a parser for a pseudo-INI file. The grammar presented in the post is unfortunately unable to parse inline comments correctly.

I asked for ways to improve it, both on perlmonks and on IRC. After some testing it turns out that a slight change is enough: the first line of the grammar should be changed to:

AsIni: <skip: qr{s*(;[^n]*ns*)?}s> Line(s?) /Z/

Unfortunately, this won't print the skipped content (as CommentLine) does. From the answers I had it's not quite clear if this is actually possible with Parse::RecDescent. Anyway, I am satisfied with the result so far πŸ™‚

Cfengine, some facts and comments

On May 10th, the Norwegian Unix User Group (NUUG) hosted the seminar "Cfengine, some facts and comments" by the very author of Cfengine, Professor Marc Burgess. Audio and video for the seminar are now available for download on NUUG's website; the introduction of the seminar is in Norwegian, but the whole speech by Burgess is in English. So, if you are interested in the subject of configuration management tool, go get it now πŸ™‚

Debugging NTP again (part 4 and last)

I finally got the Xen servers' clock to stabilize! The clocks kept converging overnight, and are now sporting a very little offset -so little that the graph for today have visible hiccups.

The problem appears to be caused by a kernel bug. If it was fixed in more recent kernels and/or patches, I just don't know. Anyway, the kernel bug is worked around if you set disable kernel in your ntp.conf. Besides, you should set xen.independent_wallclock to zero, and set your clocksource to xen.

Sure, it would not have been possible with the help of other people, so let's tell the full story and provide acknowledgements for those who deserve it. … Continue reading

The end of OpenSolaris (as we know it)

I don't know if this is a real document, and if it is, I don't know if it actually leaked or if it was "left around" intentionally to be disclosed, so that Oracle didn't have to make any official statement about OpenSolaris. If we assume that it is true, then OpenSolaris (as we know it) is dead:

All of Oracle’s efforts on binary distributions of Solaris technology will be focused on Solaris 11. We will not release any other binary distributions, such as nightly or bi-weekly builds of Solaris binaries, or an OpenSolaris 2010.05 or later distribution. We will determine a simple, cost-effective means of getting enterprise users of prior OpenSolaris binary releases to migrate to S11 Express.

So, those who used and liked OpenSolaris before have to wait the end of the year, and clearer announcements from Oracle, to know if they'll really be allowed to use Solaris 11 Express as an Open operating system. Yes, I know what's written above here, but we don't know if it is a real internal document from Oracle, so any conclusion must be drawn with care. … Continue reading

Debugging NTP again (part 2)

If you wonder what I tried yesterday, well here you are. I tried to make one of the two crazy servers a unicast client. I hoped that having the chance to decide when to poll the stratum 1's would help them to adjust better. Although a bit "irregular", it seemed to work better for a while. Unfortunately, when I came back to the office today and looked at the graphs, it eventually started to oscillate more and more during the night, until it had a reset today. The other one is still going bad, of course.

One more day has passed, and still looking for a solution… … Continue reading

Debugging NTP again (part 1)

Xen servers are well known for having time synchronization problems. I have a few here, too. Two datacenters, with three multicast NTP servers and two Xen servers in each. And in each datacenter, one of the Xen servers is working like a charm, while the other's offset keeps oscillating more and more, until ntpd resets, and the cycle starts again. Using known workarounds just made things worse.

Having a Xen servers's clock suddenly going backwards from time to time isn't any good. This really calls for a deep debug. … Continue reading

Illumos: not what I was waiting for (at least: for now)

So, the Illumos announcement was made. The best analysis of the announcement I read so far is The Register's.

For the moment, I am not impressed at all. What I was hoping in was a "real" Solaris-like system, not a mix of Solaris and Debian/Ubuntu Linux. That's what Nexenta is, after all, and that's what it will still be if it will switch its base to Illumos.

Time will tell if this effort will bring us something decent. I still hope (but less and less each day) that Oracle will keep on investing in an Open-Solaris official distribution. Yes, Open-Solaris, with that dash in between: something that is both a real Solaris, and Open source.

Activating XDMCP in Ubuntu (Karmic)

Once upon a time, there was a small program called gdmsetup that allowed you to fully set-up the graphical login manager. For reasons that it would be too long to explain here, I wanted to enable the XDMCP protocol in my workstation's gdm and… surprise: gdmsetup now is just a single, small, almost useless window…

So, being Ubuntu the "Linux for human beings", how are human beings supposed to enable XDMCP? Editing a configuration file, like we old people used to do. Perfect!!! Let's check: /etc/gdm contains a custom.conf that is the place where you are supposed to write your custom configurations. Ah, it references a sample file, good! What? It doesn't exist??? 😦 And no useful man page?

OK, I have no problem in configuring services by editing a configuration file, that's what I do for living after all πŸ˜‰ But what about leaving some documentation around to let us human beings learn what to do? Must we really trust Google for things that the Operating System itself should provide?

By the way, it turns out that the [xdmcp] section in custom.conf should look like this:

[xdmcp]
Enable=true
DisplaysPerHost=2

Thanks peppertop, thanks Google, and… $ubuntu– 😦

Update: It turns out that I am very lucky that I was running Ubuntu Karmic, since the GDM that ships with Lucid doesn't support XDMCP at all…

I am starting investigation for my new Linux distro of choice…