NMS-20364: Manage Minions and Locations page - #8896
Open
joseanesONMS wants to merge 7 commits into
Open
joseanesONMS wants to merge 7 commits into
joseanesONMS wants to merge 7 commits into
Conversation
The two admin pages become tabs of one page with a 30-second auto-refresh and a last-updated label. The Minions tab is read-only for now: the editor stays in the tree but nothing reaches it. It shows the minion, its location, an uppercase status, the version against the core's, and the last heartbeat as time since with a colour by age, plus quick filters. The Locations tab shows the description, how many minions and nodes each location has with down and unknown counts, hides geolocation and priority, and locks the Default location, which is the core. Each tab links into the other in context. The menu, the Configure OpenNMS page and the search actions point at the new page and the old routes redirect to it.
Minions report v37.0.0-SNAPSHOT while the core reports 37.0.0, so a verbatim comparison flagged every minion; both sides are now reduced to major.minor.patch and a snapshot suffix is not a difference. Node counts are fetched only while the Locations tab is showing and the page is visible, the locations table masks only its first load, an asterisk in a name no longer turns the count into a wildcard match, the two tabs share one clock and one status vocabulary, a jump into the Minions tab resets the quick filter, and a jump into the Locations tab matches the name exactly.
The Minions tab gets a location dropdown wired to the same filter as the cross-tab chip, and both chips clear through a real button since the chip's own icon cannot take focus. A version mismatch now says so in the tag text. A visibility flip younger than ten seconds no longer reloads, node-count batches commit only when newest and are refreshed after a location change while the tab shows them, and the admin-page smoke test waits for the Vue title and the selected tab instead of the legacy table headers.
The page, its route, breadcrumb, menu item and smoke tests take the new name. The two per-tab About dialogs become one collapsible panel above the tabs in the Manage WS-Man style, explaining what locations and Minions are, how a Minion is set up against the core, and what each tab shows, without the fields the page no longer exposes. The header and the panel get the same gutter as the tab panels so the Refresh button lines up with the card.
Deleting a location is refused while any node or Minion is in it, since the node foreign key has no cascade and the server would reject it anyway. The dialog names the applications that use the location as a perspective and counts the perspective outages, both of which the server drops silently, asks for the name to be typed, and after the delete lists what was removed. Deleting a Minion is refused while its last heartbeat is younger than two minutes, with a warning to stop the process first; the dialog counts the alarms that go with it and says the node stays until the Minions requisition is synchronized, which is what the server does. OnmsMessage joins the shared components as the callout for these dialogs.
Auto-refresh pauses while a dialog is open, so the Minion dialog now reads the Minion again on open and every 30 seconds while open; only a fresh read can lift the two-minute block, and a Minion reported up is blocked whatever its date says. The location dialog counts nodes and Minions fresh, reloads its callouts when the server refuses, trims and submits the typed name on Enter, and focuses the right control. The texts say that events are kept, name the requisition pattern, and describe the Minion block as this page's rule since no foreign key enforces it. Applications past the page size are reported as uncounted rather than absent.
Six short entries, three per tab, instead of the long explanation.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.










Merges the Vue Minions and Monitoring Locations pages into one tabbed page, Manage Minions and Locations, on the Distributed Monitoring feature branch.
The page reads only; the REST APIs are unchanged, and everything the tabs add on top of them is derived client-side or read through existing list endpoints.
External References