You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Run a script in cron defined by user settings in the YANG model.
Example YANG:
augment "/sys:system" {
container unattended-upgrades {
description
"Configuration for automatic system software updates.
When enabled, the system will automatically check for and
install software upgrades at the specified time.";
leaf enable {
type boolean;
default false;
description
"Enable or disable unattended upgrades.
When set to true, the system will automatically check for
available software updates and install them at the configured
time.";
}
leaf time {
type string {
pattern '[0-2][0-9]:[0-5][0-9]';
}
mandatory true;
description
"Time of day to run the upgrade check and installation.
Specified in 24-hour format as HH:MM (e.g., '02:00' for 2 AM,
'14:30' for 2:30 PM).";
}
leaf-list day-of-week {
type enumeration {
enum "monday";
enum "tuesday";
enum "wednesday";
enum "thursday";
enum "friday";
enum "saturday";
enum "sunday";
}
description
"Days of the week to run unattended upgrades.
If not specified, upgrades will run daily. Multiple days
can be selected to run upgrades only on specific days of
the week.";
}
}
}
Additional Information
No response
General Information
Anyone can help out by sponsoring development of new features or contributing pull requests.
Please use this issue for discussions related to the feature.
AFAIK, this is the first, but probably not the last, scheduled config. Should we look at prior work to make sure we can configure all "schedulable" things in a uniform way?
AFAIK, this is the first, but probably not the last, scheduled config. Should we look at prior work to make sure we can configure all "schedulable" things in a uniform way?
Agreed. I brought up exactly that model in AFK discussions with @mattiaswal yesterday. Sorry for not updating the issue.
Good point, new suggestion, using ietf-schedule, limited on what cron supports.
augment /sys:system:
+--rw schedules
+--rw schedule* [name]
+--rw name string
+--rw enabled? boolean
+--rw description? string
+--rw (action)
| +--:(predefined)
| | +--rw predefined-action? identityref
So the idea here is to set up a predefined-action right? First one being check-upgrades perhaps, and then unattended-upgrade and unattended-fixes (for patch-releases only)?
Wouldn't you have a single predefined-action ("unattended-updates"), which would mean "at the declared rate, check for and update software according to my policy in /system/software/unattended-updates?
Inside that container, you would then declare things like "limit to patch releases on the current minor", "update bootloader and OS, but not containers", or whatever.
Welcome to the team, officially, @saba8814! For this task, start by familiarizing you with RFC9922 and when you've got an idea about how to run cronjobs with it then we can have a talk about any superfluous nodes/functionality in the YANG model, or even missing nodes on a whiteboard.
Activity
wkz commentedon Dec 4, 2025
AFAIK, this is the first, but probably not the last, scheduled config. Should we look at prior work to make sure we can configure all "schedulable" things in a uniform way?
troglobit commentedon Dec 4, 2025
Agreed. I brought up exactly that model in AFK discussions with @mattiaswal yesterday. Sorry for not updating the issue.
mattiaswal commentedon Dec 21, 2025
Good point, new suggestion, using ietf-schedule, limited on what cron supports.
troglobit commentedon Feb 26, 2026
So the idea here is to set up a
predefined-actionright? First one beingcheck-upgradesperhaps, and thenunattended-upgradeandunattended-fixes(for patch-releases only)?wkz commentedon Feb 27, 2026
Wouldn't you have a single
predefined-action("unattended-updates"), which would mean "at the declared rate, check for and update software according to my policy in/system/software/unattended-updates?Inside that container, you would then declare things like "limit to patch releases on the current minor", "update bootloader and OS, but not containers", or whatever.
troglobit commentedon May 25, 2026
Welcome to the team, officially, @saba8814! For this task, start by familiarizing you with RFC9922 and when you've got an idea about how to run cronjobs with it then we can have a talk about any superfluous nodes/functionality in the YANG model, or even missing nodes on a whiteboard.
Good luck!
16 remaining items
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates
Add support for unattended updates