Well, here we are at Open Source World 2009. Why don't you introduce yourself? Hi, I'm Taurus Bailog. I'm one of the maintainers of the OpenNMS project. Well, so I just buttoned you here to give us a little quick update on OpenNMS. So what's been going on in the OpenNMS world? Well, we've been working really hard to get our next stable release out, which is going to be 1.8. It should be feature complete by the end of the month. The big change in 1.8 is going to be a totally new provisioning system. So we're replacing our old discovery system with a very, very powerful provisioning system. It also has a lot of integration points with things like Lancet. And that's like provisioning OpenNMS things, or what's it provisioning exactly? Well, prior to, in 1.6, we have what we call CAPS-D, which is our capability scanner. And what it does is it goes through and will test to see if services exist on particular devices, etc. But some customers, especially customers with like, say, 50,000 or 60,000 devices, don't want to rely on that. And they might have their own internal database. And so we have this method we call the model importer. It allows them to dump that database into an XML file of a certain format, of course, that OpenNMS reads and discovers it that way. So the file becomes a definitive method of discovery. You've got a CMDB in a file. Exactly. But it's an either-or, meaning that you have to know, with a model importer, you have to know everything about the devices you want to monitor. Whereas CAPS-D will discover things like interfaces that are configured that you might have not known about. What the provisioner does is the best of both worlds. So instead of having these plug-ins that go and discover things, we have these detectors. And there's all kinds of rules that you can ignore certain devices, you can pay special attention to different devices, etc. And so it kind of automates the discovery to some extent and then allows you to pretty much define it in another way. That's right. It's a little easier if I'm actually just showing you how it works. Sure, sure. Like we have one customer, New Edge Networks, in Vancouver, Washington. And they're monitoring about 13,000 pieces of customer premise equipment. And they need to monitor certain interfaces on those equipment, you know, fast Ethernet ports, etc.
2:05But they don't know, you know, some devices may have two, some devices may have ten. With this new provisioning system, what they'll be able to do is say, okay, connect to this box, use this IP address as your main communication IP address, but then discover everything running on that box and then do data collection on just these particular values. Right, right, right. And so what will be able to happen is it's kind of the best. Like right now, they use CAPS-D and we run some scripts to kind of massage the database. So like you said, it's really provisioning, if you will, what you'll be monitoring and managing. Not so much provisioning software and other things like that. Exactly. Just to clarify, right, right. But basically, it's two ways. So you can import what you want to have discovered. And once that stuff is discovered and configured, you can also send that information to third-party software. Right. Specifically, in this case, Rancid. So you're able to discover a Cisco router, send it to Rancid. Rancid will go and provision the system, and then we can ask Rancid for configuration. And so when you're doing it, is there some sort of standard for that file, or do you just make up your own sort of thing? It tends to, it's based on REST. Uh-huh. So you're able to kind of audit everything that's been doing by making a REST request. By looking at the, oh, by looking at the entities that are passed around or whatever? Well, you can basically say, you know, you can provision stuff, and then you can go and request via REST all information about a particular node. Right, right, right. And then it'll tell you everything that it's discovered on that. I see. In the case of Rancid, we get information back, and then we actually store in OpenNMS configuration files, and we use a little CVS-like storage system, which you can go back through and look at changes. But you basically have your own format for what's in the REST, if you will. Exactly. I mean, it's XML. I mean, it's going to be a special request, and it's going to be XML. Does it have namespaces? Yes, it does have namespaces. Fantastic. Then we got the namespaces. So is that the major thing in that release? There's lots of other things. We're working right now with a customer in Honduras, and they're a cellular phone provider. So we're actually making monitors that go out over the cellular phone network. Seriously, you plug a cellular phone into the back of the OpenNMS box, and it makes calls. Oh, and it works out of that network.
4:05Right. And so we're actually, the ultimate goal is you'll be able to make a call to an asterisk box that has a little agent running on it, and then you can send a series of tones over the phone and measure how well that they're performing. And if it drops below a certain threshold, you can generate a service lost or sort of failure. Well, fantastic. So right now we're just doing SMS. Yeah, yeah. So we're doing SMS messages for the first phase of it. Again, since OpenNMS is 100% open source, you can go to SourceForge and look at our feature branches, and you can see what we're working on. Yeah, well, great. Well, thanks for that quick little update. Yeah, thank you very much.