The ``ext_pillar`` functions **must** now accept a minion ID as the first argument.
This stops the deprecation path started in Salt 0.17.x. Before this minion ID first argument was introduced, the minion ID could be retrieved accessing ``__opts__['id']`` loosing the reference to the master ID initially set in opts.
This is no longer the case, ``__opts__['id']`` will be kept as the master ID.
Fixes#30432Fixes#30444
- Various clean-up of the driver, particularly in the create function.
- Restores cloning functionality, as this was completely broken in 2015.8.3
- Changes the requirement to set a config_id for cloned VMs (not necessary
for clones as the config_id is already set via the to-be-cloned profile)
- Updates docs to use the -F bootstrap script arg in addition to -C when
cloning from a VM that already has salt installed on it.
salt/minion.py
- Do not schedule `__master_alive` on TCP transport. This will
avoid invoking `status.master` on a recurring basis.
- When handling `__master_disconnected` event, there was an extra
unnecessary unpack that was causing an exception. Fixed.
salt/transport/tcp.py
- In `SaltMessageClient`, added a mechanism for both connect and
disconnect callbacks which are optional.
- In `AsyncTCPPubChannel` used the connect and disconnect callbacks
from `SaltMessageClient` to send local events `__master_connected`
and `__master_disconnected` respectively. This obsoletes the need for
scheduling `__master_alive`.
- In `AsyncTCPPubChannel`, on a reconnect (not the first connect),
it will send a `minion_start` / `syndic_start` master event. This is
necessary to inform the master of the reconnect so that a reactor may
take action in case there was an IP address change between the connects.
If there was an IP address change, the presence-change based features will
not work correctly due to the grains containing the old ip address. One
way to force an IP address change is to switch ethernet ports on a
multi-NIC minion. This is also useful if the salt-master restarts (but
not the salt-minion), the restarted salt-master will now get the event.
Signed-off-by: Sergey Kizunov <sergey.kizunov@ni.com>