Terminology

Grains

Grains provide information about the hardware of a client. This includes the operating system, IP addresses, network interfaces, and memory.

When you run a Salt command any modules and functions are run locally from the system being called.

Salt modules are stored on clients and the Uyuni Server within the /usr/lib/python2.7/site-packages/salt/ directory.

List all available grains with the grains.ls function:

salt '*' grains.ls

You can also use grains.ls to list collected grain system data:

salt '*' grains.items

For more information on grains, see https://docs.saltstack.com/en/latest/topics/grains/.

States

States are configuration templates. They allow you to describe what each of your systems should look like, including the applications and services that are installed and running.

States are written, and then applied to the target systems. This automates the process of bringing a large number of systems into a known state, and then maintaining them.

Do not update the salt package using states. Update all other system packages using states. You can then update the salt package from the Uyuni Web UI as a separate step.

Pillar

Pillars are created on the Uyuni Server. They contain information about a client or group of clients.

Pillars allow you to send confidential information to a targeted client or group of clients. Pillars are useful for sensitive data, configuration of clients, variables, and any arbitrary data.

Beacons

Beacons allow you to use the Salt event system to monitor non-Salt processes. Clients can use beacons to connect to various system processes for constant monitoring. When a monitored activity occurs, an event is sent on the Salt event bus that can then trigger a reactor.

To use beacons on SUSE Linux Enterprise Server Salt clients, install the python-pyinotify package. For Red Hat Enterprise Linux systems, install the python-inotify package.

For more information on beacons, see https://docs.saltstack.com/en/latest/topics/beacons/

Broker

The Salt broker allows clients to pass commands to each other.

The Salt broker acts like a switch, therefore peer communication will only work for clients on the same network, or connected to the same proxy.

For more information on Salt and peer communication, see https://docs.saltstack.com/en/latest/ref/peer.html.

Environments

Uyuni implements Salt with a single environment. Multiple Salt environments are not supported.