-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Description
NetBox version
v3.4.3
Feature type
New functionality
Proposed functionality
Add schedule data, that like contacts, tags or CCs, can be attached to any data types.
Fields, like I see it:
- (required) Name
- (required) Regularity (daily, weekly, monthly, yearly, once)
- (required) regularity-depended calendar info
- (required) Start datetime
- (optional) End datetime
- (optional) Event length
- ? Color - looks like, if rendered as calendar or list, it can be shown with correspondent outline
- Ability to assign contact information to Schedule (for external systems to know with who to contact about changes, or send message about event start/end)
Use case
Every infrastructure require some regularity, so, I see it natural
Our use cases to be stored:
- Planned maintenance windows for HW and VMs
- Planned service contract renewal
- Planned software EoL
- Unplanned maintenance (disasters, on-site visits)
Right now, 4th scenario can (and in most cases, better do this way) be achieved, using journal records. But it can't be used for other 3 types.
Scenarios 2 and 3 achieved by custom field with date. It requires to fill this field for every Platform and VM, that have this field. It also requires to mass-update field, when something changed (contract renewed, software updated).
Scenarios 1 right now achievable by combination of tag and CC. Create tag for every possible:
- maintenance occurrence date types (day of weeks, day of months etc.)
- maintenance occurrence start times
- maintenance lengths
Create CC for every tag with json data about event. Merge multiple CC for devices and VMs by assigning tags.
It works and accessible by API calls (by reading whole config_context attribute) but have no visual grace of specialized visualization tools:

We like to see data like this as separate tab with calendar with marked dates or times. UI-options like "Show Journal entries" (for 4th case) and "Show as list" (list it instead or render dates/times) greatly welcomed, while optional.
API calls must return list of events for calendar processing (Grafana calendar panel, Grafana "next maintenance" text label for VMs and servers, "Today maintenance" list for e-mails/chat announcement). So it must assume some defaults, but have some receivable options to correctly change format of returning data (to work in possible use cases without over-processing, if api-consumer does not support scripting or data transformations).
Database changes
No response
External dependencies
No response