Maintenance Windows
The maintenance windows feature in Uyuni allows you to schedule actions to occur during a scheduled maintenance window period. When you have created your maintenance window schedule, and applied it to a client, you are prevented from executing some actions outside of the specified period.
Maintenance windows operate in a different way to system locking. System locks are switched on or off as required, while maintenance windows define periods of time when actions are allowed. Additionally, the allowed and restricted actions differ. For more information about system locks, see System Locking. |
Maintenance windows require both a calendar, and a schedule.
The calendar defines the date and time of your maintenance window events, including recurring events, and must be in ical
format.
The schedule uses the events defined in the calendar to create the maintenance windows.
You must create an ical
file for upload, or link to an ical
file to create the calendar, before you can create the schedule.
When you have created the schedule, you can assign it to clients that are registered to the Uyuni Server. Clients that have a maintenance schedule assigned cannot run restricted actions outside of maintenance windows.
Restricted actions significantly modify the client, and could potentially cause the client to stop running. Some examples of restricted actions are:
-
Package installation
-
Client upgrade
-
Product migration
-
Highstate application (for Salt clients)
Unrestricted actions are minor actions that are considered safe and are unlikely to cause problems on the client. Some examples of unrestricted actions are:
-
Package profile update
-
Hardware refresh
-
Subscribing to software channels
Before you begin, you must create an ical
file for upload, or link to an ical
file to create the calendar.
You can create ical
files in your preferred calendaring tool, such as Microsoft Outlook, Google Calendar, or KOrganizer.
-
In the Uyuni Web UI, navigate to
, and click Create. -
In the
Calendar Name
section, type a name for your calendar. -
Either provide a URL to your
ical
file, or upload the file directly. -
Click Create Calendar to save your calendar.
-
In the Uyuni Web UI, navigate to
, and click Create. -
In the
Schedule Name
section, type a name for your schedule. -
OPTIONAL: If your
ical
file contains events that apply to more than one schedule, checkMulti
. -
Select the calendar to assign to this schedule.
-
Click Create Schedule to save your schedule.
-
In the Uyuni Web UI, navigate to
, select the client to be assigned to a schedule, locate theSystem Properties
panel, and click Edit These Properties. Alternatively, you can assign clients through the system set manager by navigating to and using the tab. -
In the
Edit System Details
page, locate theMaintenance Schedule
field, and select the name of the schedule to be assigned. -
Click Update Properties to assign the maintenance schedule.
When you assign a new maintenance schedule to a client, it is possible that the client might already have some restricted actions scheduled, and that these might now conflict with the new maintenance schedule. If this occurs, the Web UI displays an error and you cannot assign the schedule to the client. To resolve this, check the Cancel affected actions option when you assign the schedule. This cancels any previously scheduled actions that conflict with the new maintenance schedule. |
When you have created your maintenance windows, you can schedule restricted actions, such as package upgrades, to be performed during the maintenance window.
-
In the Uyuni Web UI, navigate to
, select the client you want to upgrade, and go to the tab. -
Select the package to upgrade from the list, and click Upgrade Packages.
-
In the
Maintenance Window
field, select which maintenance window the client should use to perform the upgrade. -
Click Confirm to schedule the package upgrade.
1. Maintenance Schedule Types
When you create a calendar, it contains a number of events, which can be either one-time events, or recurring events.
Each event contains a summary
field.
If you want to create multiple maintenance schedules for one calendar, you can specify events for each using the summary
field.
For example, you might like to create a schedule for production servers, and a different schedule for testing servers.
In this case, you would specify SUMMARY: Production Servers
on events for the production servers, and SUMMARY: Testing Servers
on events for the testing servers.
There are two types of schedule: single, or multi.
If your calendar contains events that apply to more than one schedule, then you must select multi
, and ensure you name the schedule according to the summary
field you used in the calendar file.
-
In the Uyuni Web UI, navigate to
, and click Create. -
In the
Schedule Name
section, type the name for your schedule. Ensure it matches thesummary
field of the calendar. -
Check the
Multi
option. -
Select the calendar to assign to this schedule.
-
Click Create Schedule to save your schedule.
-
To create the next schedule, click Create.
-
In the
Schedule Name
section, type the name for your second schedule. Ensure it matches thesummary
field of the second calendar. -
Check the
Multi
option. -
Click Create Schedule to save your schedule.
-
Repeat for each schedule you need to create.
2. Restricted and Unrestricted Actions
This sections contains a complete list of restricted and unrestricted actions.
Restricted actions significantly modify the client, and could potentially cause the client to stop running. Restricted actions can only be run during a maintenance window. The restricted actions are:
-
Package operations (for example, installing, updating, or removing packages)
-
Patch updates
-
Rebooting a client
-
Rolling back transactions
-
Configuration management changing tasks
-
Applying a highstate (for Salt clients)
-
Autoinstallation and reinstallation
-
Remote commands
-
Product migrations
-
Cluster operations
For Salt clients, it is possible to run remote commands directly at any time by navigating to Actions. . This applies whether or not the Salt client is in a maintenance window. For more information about remote commands, see |
Unrestricted actions are minor actions that are considered safe and are unlikely to cause problems on the client. If an action is not restricted it is, by definition, unrestricted, and can be be run at any time.