When you delete a service in the Provision Group and Sync it does not delete the service

Description

You have to delete the service from the node page.

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Robin Williams July 6, 2017 at 3:16 PM

By provisioning, in this case, I'm referring to requisition import/sync.

Robin Williams July 6, 2017 at 3:16 PM

This is still a bug in 20.0.0, any idea what's happening with this?  It's a major issue for those of us using provisioning to manage nodes.  If I delete something from provisioning I expect that to synchronise across.

Kalle Carlbark September 2, 2015 at 5:41 AM

I am seeing this as well in 16.0.3. It seems like a major bug because using the Rest API to automate some of this stuff is then not possible since you need to manually remove the service from the node in the web ui as well..

Dhanasekaran Anbalagan January 25, 2015 at 11:46 AM

Hi Guys,

Still I am facing same issue, with OpenNMS - 14.0.3 version to. I seen Fix Version/s: Backlog
can you please fix this, It's creating confusion on WEB-UI

Paul-Andre Panon June 21, 2012 at 10:36 PM

OK, I've finally figured out why I was getting confused and what NMS-4562's Description of "You have to delete the service from the node page" means. It actually means you ALSO have to delete the service from the node page.

If you try to delete a provisioned node from the node page, you see the message that the node has to be deleted from the provisioning group. Thus from a standpoint of UI consistency, you would expect that the services also should be deleted from the provisioning group as well and, if you try to delete the service from the node page when the service is still in the Provisioning Group, the deletion request appears to be rejected/ignored. So you wind up have to delete a provisioned service twice, from the provisioning group first (don't forget to synchronize), and then from the node page. From a UI standpoint, requiring a double deletion from two significantly different parts of the user interface is extremely confusing.

I guess the problem is that it's easy for the UI to check whether a node was provisioned by looking at the foreignsource/foreignid columns, but there's no such indicator in ifservices to see if a service was explictly part of the node description in the provisioning list or if it was discovered (i.e. as a result of scanning a provisioned interface with no services list). Such a column should probably be added and maintained by the provisioning daemon during provisioning group synchronization.

Probably what should happen to be consistent with node UI behaviour is that

  • on the Node's service page, the Delete link should only available if the service was not provisioned explictly.

  • on the Node's service page, a message should be displayed when a service was explictly provisioned that it needs to be removed from the provisioning group's node definition,

I'm not sure if the process for queuing a deletion should also accept an additional parameter to indicate that the request was generated by the provisioning daemon, or if it could just check the new provisioned flag in the ifservices table.

However, I hope that the above explains why I think that even if there is a detector for that type of service, the service should be deleted if the detector fails to detect the service (i.e. a service that may have been present during initial provisioning may since have been disabled in the monitored system). Otherwise de-provisioning a service for which a detector exists (but no actual running service) would still force the user to delete a service twice in two different places. Hopefully the second paragraph in this comment makes it clear why this is not a good thing.

Details

Assignee

Reporter

Labels

Components

Affects versions

Priority

PagerDuty

Created March 30, 2011 at 9:56 AM
Updated September 21, 2021 at 6:23 PM