[OpenNMS/opennms] 9eff1b: NMS-20108: on-call roles admin REST API and PrimeV...
joseanesONMS via opennms-cvs <[email protected]> Thu, 30 Jul 2026 13:47:41 -0700
| Newsgroups | gmane.network.opennms.cvs |
|---|---|
| Message-ID | <OpenNMS/opennms/push/refs/heads/jira/NMS-20108-oncall-roles-pr/[email protected]> |
Branch: refs/heads/jira/NMS-20108-oncall-roles-pr
Home: https://github.com/OpenNMS/opennms
Commit: 9eff1b60f6fea2f7bda15d88dba78cf76fb78a5d
https://github.com/OpenNMS/opennms/commit/9eff1b60f6fea2f7bda15d88dba78cf76fb78a5d
Author: Jose Anes <[email protected]>
Date: 2026-07-30 (Thu, 30 Jul 2026)
Changed paths:
A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/OnCallRolesRestService.java
A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/api/OnCallRolesRestApi.java
A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/model/OnCallCalendarDto.java
A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/model/OnCallRoleDto.java
A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/model/OnCallRoleRenameRequest.java
M opennms-webapp-rest/src/main/webapp/WEB-INF/menu/menu-template.json
A opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/OnCallRolesRestServiceIT.java
M opennms-webapp/src/main/webapp/WEB-INF/applicationContext-spring-security.xml
A ui/src/components/ManageOnCallRoles/RoleCalendarDialog.vue
A ui/src/components/ManageOnCallRoles/RoleEditorDialog.vue
A ui/src/components/ManageOnCallRoles/RoleRenameDialog.vue
A ui/src/components/ManageOnCallRoles/RolesHelpPanel.vue
A ui/src/components/ManageOnCallRoles/RolesTable.vue
A ui/src/containers/ManageOnCallRoles.vue
M ui/src/main/router/index.ts
M ui/src/services/index.ts
A ui/src/services/onCallRoleAdminService.ts
A ui/src/stores/onCallRoleAdminStore.ts
A ui/src/types/onCallRoleAdmin.ts
A ui/tests/stores/onCallRoleAdminStore.test.ts
Log Message:
-----------
NMS-20108: on-call roles admin REST API and PrimeVue page
Adds an admin-only versioned /api/v2/on-call-roles API over the existing
groups.xml role storage (list/get/create/update/rename/delete plus a computed
month calendar from GroupManager.getRoleScheduleEntries), and a PrimeVue
Manage On-Call Roles page with a schedule calendar and one-off coverage
editor. The admin menu entry now points at the new page.
Roles stay in groups.xml: hand-edited entries (including recurring weekly,
daily and monthly schedules) are picked up on read via GroupManager.update(),
round-trip unmodified, and remain editable; schedule validation applies only
to entries added through the API. New overnight duty entries (begin after
end) are rejected because DutySchedule never matches them at runtime.
Commit: edbd5b2535b0b87e244d2461ed3a76b54e22e1c7
https://github.com/OpenNMS/opennms/commit/edbd5b2535b0b87e244d2461ed3a76b54e22e1c7
Author: Jose Anes <[email protected]>
Date: 2026-07-30 (Thu, 30 Jul 2026)
Changed paths:
M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/OnCallRolesRestService.java
M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/model/OnCallCalendarDto.java
M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/model/OnCallRoleDto.java
M opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/OnCallRolesRestServiceIT.java
M ui/src/components/ManageOnCallRoles/RoleCalendarDialog.vue
M ui/src/components/ManageOnCallRoles/RoleEditorDialog.vue
M ui/src/components/ManageOnCallRoles/RoleRenameDialog.vue
M ui/src/components/ManageOnCallRoles/RolesTable.vue
M ui/src/services/onCallRoleAdminService.ts
M ui/src/stores/onCallRoleAdminStore.ts
M ui/src/types/onCallRoleAdmin.ts
A ui/tests/components/AdminDialogs/RoleEditorDialog.test.ts
M ui/tests/stores/onCallRoleAdminStore.test.ts
Log Message:
-----------
NMS-20108: harden on-call schedule handling and error reporting
Review fixes for the on-call roles API and page. New schedule entries are
canonicalized to the exact forms the scheduler dispatches on (zero-padded
widths, JVM-default-locale month names, lowercase weekly days, unpadded
monthly days), closing the gap where the API accepted entries notifd
silently ignored. The optional time id attribute now round-trips, partial
updates can change supervisor or membership-group independently, and a role
whose schedule cannot be evaluated no longer breaks the whole list response.
The calendar reports the server time zone and the dialog renders and labels
all times in it, so what is entered matches what notifd evaluates. Coverage
edits re-read the stored role before mutating and match removals by content,
narrowing the window where a concurrent edit could be overwritten; removing
a recurring (hand-edited) entry asks for confirmation since this editor
cannot recreate one. Dialogs show API rejections inline like the users and
groups pages.
Commit: 0f0411e8eb508413d3c1fbb0aee9e4da52b06dc1
https://github.com/OpenNMS/opennms/commit/0f0411e8eb508413d3c1fbb0aee9e4da52b06dc1
Author: Jose Anes <[email protected]>
Date: 2026-07-30 (Thu, 30 Jul 2026)
Changed paths:
M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/OnCallRolesRestService.java
Log Message:
-----------
NMS-20108: store schedule dates in canonical English regardless of server locale
Formatting with the default locale made specific-schedule writes fail only
in months whose abbreviation breaks the 20-character width (janv. but not
mai), and stored strings the API itself could not re-parse. Dates are now
always stored in the fixed-width Locale.ROOT form; if the default locale
cannot parse that form back, the write is rejected up front with a clear
message, since notifd would silently ignore the entry at runtime.
Commit: 5938f18b2ce1d061fce17dd3c06a475e19e8bbec
https://github.com/OpenNMS/opennms/commit/5938f18b2ce1d061fce17dd3c06a475e19e8bbec
Author: Jose Anes <[email protected]>
Date: 2026-07-30 (Thu, 30 Jul 2026)
Changed paths:
M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/OnCallRolesRestService.java
M opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/model/OnCallRoleDto.java
M ui/src/components/ManageOnCallRoles/RolesTable.vue
A ui/src/lib/adminValidation.ts
M ui/src/main/router/index.ts
M ui/src/types/onCallRoleAdmin.ts
A ui/tests/lib/adminValidation.test.ts
Log Message:
-----------
NMS-20108: surface unevaluable schedules and harden the name regex
A role whose stored schedule the runtime cannot evaluate now reports a
schedule-error field instead of silently showing an empty currently-on-call
list, and the roles table renders it as a warning tag — an unevaluable rota
is a notifd outage, not an idle one. The name regex scans for forbidden
characters instead of a newline-bypassable full-string match.
Compare: https://github.com/OpenNMS/opennms/compare/9eff1b60f6fe%5E...5938f18b2ce1
To unsubscribe from these emails, change your notification settings at https://github.com/OpenNMS/opennms/settings/notifications
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-cvs mailing list
To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-cvs