1
00:00:00,100 --> 00:00:03,940
Well, here we are at Open Source World 2009. Why don't you introduce yourself?

2
00:00:04,320 --> 00:00:07,620
Hi, I'm Taurus Bailog. I'm one of the maintainers of the OpenNMS project.

3
00:00:08,000 --> 00:00:12,020
Well, so I just buttoned you here to give us a little quick update on OpenNMS.

4
00:00:12,140 --> 00:00:13,880
So what's been going on in the OpenNMS world?

5
00:00:14,040 --> 00:00:18,000
Well, we've been working really hard to get our next stable release out, which is going to be 1.8.

6
00:00:18,540 --> 00:00:20,460
It should be feature complete by the end of the month.

7
00:00:21,280 --> 00:00:25,540
The big change in 1.8 is going to be a totally new provisioning system.

8
00:00:25,740 --> 00:00:29,780
So we're replacing our old discovery system with a very, very powerful provisioning system.

9
00:00:30,000 --> 00:00:32,680
It also has a lot of integration points with things like Lancet.

10
00:00:33,020 --> 00:00:36,400
And that's like provisioning OpenNMS things, or what's it provisioning exactly?

11
00:00:36,660 --> 00:00:41,040
Well, prior to, in 1.6, we have what we call CAPS-D, which is our capability scanner.

12
00:00:41,360 --> 00:00:47,200
And what it does is it goes through and will test to see if services exist on particular devices, etc.

13
00:00:47,800 --> 00:00:53,680
But some customers, especially customers with like, say, 50,000 or 60,000 devices, don't want to rely on that.

14
00:00:53,680 --> 00:00:55,620
And they might have their own internal database.

15
00:00:56,180 --> 00:00:58,060
And so we have this method we call the model importer.

16
00:00:58,320 --> 00:01:05,180
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.

17
00:01:05,720 --> 00:01:09,100
So the file becomes a definitive method of discovery.

18
00:01:09,340 --> 00:01:10,660
You've got a CMDB in a file.

19
00:01:11,000 --> 00:01:11,360
Exactly.

20
00:01:11,720 --> 00:01:18,580
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.

21
00:01:18,580 --> 00:01:23,560
Whereas CAPS-D will discover things like interfaces that are configured that you might have not known about.

22
00:01:24,100 --> 00:01:25,980
What the provisioner does is the best of both worlds.

23
00:01:26,900 --> 00:01:32,020
So instead of having these plug-ins that go and discover things, we have these detectors.

24
00:01:32,580 --> 00:01:38,840
And there's all kinds of rules that you can ignore certain devices, you can pay special attention to different devices, etc.

25
00:01:39,100 --> 00:01:46,060
And so it kind of automates the discovery to some extent and then allows you to pretty much define it in another way.

26
00:01:46,400 --> 00:01:46,640
That's right.

27
00:01:46,640 --> 00:01:49,660
It's a little easier if I'm actually just showing you how it works.

28
00:01:49,660 --> 00:01:49,900
Sure, sure.

29
00:01:49,900 --> 00:01:53,400
Like we have one customer, New Edge Networks, in Vancouver, Washington.

30
00:01:53,940 --> 00:01:58,880
And they're monitoring about 13,000 pieces of customer premise equipment.

31
00:01:59,520 --> 00:02:05,040
And they need to monitor certain interfaces on those equipment, you know, fast Ethernet ports, etc.

32
00:02:05,680 --> 00:02:09,220
But they don't know, you know, some devices may have two, some devices may have ten.

33
00:02:09,580 --> 00:02:17,580
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,

34
00:02:17,580 --> 00:02:23,360
but then discover everything running on that box and then do data collection on just these particular values.

35
00:02:23,660 --> 00:02:24,200
Right, right, right.

36
00:02:24,200 --> 00:02:26,260
And so what will be able to happen is it's kind of the best.

37
00:02:26,400 --> 00:02:30,600
Like right now, they use CAPS-D and we run some scripts to kind of massage the database.

38
00:02:30,620 --> 00:02:36,220
So like you said, it's really provisioning, if you will, what you'll be monitoring and managing.

39
00:02:36,360 --> 00:02:39,040
Not so much provisioning software and other things like that.

40
00:02:39,220 --> 00:02:39,540
Exactly.

41
00:02:39,540 --> 00:02:40,400
Just to clarify, right, right.

42
00:02:40,520 --> 00:02:42,920
But basically, it's two ways.

43
00:02:43,000 --> 00:02:45,140
So you can import what you want to have discovered.

44
00:02:45,140 --> 00:02:49,660
And once that stuff is discovered and configured, you can also send that information to third-party software.

45
00:02:50,100 --> 00:02:50,280
Right.

46
00:02:50,640 --> 00:02:51,860
Specifically, in this case, Rancid.

47
00:02:52,480 --> 00:02:55,180
So you're able to discover a Cisco router, send it to Rancid.

48
00:02:55,320 --> 00:02:58,900
Rancid will go and provision the system, and then we can ask Rancid for configuration.

49
00:02:58,980 --> 00:03:03,740
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?

50
00:03:03,740 --> 00:03:05,140
It tends to, it's based on REST.

51
00:03:05,440 --> 00:03:05,660
Uh-huh.

52
00:03:05,660 --> 00:03:10,120
So you're able to kind of audit everything that's been doing by making a REST request.

53
00:03:10,480 --> 00:03:14,060
By looking at the, oh, by looking at the entities that are passed around or whatever?

54
00:03:14,240 --> 00:03:21,420
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.

55
00:03:21,700 --> 00:03:22,160
Right, right, right.

56
00:03:22,160 --> 00:03:24,120
And then it'll tell you everything that it's discovered on that.

57
00:03:24,120 --> 00:03:24,580
I see.

58
00:03:25,120 --> 00:03:30,680
In the case of Rancid, we get information back, and then we actually store in OpenNMS configuration files,

59
00:03:30,760 --> 00:03:35,640
and we use a little CVS-like storage system, which you can go back through and look at changes.

60
00:03:35,640 --> 00:03:38,900
But you basically have your own format for what's in the REST, if you will.

61
00:03:39,020 --> 00:03:39,340
Exactly.

62
00:03:39,580 --> 00:03:40,400
I mean, it's XML.

63
00:03:40,760 --> 00:03:43,080
I mean, it's going to be a special request, and it's going to be XML.

64
00:03:43,140 --> 00:03:43,980
Does it have namespaces?

65
00:03:44,320 --> 00:03:45,080
Yes, it does have namespaces.

66
00:03:45,300 --> 00:03:45,620
Fantastic.

67
00:03:45,920 --> 00:03:46,720
Then we got the namespaces.

68
00:03:47,120 --> 00:03:49,060
So is that the major thing in that release?

69
00:03:49,620 --> 00:03:50,620
There's lots of other things.

70
00:03:50,620 --> 00:03:55,760
We're working right now with a customer in Honduras, and they're a cellular phone provider.

71
00:03:55,900 --> 00:03:59,300
So we're actually making monitors that go out over the cellular phone network.

72
00:03:59,980 --> 00:04:04,360
Seriously, you plug a cellular phone into the back of the OpenNMS box, and it makes calls.

73
00:04:04,360 --> 00:04:05,420
Oh, and it works out of that network.

74
00:04:05,640 --> 00:04:05,860
Right.

75
00:04:06,080 --> 00:04:13,320
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,

76
00:04:13,320 --> 00:04:20,140
and then you can send a series of tones over the phone and measure how well that they're performing.

77
00:04:20,280 --> 00:04:24,180
And if it drops below a certain threshold, you can generate a service lost or sort of failure.

78
00:04:24,200 --> 00:04:24,960
Well, fantastic.

79
00:04:25,060 --> 00:04:26,220
So right now we're just doing SMS.

80
00:04:26,560 --> 00:04:26,780
Yeah, yeah.

81
00:04:26,780 --> 00:04:29,400
So we're doing SMS messages for the first phase of it.

82
00:04:29,660 --> 00:04:33,960
Again, since OpenNMS is 100% open source, you can go to SourceForge and look at our feature branches,

83
00:04:34,520 --> 00:04:35,760
and you can see what we're working on.

84
00:04:35,980 --> 00:04:36,580
Yeah, well, great.

85
00:04:36,920 --> 00:04:38,200
Well, thanks for that quick little update.

86
00:04:38,460 --> 00:04:39,340
Yeah, thank you very much.
