To sum up briefly, I've only crossed over from the syseng discipline to the (perl) developer arena in the last few months. I knew it would be a major transition, but I still find myself getting the wind knocked out of me on occasion.
My thought was that, with the exception of creating circular inheritance, when a user creates a new template they should be allowed to inherit from basically any available template (keeping in mind that certain template types are only usable by certain device types). Nagios behaves this way, so I thought this application should probably behave this way also. After lengthy discussion both ways, I was finally met with "Because it's bad design." As the department newbie, I didn't even need to use the force to sense that it was time to stfu.
The other folks in my dept are of the opinion that it should be very specific, a top level master template, a command based template (i.e. "template_snmp_check"), a device based template (i.e. "template_snmp_check_Router"), and then, optionally, a custom template from which the actual registered service check definition will inherit configuration options.
I was wondering about the opinions of the other developers here. Is it good design to limit an application like this, which will control another application, to a rather enforced methodology? Or is it better to go with "Since Nagios can do it, this app should do it...?"
And also, has anyone else switched disciplines and experienced their own difficulties with the change?
1 (Quick Nagios explanation. Every item on every device you want to monitor in Nagios, disk space, cpu, router interfaces, running processes, etc, requires a service definition in the configuration. You don't have to create an entirely new service definition with every single configuration option every time, though. You can tell it a service name to use to inherit options, a parent template. Services can inherit from each other and have all sorts of parents, grandparents, gggggrandparents, etc.)
--
"This alcoholism thing, I think it's just clever propaganda produced by people who want you to buy more bottled water." -- pedestrianwolf
In reply to Design opinion, configuration inheritance by naChoZ
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |