A Bundle of Salt?
This blog was co-authored by Donald Vosburg, SUSE Manager Product Manager.
If you are using SUSE Manager, you arguably know that much of its power comes from Salt. It is well known for its high-speed, secure, and powerful integrated message bus. On top of this communication system, Salt provides an extremely fast, flexible, and easy-to-use configuration management system employing states, modules, and formulas.
SUSE Manager wrappers capabilities of Salt into a best in class, true open source infrastructure management solution that manages, monitors and secures the entire Linux estate – no matter where it’s located.
But what is a Salt “bundle”? And why would we provide one with SUSE Manager? Well let’s look back:
Prior to SUSE Manager 4.3, each installation of the salt minion client was dependent on the Python libraries included with that client OS. This sometimes required numerous packages and repositories to be added. Additionally, because the Salt version was dependent on those libraries on the underlying OS, we were not always able to use the latest version. And for customers using existing Salt masters and infrastructure outside SUSE Manager, integration was complicated.
With the release of 4.3, this has all changed.
What is the Salt Bundle?
Simply put, it is a consolidated, single client binary package that includes all the Python dependencies and everything the client needs to communicate with the SUSE Manager server. That means everything needed to register and communicate between client and SUSE Manager infrastructure is in one, single package. Why is this important?
- Removes dependencies on python libraries in the client OS
- Coexists with existing Salt Minion/master infrastructure
- Simplifies client installation because you are installing a single binary from the “SUSE Manager Tools” repository, not the underling OS
- Uses the latest version of Salt compatible with the SUSE Manager infrastructure
And Some Changes
The bundled version of the salt minion is named ‘venv-salt-minion’. It uses a new systemd service by the same name, as well as a separate configuration directory on the client – ‘/etc/venv-salt-minion’.
There are three ways to onboard a new client to SUSE Manager – each now affected by the salt “bundle”
- Bootstrapping from the WebUI. When you bootstrap the client from the SUSE Manager UI, it will automatically default to deploy the Salt Bundle.
- Bootstrap scripts. You can create/update your bootstrap scripts using the command-line tool ‘mgr-bootstrap. This tool now includes some new options that relate to the salt bundle. As of SUSE Manager 4.3, the script will DEFAULT to try to install the bundled salt minion client if it is available, falling back to the original salt-minion otherwise. Run the tool with the ‘–help’ option for full details. And when creating Bootstrap scripts, you may wish to include ‘bundle’ or ‘no-bundle’ options when naming them so there is no question as to whether you are forcing or excluding the Salt Bundle.
- Pre-installing salt packages. If you are building systems with SUSE Manager Autoinstallation, you can pre-install the ‘venv-salt-minion’ package in your profile. The spacewalk/minion_script Default Snippet has now been modified to accommodate the bundle.
Existing clients can be migrated to the salt bundle following this guide.
Documentation for the salt bundle can be found here.
In summary, the Salt Bundle is an independent package that deploys the new Salt Minion service, configurations, and directories as well as all its dependencies. This means you can now run both the Salt Minion from the distribution and the bundled Salt Minion to talk to the SUSE Manager server on the same system without any configuration conflict.
To learn more about the Salt Bundle and new SUSE Manager features, please visit: suse.com/products/suse-manager and download the SUSE Manager 4.3 Data Sheet.
We look forward to hearing from you on this and the other features of SUSE Manager.
Related Articles
Oct 15th, 2024