Replace GWT with Angular: configure SNMP data collection per interface

Description

Any GWT based application is hard to debug and maintain. Also, it is hard to make it work nicely with Boostrap. For this reason, it would be better if we reimplement this feature using a JavaScript based library that can play nicely with other JavaScript frameworks like Boostrap.

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Alejandro Galue August 19, 2016 at 11:06 AM

Alejandro Galue August 11, 2016 at 4:05 PM

I discovered something interesting.

The current GWT UI, shows 3 options when setting the collect flag:

  • Collect

  • Do not Collect

  • Default

When "reading" the content of the database, it is possible to know if a certain row of the snmpinterface table is using the "default" (i.e. whatever Provisiond configured through policies), as the value should be either "C" or "N". Now, if a user changed that through the UI, the new value is "UC" or "UN". Let's say you want to go back to the default. The current UI will try to set "collect=default" which is invalid and will generate an silently ignored exception. This action won't do anything.

Thinking about it, there is no way to know what was the "default" value as that requires to re-apply the policies of the requisition (or the default foreign source if we're talking about a discovered node).

Having this in mind, I think that we can replace the combo-box with a simple check-box as we can only set or unset the collection flag, and nothing else; unless there is something we can set and then let Provisiond to override that flag (but I'm not sure if this is possible).

Of course, we can add options to manipulate all the interfaces, or all the interfaces after filtering them at the same time, in order to easily manipulate them, instead of doing it on a one by one basis (which is the only thing you can do right now).

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

PagerDuty

Created August 2, 2016 at 3:40 PM
Updated August 29, 2016 at 3:38 PM
Resolved August 29, 2016 at 6:41 AM