Clients Update Using Recurring Actions
This workflow shows how to automate updating the clients registered at SUSE Multi-Linux Manager using recurring actions.
1. Use Case / Situation
Automated update of clients is benefitial when:
- 
update of a large number of clients is wanted 
- 
the workflow should not be re-done every execution 
- 
a dedicated maintenance window exists. 
2. Outcome / Resolution
Successful completion of this workflow results in consistent and supportable state.
3. Preparation
Before you start, you should have a number of clients onboarded. It may make sense to have them sorted into groups you want to update together. In this workflow we use a system group named infra-services.
4. Step-by-Step Workflow Instructions
To update a client two steps are required. A third step is optional but highly recommended to finalize the update process.
- 
As an example, we create the action to update Salt itself as a recurring action for all systems in the organization. In the SUSE Multi-Linux Manager Web UI, navigate to and click Create. 
- 
Select Action TypeCustom State and enter aSchedule Namelikeupdate-salt.
- 
Select a schedule. For example, Weekly: Wednesday, 9:00 am . 
- 
Assign the update-saltstate by selecting the checkbox.
- 
Click Save Changes to save the action. 
- 
You can edit the execution order of the states if needed. Click Confirm to confirm the order. 
- 
Click Create Schedule to save the action. 
- 
As an example we create the action to apply all updates as a recurring action for a system group called infra-services. In the SUSE Multi-Linux Manager Web UI go to and click on infra-services.
- 
Now go to Recurring Actionsand click Create.
- 
Select Action TypeCustom State and enter aSchedule Namelikefull-system-update.
- 
Select a Schedule. For example, Weekly: Wednesday, 9:30 am . Keep enough time between this action and the update-saltaction. Theupdate-saltactions must be finished on all systems before this action should be executed.
- 
Assign the states util.syncall,certs,channelsanduptodateby selecting the checkboxes. To perform a reboot afterwards you can also addrebootorrebootifneeded.
- 
Save the action by clicking Save Changes. 
- 
You can edit the execution order of the states. The order should be util.syncall,certs,channels,uptodateand finallyrebootorrebootifneededif chosen. Click Confirm to store the order.
- 
Click Create Schedule to save the action. 
- 
As an example, we create the action to apply the highstate for the same group which was fully updated before. In the SUSE Multi-Linux Manager Web UI, navigate to and click infra-services.
- 
Go to Recurring Actionsand click Create.
- 
Select Action TypeHighstate and enter aSchedule Namelikehighstate.
- 
Select a Schedule. For example, Weekly: Wednesday, 10:30 am . Again, keep enough time between this action and the full-system-updateaction.
- 
Click Create Schedule to save the action. 
5. Background Information on uptodate State
- 
The uptodatestate applies critical patches to the update components.- 
On SUSE-based systems, the state executes the command: zypper --non-interactive patch --updatestack-onlyAnd then, the state also updates Salt. 
- 
On all the other systems, not based on SUSE, the state only updates Salt. 
 
- 
- 
The state runs the package manager, such as dnf,yum,apt, orzypperbased on what is available on the client operating system to update the rest of the packages.- 
The state lists all of the upgradable packages, based on the synchronized package repositories in SUSE Multi-Linux Manager. 
- 
The state upgrades the packages to their latest available version by using the client’s package manager. The executed command depends on the operating system of the client: - 
For Debian-based clients, such as Debian or Ubuntu, the action executes apt dist-upgrade -q -y $PACKAGES.
- 
For RPM-based clients that are not SUSE, such as Red Hat Enterprise Linux or SUSE Liberty Linux, the action executes yum --quiet -y update $PACKAGESordnf --quiet -y upgrade $PACKAGES(depending on the package manager the client is using).
- 
For non-transactional SUSE clients, such as SUSE Linux Enterprise 15, the action executes zypper --non-interactive --auto-agree-with-licenses update $PACKAGES.
- 
For transactional SUSE clients, the action executes the same in a transactional shell. 
 
- 
 
- 
SUSE Multi-Linux Manager provides the reboot and rebootifneeded actions. Use one of the actions if you want your client to reboot after the package upgrade.
+
- rebootifneeded
- 
Reboot detection is specific to the client operating system. - 
For Debian or Ubuntu, see https://www.debian.org/doc/debian-policy/ch-opersys.html#signaling-that-a-reboot-is-required. 
- 
For non-transactional SUSE clients, SUSE Multi-Linux Manager reboots the client when zypper -x list-patchesindicates that the patches require a reboot.
- 
For transactional SUSE clients, SUSE Multi-Linux Manager reboots the client if there is a pending transaction. 
- 
For the Red Hat-based clients, SUSE Multi-Linux Manager reboots the client if dnf -q needs-restarting -rindicates that a reboot is required.
 
- 
+
For more information, see the reboot_info.py module: https://github.com/uyuni-project/uyuni/blob/master/susemanager-utils/susemanager-sls/src/modules/reboot_info.py
6. Related Topics
- 
For more information about recurring actions, see Recurring Actions. 
- 
For more information about custom info values, see カスタムシステム情報.