When the ZENworks Adaptive Agent (ZAA) is installed on a server, the device is registered with the ZENworks Management Zone (ZCM zone) and a server object representing the new managed device is created in the > Devices > Servers folder by default. This server object is a member of the dynamic server group for the installed operating system.
The registration process can be modified by use of registration keys or registration rules. Our solution is based on registration keys. As one of the last steps of an AutoYaST deployment the ZAA is installed and the device is registered with the ZCM zone using the following registration keys (see The Post-Installation Script zcm-install.sh):
Location key: The first key is always used to determine where in the ZCM zone folder structure to place the server object.
Configuration Group key: This key determines the membership in exactly one server group that is assigned to exactly one bundle group that only holds Configuration Bundles.
Update Group key: This key determines the membership in exactly one server group that is assigned to exactly one bundle group that only holds Update Bundles.
For configuration tasks we suggest to take the following approach:
Every configuration task is implemented as a separate configuration bundle.
Configuration bundles are members of as many Configuration Bundle Groups as needed.
Configuration Bundle Groups are assigned to Configuration Server Groups. For the ease of management it is very important to strictly maintain a 1:1 relationship between Configuration Bundle Groups and Configuration Server Groups.
Updates are managed in the following way:
Every update channel needed for a specific release and service pack (e. g. OES2018 SP2) is replicated from a customer center to the ZCM zone through a subscription (see Subscriptions ).
This results in a Linux bundle being created in the folder defined in the subscription for that channel.
By default this bundle is named <Release>-<SP>-Updates-bundle, for example OES2018-SP2-Updates-bundle and we recommend to keep this name.
This Linux bundle is copied to a new Linux bundle freezing the content of the channel at the time the copy is taken (see Creating a Frozen Patch Level).
The bundle with the Frozen Patch Level (FPL) is named _<Release>-<SP>-Updates-yyyymmdd, where yyyy denotes the year, mm indicates the month and dd is the day at which the copy of the Linux bundle has been created.
The bundle name is prefixed with “_” to get the update bundles sorted to the bottom of the list of all bundles that are assigned to a device.
The resulting bundle will be named something like _OES2018-SP2-Updates-20200324.
Note that copying a bundle will not consume any additional disk space and FPLs therefore can easily be kept as long as they are needed.
When the subscription for the same channel is executed again only the initial Linux bundle <Release>-<SP>-Updates-bundle will be modified. FPL bundles will remain untouched.
Update bundles providing a FPL are made a member of Update Bundle Groups that in turn are assigned to Update Server Groups.
If the installation media is not permanently available to the installed systems the pool channel(s) for the installed software can be used for dependency resolution instead.
Unlike update channels the pool channels only need to be replicated once as they provide the same patterns and packages as the original installation media or a subsequent support pack. Typically they should not change during the life cycle of the software product or its support pack.
However there are exceptions to the rule and whenever a new version of an installation media is released you must update the corresponding pool channel.
As there is no FPL for a pool channel, these channels do not need to be frozen and are directly assigned to the Update Server Groups.
Through the assignments between bundle groups and server groups all required configuration bundles and updates bundles are automatically assigned to every new device.
Other methods of assignment, in particular assignments to server objects or folders or assignments of individual bundles instead of bundle groups are not used (with the exception of Pool Bundles).