When a minion starts up it sends a notification on the event bus with a tag that looks like this: salt/minion/<minion_id>/start. For historical reasons the minion also sends a similar event with an event tag like this: minion_start. This duplication can cause a lot of clutter on the event bus when there are many minions. Set enable_legacy_startup_events: False in the minion config to ensure only the salt/minion/<minion_id>/start events are sent.
The new enable_legacy_startup_events
minion config option
defaults to True
, but will be set to default to False
beginning with
the Neon release of Salt.
The Salt Syndic currently sends an old style syndic_start event as well. The
syndic respects enable_legacy_startup_events
as well.
The napalm_network
module had the following changes:
Support for the template_path
has been removed in the load_template
function. This is because support for NAPALM native templates has been
dropped.
The trafficserver
module had the following changes:
Support for the match_var
function was removed. Please use the
match_metric
function instead.
Support for the read_var
function was removed. Please use the
read_config
function instead.
Support for the set_var
function was removed. Please use the
set_config
function instead.
The win_update
module has been removed. It has been replaced by win_wua
module.
The win_wua
module had the following changes:
Support for the download_update
function has been removed. Please use the
download
function instead.
Support for the download_updates
function has been removed. Please use the
download
function instead.
Support for the install_update
function has been removed. Please use the
install
function instead.
Support for the install_updates
function has been removed. Please use the
install
function instead.
Support for the list_update
function has been removed. Please use the
get
function instead.
Support for the list_updates
function has been removed. Please use the
list
function instead.
The vault
pillar had the following changes:
Support for the profile
argument was removed. Any options passed up until
and following the first path=
are discarded.
The cache
roster had the following changes:
Support for roster_order
as a list or tuple has been removed. As of the
Fluorine
release, roster_order
must be a dictionary.
The roster_order
option now includes IPv6 in addition to IPv4 for the
private
, public
, global
or local
settings. The syntax for these
settings has changed to ipv4-*
or ipv6-*
, respectively.
The docker
state has been removed. The following functions should be used
instead.
The docker.running
function was removed. Please update applicable SLS files
to use the docker_container.running
function instead.
The docker.stopped
function was removed. Please update applicable SLS files
to use the docker_container.stopped
function instead.
The docker.absent
function was removed. Please update applicable SLS files
to use the docker_container.absent
function instead.
The docker.absent
function was removed. Please update applicable SLS files
to use the docker_container.absent
function instead.
The docker.network_present
function was removed. Please update applicable
SLS files to use the docker_network.present
function instead.
The docker.network_absent
function was removed. Please update applicable
SLS files to use the docker_network.absent
function instead.
The docker.image_present
function was removed. Please update applicable SLS
files to use the docker_image.present
function instead.
The docker.image_absent
function was removed. Please update applicable SLS
files to use the docker_image.absent
function instead.
The docker.volume_present
function was removed. Please update applicable SLS
files to use the docker_volume.present
function instead.
The docker.volume_absent
function was removed. Please update applicable SLS
files to use the docker_volume.absent
function instead.
The docker_network
state had the following changes:
Support for the driver
option has been removed from the absent
function.
This option had no functionality in docker_network.absent
.
The git
state had the following changes:
Support for the ref
option in the detached
state has been removed.
Please use the rev
option instead.
The k8s
state has been removed. The following functions should be used
instead:
The k8s.label_absent
function was removed. Please update applicable SLS
files to use the kubernetes.node_label_absent
function instead.
The k8s.label_present
function was removed. Please updated applicable SLS
files to use the kubernetes.node_label_present
function instead.
The k8s.label_folder_absent
function was removed. Please update applicable
SLS files to use the kubernetes.node_label_folder_absent
function instead.
The netconfig
state had the following changes:
Support for the template_path
option in the managed
state has been
removed. This is because support for NAPALM native templates has been dropped.
The trafficserver
state had the following changes:
Support for the set_var
function was removed. Please use the config
function instead.
The win_update
state has been removed. Please use the win_wua
state instead.
SaltSSH now works across different major Python versions. Python 2.7 ~ Python 3.x are now supported transparently. Requirement is, however, that the SaltMaster should have installed Salt, including all related dependencies for Python 2 and Python 3. Everything needs to be importable from the respective Python environment.
SaltSSH can bundle up an arbitrary version of Salt. If there would be an old box for example, running an outdated and unsupported Python 2.6, it is still possible from a SaltMaster with Python 3.5 or newer to access it. This feature requires an additional configuration in /etc/salt/master as follows:
ssh_ext_alternatives:
2016.3: # Namespace, can be actually anything.
py-version: [2, 6] # Constraint to specific interpreter version
path: /opt/2016.3/salt # Main Salt installation
dependencies: # List of dependencies and their installation paths
jinja2: /opt/jinja2
yaml: /opt/yaml
tornado: /opt/tornado
msgpack: /opt/msgpack
certifi: /opt/certifi
singledispatch: /opt/singledispatch.py
singledispatch_helpers: /opt/singledispatch_helpers.py
markupsafe: /opt/markupsafe
backports_abc: /opt/backports_abc.py
It is also possible to use several alternative versions of Salt. You can for instance generate a minimal tarball using runners and include that. But this is only possible, when such specific Salt version is also available on the Master machine, although does not need to be directly installed together with the older Python interpreter.