salt salt-docs: updated to 3004
SALT 3004 RELEASE NOTES - CODENAME SILICON
NEW FEATURES
TRANSACTIONAL SYSTEM SUPPORT (MICROOS)
A transactional system, like MicroOS, can present some challenges when the user decided to manage it via Salt.
MicroOS provide a read-only rootfs and a tool, transactional-update, that takes care of the management of the system (updating, upgrading, installation or reboot, among others) in an atomic way.
Atomicity is the main feature of MicroOS, and to guarantee this property, this model leverages snapper, zypper, btrfs and overlayfs to create snapshots that will be updated independently of the currently running system, and that are activated after the reboot. This implies, for example, that some changes made on the system are not visible until the next reboot, as those changes are living in a different snapshot of the file system.
Salt 3004 (Silicon) support this type of system via two new modules (transactional_update and rebootmgr) and a new executor (transactional_update).
The new modules will provide all the low level API for interacting with transactional systems, like defining a mantenance window where the system is free to reboot and activate the new state, or install new software in a new transaction. It will also provide hight level of abstractions that will allows us to execute Salt module functions or applying states inside new transactions.
The execution module will help us to treat the transactional system transparently (like the traditional ones), using a mechanism that will delegate some Salt modules execution into the new transactional_update module.
REMOVED
Removed the deprecated glance state and execution module in favor of the glance_image state module and the glanceng execution module.
Removed support for Ubuntu 16.04
Removed the deprecated support for gid_from_name from the user state module
Removed deprecated virt.migrate_non_shared, virt.migrate_non_shared_inc, ssh from virt.migrate, and python2/python3 args from salt.utils.thin.gen_min and .gen_thin
DEPRECATED
The _ext_nodes alias to the master_tops function was added back in 3004 to maintain backwards compatibility with older supported versions. This alias will now be removed in 3006. This change will break Master and Minion communication compatibility with Salt minions running versions 3003 and lower.
utils/boto3_elasticsearch is no longer needed
Changed "manufacture" grain to "manufacturer" for Solaris on SPARC to unify the name across all platforms. The old "manufacture" grain is now deprecated and will be removed in Sulfur
Deprecate salt.payload.Serial
CHANGED
Changed nginx.version to return version without nginx/ prefix.
Updated Slack webhook returner to support event returns on salt-master
Parsing Epoch out of version during pkg remove, since yum can't handle that in all of the cases.
Add extra onfail req check in the state engine to allow onfail to be used with onchanges and other reqs in the same state
Changed the default character set used by utils.pycrypto.secure_password() to include symbols and implemented arguments to control the used character set.
FIXED
Set default 'bootstrap_delay' to 0
Fixed issue where multiple args to netapi were not preserved
Handle all repo formats in the aptpkg module.
Do not break master_tops for minion with version lower to 3003 This is going to be removed in Salt 3006 (Sulfur)
Reverting changes in 60150. Updating installed and removed functions to return changes when test=True.
Handle signals and properly exit, instead of raising exceptions.
Redirect imports of salt.ext.six to six
Surface strerror to user state instead of returning false
Fixing _get_envs() to preserve the order of pillar_roots. _get_envs() returned pillar_roots in a non-deterministic order.
Fixes salt-cloud KeyError that occurs when there exists any subnets with no tags when profiles use subnetname
Fixes postgres_local_cache by removing duplicate unicode encoding.
Fixing the state aggregation system to properly handle requisities. Fixing pkg state to exclude packages from aggregation if the hold attribute is in the state.
fix issue that allows case sensitive files to be carried through
Allow GCE Salt Cloud to use previously created IP Addresses.
Fixing rabbitmq.list_user_permissions to ensure we are returning a permission list with three elements even when some values are empty.
Periodically restart the fileserver update process to avoid leaks
Fix default value to dictionary for mine_function
Allow user.present to work on Alpine Linux by fixing linux_shadow.info
Ensure that zypper is called with only one --no-refresh parameter
Fixed fileclient cachedir path switching from master to minion due to incorrect MasterMinion configuration
Fixed the container detection inside virtual machines
Fix invalid dnf command when obsoletes=True in pkg.update function
Jinja renderer resolves wrong relative paths when importing subdirectories
Fixed bug 55262 where salt.modules.iptables would call cmd.run and receive and interpret interspersed stdout and stderr output from subprocesses.
Updated pcs support to handle auth and setup for new syntax supporting version 0.10
Reinstate ignore_cidr option in salt-cloud openstack driver
Fix for network.wolmatch runner displaying 'invalid arguments' error with valid arguements
Fixed bug 57490, which prevented package installation for Open Euler and Issabel PBX. Both Open Euler and Issabel PBX use Yum for package management, added them to yumpkg.py.
Better handling of bad RSA public keys from minions
Fixing various functions in the file state module that use user.info to get group information, certain hosts particularly proxy minions do not have the user.info function avaiable.
Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules
Fix --subset command line option, and support old 'sub' parameter name in cmd_subset for backwards compatibility
When calling salt.utils.http.query with a HEAD method to check for the existence of a source ensure that decode_body is False, so the file is not downloaded into memory when we don't need the contents.
Update the runas user on freebsd for postgres versions >9.5, since freebsd will be removing the package on 2021-05-13.
Fix pip module linked requirements file parsing
Fix incorrect hostname quoting in /etc/sysconfig/networking on Red Hat family OS.
Fix Xen DomU virt detection in grains for long running machines.
add encoding when windows encoding is not defaulting to utf8
Fix "aptpkg.normalize_name" in case the arch is "all" for DEB packages
Astra Linux now considered a Debian family distro
Reworking the mysql module and state so that passwordless does not try to use unix_socket until unix_socket is set to True.
Fixed the zabbix module to read the connection data from pillar.
Fix crash on "yumpkg" execution module when unexpected output at listing patches
Remove return that had left over py2 code from win_path.py
Don't create spicevmc channel for Xen virtual machines
Fix win_servermanager.install so it will reboot when restart=True is passed
Clear the cached network interface grains during minion init and grains refresh
Normalized grain output for LXC containers
Fix typo in 'salt/states/cmd.py' to use "comment" instead of "commnd".
add aliyun linux support and set alinux as redhat family
Don't fail updating network without netmask ip attribute
Fixed using reserved keyword 'set' as function argument in modules/ipset.py
Return empty changes when nothing has been done in virt.defined and virt.running states
Import salt.utils.azurearm instead of using __utils__ from loader in azure cloud. This fixes an issue where __utils__ would become unavailable when we are using the ThreadPool in azurearm.
Fix an issue with the LGPO module when the gpt.ini file contains unix style line endings (/n). This was happening on a Windows Server 2019 instance created in Google Cloud Platform (GCP).
The ansiblegate module now correctly passes keyword arguments to Ansible module calls
Make sure cmdmod._log_cmd handles tuples properly
Updating the add, delete, modify, enable_job, and disable_job functions to return appropriate changes.
Apply pre-commit changes to entire codebase.
Fix Hetzner cloud driver does not recognize machines when rolling out a map
Update Windows build deps & DLLs, Use Python 3.8, libsodium.dll 1.0.18, OpenSSL dlls to 1.1.1k
Salt api verifies proper log file path when providing '--log-file' from the cli
Detect Mendel Linux as Debian
Fixed compilation of requisite_ins by also checking state type along with name/id
Fix xen._get_vm() to not break silently when a VM and a template on XenServer have the same name.
Added missing space for nftables.build_rule when using saddr or daddr.
Add back support to load old entrypoints by iterating instead of type checking
Fixed interrupting salt-call in a pdb session.
Validate we can import map files in states
Update alter_db to return True or False depending on the success of failure of the alter. Update grant_exists to only use the full list of available privileges when the grant is on the global level, eg. datbase is ".".
Fixed firewalld.list_zones when any "rich rules" is set
IPCMessageSubscriber objects expose their connect method as a corotine so they can be wrapped by SyncWrapper.
Allow for Napalm dependency netmiko_mod to load correctly when used by Napalm with Cisco IOS
Ensure proper access to the created temporary file when runas is passed to cmd.exec_code_all
Fixed an IndexError in pkgng.latest_version when querying an unknown package.
Fixed pkgng.latest_version when querying by origin (e.g. "shells/bash").
Gracefuly handle errors in virt.vm_info
The LGPO Module now uses "Success and Failure" for normal audit settings and advanced audit settings
Fixing tests/pytests/unit/utils/scheduler/test_eval.py tests so the sleep happens before the status, so the job is given time before we check it.
Update the external ipaddress to the latest 3.9.5 version which has some security fixes. Updating the compat.p to use the vendored version if the python version is below 3.9.5 and only run the test_ipaddress.py tests if below 3.9.5.
Fixed ValueError exception in state.show_state_usage
Redact the username and password when something goes wrong when using an HTTP source and we raise an exception.
Inject the Ansible functions into Salt's ansiblegate module which was broken on the 3001 release.
Figure out the available Python version inside containers when executing "dockermod.call" function
Handle IPv6 route types such as anycast, multicast, etc when returned from IPv6 route table queries
Move the commonly used code that converts a list to a dictionary into salt.utils.beacons. Fixing inotify beacon close function to ensure the configuration is converted from the provided list format into a dictionary.
Set name of engine subprocesses
Properly discover block devices path in virt.running
Avoid exceptions when handling some exception cases.
Fixed faulty error message in npm.installed state.
Port option reinstated for Junos Proxy (accidentally removed)
Now hosts.rm_host can remove entries from /etc/hosts when this file have inline comments.
Fixes issue where the full same name is not used when making rights assignments with group policy
Fixed zabbix_host.present to not overwrite inventory_mode to "manual" everytime inventory is updated.
Allowed zabbix_host.present to do partial updates of inventory, also don't erase everything if inventory is missing in state definition.
Fixing the mysql_cache module to handle binary inserting binary data into the database. Initially adding tests.
Fixed host_inventory_get to not throw an exception if host does not exist
Check for /dev/kvm to detect KVM hypervisor.
Fixing file.accumulated handling of dependencies when the state_id is used instead of {function: state_id} format.
Adding the ability for yumpkg.remove to handle package names with widdcards.
Pass emulator path to get guest capabilities from libvirt
virt.get_disks: properly report qemu-img errors
Make all platforms have psutils. This prevents a minion from starting if an instance is all ready running.
Ignore configuration for 'enable_fqdns_grains' for AIX, Solaris and Juniper, assume False
Remove check for TIAMAT_BUILD enforcing USE_STATIC_REQUIREMENTS, this is now controled by Tiamat v7.10.1 and above
Have the beacon call run through a try...except, catching any errors, logging and firing an event that includes the error. Fixing the swapusage beacon to ensure value is a string before we attempt to filter out the %.
Refactor loader into logical sub-modules
Clean up references to ZMQDefaultLoop
change dep warn from Silicon to Phosphorus for the cmd,show,system_info and add_config functions in the nxos module.
Fix bug 60602 where the hetzner cloud provider isn't recognized correctly
Fix the pwd.getpwnam caching issue on macOS user module
Fixing beacons that can include a value in their configuration that may or may not included a percentage. We want to handle the situation where the percentage sign is not included and the value is not handled as a string.
Fix RuntimeError in process manager
Ensure all data that is being passed along to LDAP is in an OrderedSet and contains bytes.
Update the AWS API version so VMs spun up by salt-cloud where the VPC has it enabled to assign ipv6 addresses by default, actually get ipv6 addresses assigned by default.
Remove un-needed singletons from tranports
ADDED
Add windows support for file.patch with patch.exe from git for windows optional packages
Added ability to pass exclude kwarg to salt.state inside orchestrate.
Added success_stdout and success_stderr arguments to cmd.run, to override default return code behavior.
The netbox pillar now been enhanced to add support for querying virtual machines (in addition to devices), as well as minion interfaces and associated IP addresses.
Add support for transactional systems, like openSUSE MicroOS
Added namespace headers to allow use of namespace from config to communicate with Vault Enterprise namespaces
boto3mod unit tests
New decorators allow_one_of() and require_one_of()
Added nosync switch to disable initial raid synchronization
Expanded the documentation for the netbox pillar.
Rocky Linux has been added to the RedHat os_family.
Add "poudriere -i -j jail_name" option to list jail information for poudriere
Added the grains.uuid on Windows platform
Add a salt.util.platform check to detect the AArch64 64-bit extension of the ARM architecture.
Adding support for Deltaproxy controlled proxy minions into Salt Open.
Added functions to slsutil execution module to test if files exist in the state tree Added funtion to slsutil execution module to search for a file by walking up the state tree
Allow module_refresh to also refresh available beacons, eg. following a Python library being installed and "refresh_modules" being passed as an argument in a state.
Add the detect_remote_minions and remote_minions_port options to allow the master to detect remote ports for connected minions. This will allow users to detect Heist-Salt minions the master is connected to over port 22 by default.
Add the python rpm-vercmp library in the rpm_lowpkg.py module.
Allow a user to use the aptpkg.py module without installing python-apt.
2021-11-14 21:01:17 +01:00
|
|
|
# $NetBSD: Makefile,v 1.74 2021/11/14 20:01:17 adam Exp $
|
2012-01-21 21:26:58 +01:00
|
|
|
|
salt salt-docs: updated to 3004
SALT 3004 RELEASE NOTES - CODENAME SILICON
NEW FEATURES
TRANSACTIONAL SYSTEM SUPPORT (MICROOS)
A transactional system, like MicroOS, can present some challenges when the user decided to manage it via Salt.
MicroOS provide a read-only rootfs and a tool, transactional-update, that takes care of the management of the system (updating, upgrading, installation or reboot, among others) in an atomic way.
Atomicity is the main feature of MicroOS, and to guarantee this property, this model leverages snapper, zypper, btrfs and overlayfs to create snapshots that will be updated independently of the currently running system, and that are activated after the reboot. This implies, for example, that some changes made on the system are not visible until the next reboot, as those changes are living in a different snapshot of the file system.
Salt 3004 (Silicon) support this type of system via two new modules (transactional_update and rebootmgr) and a new executor (transactional_update).
The new modules will provide all the low level API for interacting with transactional systems, like defining a mantenance window where the system is free to reboot and activate the new state, or install new software in a new transaction. It will also provide hight level of abstractions that will allows us to execute Salt module functions or applying states inside new transactions.
The execution module will help us to treat the transactional system transparently (like the traditional ones), using a mechanism that will delegate some Salt modules execution into the new transactional_update module.
REMOVED
Removed the deprecated glance state and execution module in favor of the glance_image state module and the glanceng execution module.
Removed support for Ubuntu 16.04
Removed the deprecated support for gid_from_name from the user state module
Removed deprecated virt.migrate_non_shared, virt.migrate_non_shared_inc, ssh from virt.migrate, and python2/python3 args from salt.utils.thin.gen_min and .gen_thin
DEPRECATED
The _ext_nodes alias to the master_tops function was added back in 3004 to maintain backwards compatibility with older supported versions. This alias will now be removed in 3006. This change will break Master and Minion communication compatibility with Salt minions running versions 3003 and lower.
utils/boto3_elasticsearch is no longer needed
Changed "manufacture" grain to "manufacturer" for Solaris on SPARC to unify the name across all platforms. The old "manufacture" grain is now deprecated and will be removed in Sulfur
Deprecate salt.payload.Serial
CHANGED
Changed nginx.version to return version without nginx/ prefix.
Updated Slack webhook returner to support event returns on salt-master
Parsing Epoch out of version during pkg remove, since yum can't handle that in all of the cases.
Add extra onfail req check in the state engine to allow onfail to be used with onchanges and other reqs in the same state
Changed the default character set used by utils.pycrypto.secure_password() to include symbols and implemented arguments to control the used character set.
FIXED
Set default 'bootstrap_delay' to 0
Fixed issue where multiple args to netapi were not preserved
Handle all repo formats in the aptpkg module.
Do not break master_tops for minion with version lower to 3003 This is going to be removed in Salt 3006 (Sulfur)
Reverting changes in 60150. Updating installed and removed functions to return changes when test=True.
Handle signals and properly exit, instead of raising exceptions.
Redirect imports of salt.ext.six to six
Surface strerror to user state instead of returning false
Fixing _get_envs() to preserve the order of pillar_roots. _get_envs() returned pillar_roots in a non-deterministic order.
Fixes salt-cloud KeyError that occurs when there exists any subnets with no tags when profiles use subnetname
Fixes postgres_local_cache by removing duplicate unicode encoding.
Fixing the state aggregation system to properly handle requisities. Fixing pkg state to exclude packages from aggregation if the hold attribute is in the state.
fix issue that allows case sensitive files to be carried through
Allow GCE Salt Cloud to use previously created IP Addresses.
Fixing rabbitmq.list_user_permissions to ensure we are returning a permission list with three elements even when some values are empty.
Periodically restart the fileserver update process to avoid leaks
Fix default value to dictionary for mine_function
Allow user.present to work on Alpine Linux by fixing linux_shadow.info
Ensure that zypper is called with only one --no-refresh parameter
Fixed fileclient cachedir path switching from master to minion due to incorrect MasterMinion configuration
Fixed the container detection inside virtual machines
Fix invalid dnf command when obsoletes=True in pkg.update function
Jinja renderer resolves wrong relative paths when importing subdirectories
Fixed bug 55262 where salt.modules.iptables would call cmd.run and receive and interpret interspersed stdout and stderr output from subprocesses.
Updated pcs support to handle auth and setup for new syntax supporting version 0.10
Reinstate ignore_cidr option in salt-cloud openstack driver
Fix for network.wolmatch runner displaying 'invalid arguments' error with valid arguements
Fixed bug 57490, which prevented package installation for Open Euler and Issabel PBX. Both Open Euler and Issabel PBX use Yum for package management, added them to yumpkg.py.
Better handling of bad RSA public keys from minions
Fixing various functions in the file state module that use user.info to get group information, certain hosts particularly proxy minions do not have the user.info function avaiable.
Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules
Fix --subset command line option, and support old 'sub' parameter name in cmd_subset for backwards compatibility
When calling salt.utils.http.query with a HEAD method to check for the existence of a source ensure that decode_body is False, so the file is not downloaded into memory when we don't need the contents.
Update the runas user on freebsd for postgres versions >9.5, since freebsd will be removing the package on 2021-05-13.
Fix pip module linked requirements file parsing
Fix incorrect hostname quoting in /etc/sysconfig/networking on Red Hat family OS.
Fix Xen DomU virt detection in grains for long running machines.
add encoding when windows encoding is not defaulting to utf8
Fix "aptpkg.normalize_name" in case the arch is "all" for DEB packages
Astra Linux now considered a Debian family distro
Reworking the mysql module and state so that passwordless does not try to use unix_socket until unix_socket is set to True.
Fixed the zabbix module to read the connection data from pillar.
Fix crash on "yumpkg" execution module when unexpected output at listing patches
Remove return that had left over py2 code from win_path.py
Don't create spicevmc channel for Xen virtual machines
Fix win_servermanager.install so it will reboot when restart=True is passed
Clear the cached network interface grains during minion init and grains refresh
Normalized grain output for LXC containers
Fix typo in 'salt/states/cmd.py' to use "comment" instead of "commnd".
add aliyun linux support and set alinux as redhat family
Don't fail updating network without netmask ip attribute
Fixed using reserved keyword 'set' as function argument in modules/ipset.py
Return empty changes when nothing has been done in virt.defined and virt.running states
Import salt.utils.azurearm instead of using __utils__ from loader in azure cloud. This fixes an issue where __utils__ would become unavailable when we are using the ThreadPool in azurearm.
Fix an issue with the LGPO module when the gpt.ini file contains unix style line endings (/n). This was happening on a Windows Server 2019 instance created in Google Cloud Platform (GCP).
The ansiblegate module now correctly passes keyword arguments to Ansible module calls
Make sure cmdmod._log_cmd handles tuples properly
Updating the add, delete, modify, enable_job, and disable_job functions to return appropriate changes.
Apply pre-commit changes to entire codebase.
Fix Hetzner cloud driver does not recognize machines when rolling out a map
Update Windows build deps & DLLs, Use Python 3.8, libsodium.dll 1.0.18, OpenSSL dlls to 1.1.1k
Salt api verifies proper log file path when providing '--log-file' from the cli
Detect Mendel Linux as Debian
Fixed compilation of requisite_ins by also checking state type along with name/id
Fix xen._get_vm() to not break silently when a VM and a template on XenServer have the same name.
Added missing space for nftables.build_rule when using saddr or daddr.
Add back support to load old entrypoints by iterating instead of type checking
Fixed interrupting salt-call in a pdb session.
Validate we can import map files in states
Update alter_db to return True or False depending on the success of failure of the alter. Update grant_exists to only use the full list of available privileges when the grant is on the global level, eg. datbase is ".".
Fixed firewalld.list_zones when any "rich rules" is set
IPCMessageSubscriber objects expose their connect method as a corotine so they can be wrapped by SyncWrapper.
Allow for Napalm dependency netmiko_mod to load correctly when used by Napalm with Cisco IOS
Ensure proper access to the created temporary file when runas is passed to cmd.exec_code_all
Fixed an IndexError in pkgng.latest_version when querying an unknown package.
Fixed pkgng.latest_version when querying by origin (e.g. "shells/bash").
Gracefuly handle errors in virt.vm_info
The LGPO Module now uses "Success and Failure" for normal audit settings and advanced audit settings
Fixing tests/pytests/unit/utils/scheduler/test_eval.py tests so the sleep happens before the status, so the job is given time before we check it.
Update the external ipaddress to the latest 3.9.5 version which has some security fixes. Updating the compat.p to use the vendored version if the python version is below 3.9.5 and only run the test_ipaddress.py tests if below 3.9.5.
Fixed ValueError exception in state.show_state_usage
Redact the username and password when something goes wrong when using an HTTP source and we raise an exception.
Inject the Ansible functions into Salt's ansiblegate module which was broken on the 3001 release.
Figure out the available Python version inside containers when executing "dockermod.call" function
Handle IPv6 route types such as anycast, multicast, etc when returned from IPv6 route table queries
Move the commonly used code that converts a list to a dictionary into salt.utils.beacons. Fixing inotify beacon close function to ensure the configuration is converted from the provided list format into a dictionary.
Set name of engine subprocesses
Properly discover block devices path in virt.running
Avoid exceptions when handling some exception cases.
Fixed faulty error message in npm.installed state.
Port option reinstated for Junos Proxy (accidentally removed)
Now hosts.rm_host can remove entries from /etc/hosts when this file have inline comments.
Fixes issue where the full same name is not used when making rights assignments with group policy
Fixed zabbix_host.present to not overwrite inventory_mode to "manual" everytime inventory is updated.
Allowed zabbix_host.present to do partial updates of inventory, also don't erase everything if inventory is missing in state definition.
Fixing the mysql_cache module to handle binary inserting binary data into the database. Initially adding tests.
Fixed host_inventory_get to not throw an exception if host does not exist
Check for /dev/kvm to detect KVM hypervisor.
Fixing file.accumulated handling of dependencies when the state_id is used instead of {function: state_id} format.
Adding the ability for yumpkg.remove to handle package names with widdcards.
Pass emulator path to get guest capabilities from libvirt
virt.get_disks: properly report qemu-img errors
Make all platforms have psutils. This prevents a minion from starting if an instance is all ready running.
Ignore configuration for 'enable_fqdns_grains' for AIX, Solaris and Juniper, assume False
Remove check for TIAMAT_BUILD enforcing USE_STATIC_REQUIREMENTS, this is now controled by Tiamat v7.10.1 and above
Have the beacon call run through a try...except, catching any errors, logging and firing an event that includes the error. Fixing the swapusage beacon to ensure value is a string before we attempt to filter out the %.
Refactor loader into logical sub-modules
Clean up references to ZMQDefaultLoop
change dep warn from Silicon to Phosphorus for the cmd,show,system_info and add_config functions in the nxos module.
Fix bug 60602 where the hetzner cloud provider isn't recognized correctly
Fix the pwd.getpwnam caching issue on macOS user module
Fixing beacons that can include a value in their configuration that may or may not included a percentage. We want to handle the situation where the percentage sign is not included and the value is not handled as a string.
Fix RuntimeError in process manager
Ensure all data that is being passed along to LDAP is in an OrderedSet and contains bytes.
Update the AWS API version so VMs spun up by salt-cloud where the VPC has it enabled to assign ipv6 addresses by default, actually get ipv6 addresses assigned by default.
Remove un-needed singletons from tranports
ADDED
Add windows support for file.patch with patch.exe from git for windows optional packages
Added ability to pass exclude kwarg to salt.state inside orchestrate.
Added success_stdout and success_stderr arguments to cmd.run, to override default return code behavior.
The netbox pillar now been enhanced to add support for querying virtual machines (in addition to devices), as well as minion interfaces and associated IP addresses.
Add support for transactional systems, like openSUSE MicroOS
Added namespace headers to allow use of namespace from config to communicate with Vault Enterprise namespaces
boto3mod unit tests
New decorators allow_one_of() and require_one_of()
Added nosync switch to disable initial raid synchronization
Expanded the documentation for the netbox pillar.
Rocky Linux has been added to the RedHat os_family.
Add "poudriere -i -j jail_name" option to list jail information for poudriere
Added the grains.uuid on Windows platform
Add a salt.util.platform check to detect the AArch64 64-bit extension of the ARM architecture.
Adding support for Deltaproxy controlled proxy minions into Salt Open.
Added functions to slsutil execution module to test if files exist in the state tree Added funtion to slsutil execution module to search for a file by walking up the state tree
Allow module_refresh to also refresh available beacons, eg. following a Python library being installed and "refresh_modules" being passed as an argument in a state.
Add the detect_remote_minions and remote_minions_port options to allow the master to detect remote ports for connected minions. This will allow users to detect Heist-Salt minions the master is connected to over port 22 by default.
Add the python rpm-vercmp library in the rpm_lowpkg.py module.
Allow a user to use the aptpkg.py module without installing python-apt.
2021-11-14 21:01:17 +01:00
|
|
|
DISTNAME= salt-3004
|
2012-01-21 21:26:58 +01:00
|
|
|
CATEGORIES= sysutils
|
2015-12-11 01:27:06 +01:00
|
|
|
MASTER_SITES= ${MASTER_SITE_PYPI:=s/salt/}
|
2012-01-21 21:26:58 +01:00
|
|
|
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
2012-02-12 14:40:44 +01:00
|
|
|
HOMEPAGE= http://saltstack.org/
|
2012-01-21 21:26:58 +01:00
|
|
|
COMMENT= Remote execution and configuration management system
|
|
|
|
LICENSE= apache-2.0
|
|
|
|
|
salt salt-docs: updated to 3004
SALT 3004 RELEASE NOTES - CODENAME SILICON
NEW FEATURES
TRANSACTIONAL SYSTEM SUPPORT (MICROOS)
A transactional system, like MicroOS, can present some challenges when the user decided to manage it via Salt.
MicroOS provide a read-only rootfs and a tool, transactional-update, that takes care of the management of the system (updating, upgrading, installation or reboot, among others) in an atomic way.
Atomicity is the main feature of MicroOS, and to guarantee this property, this model leverages snapper, zypper, btrfs and overlayfs to create snapshots that will be updated independently of the currently running system, and that are activated after the reboot. This implies, for example, that some changes made on the system are not visible until the next reboot, as those changes are living in a different snapshot of the file system.
Salt 3004 (Silicon) support this type of system via two new modules (transactional_update and rebootmgr) and a new executor (transactional_update).
The new modules will provide all the low level API for interacting with transactional systems, like defining a mantenance window where the system is free to reboot and activate the new state, or install new software in a new transaction. It will also provide hight level of abstractions that will allows us to execute Salt module functions or applying states inside new transactions.
The execution module will help us to treat the transactional system transparently (like the traditional ones), using a mechanism that will delegate some Salt modules execution into the new transactional_update module.
REMOVED
Removed the deprecated glance state and execution module in favor of the glance_image state module and the glanceng execution module.
Removed support for Ubuntu 16.04
Removed the deprecated support for gid_from_name from the user state module
Removed deprecated virt.migrate_non_shared, virt.migrate_non_shared_inc, ssh from virt.migrate, and python2/python3 args from salt.utils.thin.gen_min and .gen_thin
DEPRECATED
The _ext_nodes alias to the master_tops function was added back in 3004 to maintain backwards compatibility with older supported versions. This alias will now be removed in 3006. This change will break Master and Minion communication compatibility with Salt minions running versions 3003 and lower.
utils/boto3_elasticsearch is no longer needed
Changed "manufacture" grain to "manufacturer" for Solaris on SPARC to unify the name across all platforms. The old "manufacture" grain is now deprecated and will be removed in Sulfur
Deprecate salt.payload.Serial
CHANGED
Changed nginx.version to return version without nginx/ prefix.
Updated Slack webhook returner to support event returns on salt-master
Parsing Epoch out of version during pkg remove, since yum can't handle that in all of the cases.
Add extra onfail req check in the state engine to allow onfail to be used with onchanges and other reqs in the same state
Changed the default character set used by utils.pycrypto.secure_password() to include symbols and implemented arguments to control the used character set.
FIXED
Set default 'bootstrap_delay' to 0
Fixed issue where multiple args to netapi were not preserved
Handle all repo formats in the aptpkg module.
Do not break master_tops for minion with version lower to 3003 This is going to be removed in Salt 3006 (Sulfur)
Reverting changes in 60150. Updating installed and removed functions to return changes when test=True.
Handle signals and properly exit, instead of raising exceptions.
Redirect imports of salt.ext.six to six
Surface strerror to user state instead of returning false
Fixing _get_envs() to preserve the order of pillar_roots. _get_envs() returned pillar_roots in a non-deterministic order.
Fixes salt-cloud KeyError that occurs when there exists any subnets with no tags when profiles use subnetname
Fixes postgres_local_cache by removing duplicate unicode encoding.
Fixing the state aggregation system to properly handle requisities. Fixing pkg state to exclude packages from aggregation if the hold attribute is in the state.
fix issue that allows case sensitive files to be carried through
Allow GCE Salt Cloud to use previously created IP Addresses.
Fixing rabbitmq.list_user_permissions to ensure we are returning a permission list with three elements even when some values are empty.
Periodically restart the fileserver update process to avoid leaks
Fix default value to dictionary for mine_function
Allow user.present to work on Alpine Linux by fixing linux_shadow.info
Ensure that zypper is called with only one --no-refresh parameter
Fixed fileclient cachedir path switching from master to minion due to incorrect MasterMinion configuration
Fixed the container detection inside virtual machines
Fix invalid dnf command when obsoletes=True in pkg.update function
Jinja renderer resolves wrong relative paths when importing subdirectories
Fixed bug 55262 where salt.modules.iptables would call cmd.run and receive and interpret interspersed stdout and stderr output from subprocesses.
Updated pcs support to handle auth and setup for new syntax supporting version 0.10
Reinstate ignore_cidr option in salt-cloud openstack driver
Fix for network.wolmatch runner displaying 'invalid arguments' error with valid arguements
Fixed bug 57490, which prevented package installation for Open Euler and Issabel PBX. Both Open Euler and Issabel PBX use Yum for package management, added them to yumpkg.py.
Better handling of bad RSA public keys from minions
Fixing various functions in the file state module that use user.info to get group information, certain hosts particularly proxy minions do not have the user.info function avaiable.
Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules
Fix --subset command line option, and support old 'sub' parameter name in cmd_subset for backwards compatibility
When calling salt.utils.http.query with a HEAD method to check for the existence of a source ensure that decode_body is False, so the file is not downloaded into memory when we don't need the contents.
Update the runas user on freebsd for postgres versions >9.5, since freebsd will be removing the package on 2021-05-13.
Fix pip module linked requirements file parsing
Fix incorrect hostname quoting in /etc/sysconfig/networking on Red Hat family OS.
Fix Xen DomU virt detection in grains for long running machines.
add encoding when windows encoding is not defaulting to utf8
Fix "aptpkg.normalize_name" in case the arch is "all" for DEB packages
Astra Linux now considered a Debian family distro
Reworking the mysql module and state so that passwordless does not try to use unix_socket until unix_socket is set to True.
Fixed the zabbix module to read the connection data from pillar.
Fix crash on "yumpkg" execution module when unexpected output at listing patches
Remove return that had left over py2 code from win_path.py
Don't create spicevmc channel for Xen virtual machines
Fix win_servermanager.install so it will reboot when restart=True is passed
Clear the cached network interface grains during minion init and grains refresh
Normalized grain output for LXC containers
Fix typo in 'salt/states/cmd.py' to use "comment" instead of "commnd".
add aliyun linux support and set alinux as redhat family
Don't fail updating network without netmask ip attribute
Fixed using reserved keyword 'set' as function argument in modules/ipset.py
Return empty changes when nothing has been done in virt.defined and virt.running states
Import salt.utils.azurearm instead of using __utils__ from loader in azure cloud. This fixes an issue where __utils__ would become unavailable when we are using the ThreadPool in azurearm.
Fix an issue with the LGPO module when the gpt.ini file contains unix style line endings (/n). This was happening on a Windows Server 2019 instance created in Google Cloud Platform (GCP).
The ansiblegate module now correctly passes keyword arguments to Ansible module calls
Make sure cmdmod._log_cmd handles tuples properly
Updating the add, delete, modify, enable_job, and disable_job functions to return appropriate changes.
Apply pre-commit changes to entire codebase.
Fix Hetzner cloud driver does not recognize machines when rolling out a map
Update Windows build deps & DLLs, Use Python 3.8, libsodium.dll 1.0.18, OpenSSL dlls to 1.1.1k
Salt api verifies proper log file path when providing '--log-file' from the cli
Detect Mendel Linux as Debian
Fixed compilation of requisite_ins by also checking state type along with name/id
Fix xen._get_vm() to not break silently when a VM and a template on XenServer have the same name.
Added missing space for nftables.build_rule when using saddr or daddr.
Add back support to load old entrypoints by iterating instead of type checking
Fixed interrupting salt-call in a pdb session.
Validate we can import map files in states
Update alter_db to return True or False depending on the success of failure of the alter. Update grant_exists to only use the full list of available privileges when the grant is on the global level, eg. datbase is ".".
Fixed firewalld.list_zones when any "rich rules" is set
IPCMessageSubscriber objects expose their connect method as a corotine so they can be wrapped by SyncWrapper.
Allow for Napalm dependency netmiko_mod to load correctly when used by Napalm with Cisco IOS
Ensure proper access to the created temporary file when runas is passed to cmd.exec_code_all
Fixed an IndexError in pkgng.latest_version when querying an unknown package.
Fixed pkgng.latest_version when querying by origin (e.g. "shells/bash").
Gracefuly handle errors in virt.vm_info
The LGPO Module now uses "Success and Failure" for normal audit settings and advanced audit settings
Fixing tests/pytests/unit/utils/scheduler/test_eval.py tests so the sleep happens before the status, so the job is given time before we check it.
Update the external ipaddress to the latest 3.9.5 version which has some security fixes. Updating the compat.p to use the vendored version if the python version is below 3.9.5 and only run the test_ipaddress.py tests if below 3.9.5.
Fixed ValueError exception in state.show_state_usage
Redact the username and password when something goes wrong when using an HTTP source and we raise an exception.
Inject the Ansible functions into Salt's ansiblegate module which was broken on the 3001 release.
Figure out the available Python version inside containers when executing "dockermod.call" function
Handle IPv6 route types such as anycast, multicast, etc when returned from IPv6 route table queries
Move the commonly used code that converts a list to a dictionary into salt.utils.beacons. Fixing inotify beacon close function to ensure the configuration is converted from the provided list format into a dictionary.
Set name of engine subprocesses
Properly discover block devices path in virt.running
Avoid exceptions when handling some exception cases.
Fixed faulty error message in npm.installed state.
Port option reinstated for Junos Proxy (accidentally removed)
Now hosts.rm_host can remove entries from /etc/hosts when this file have inline comments.
Fixes issue where the full same name is not used when making rights assignments with group policy
Fixed zabbix_host.present to not overwrite inventory_mode to "manual" everytime inventory is updated.
Allowed zabbix_host.present to do partial updates of inventory, also don't erase everything if inventory is missing in state definition.
Fixing the mysql_cache module to handle binary inserting binary data into the database. Initially adding tests.
Fixed host_inventory_get to not throw an exception if host does not exist
Check for /dev/kvm to detect KVM hypervisor.
Fixing file.accumulated handling of dependencies when the state_id is used instead of {function: state_id} format.
Adding the ability for yumpkg.remove to handle package names with widdcards.
Pass emulator path to get guest capabilities from libvirt
virt.get_disks: properly report qemu-img errors
Make all platforms have psutils. This prevents a minion from starting if an instance is all ready running.
Ignore configuration for 'enable_fqdns_grains' for AIX, Solaris and Juniper, assume False
Remove check for TIAMAT_BUILD enforcing USE_STATIC_REQUIREMENTS, this is now controled by Tiamat v7.10.1 and above
Have the beacon call run through a try...except, catching any errors, logging and firing an event that includes the error. Fixing the swapusage beacon to ensure value is a string before we attempt to filter out the %.
Refactor loader into logical sub-modules
Clean up references to ZMQDefaultLoop
change dep warn from Silicon to Phosphorus for the cmd,show,system_info and add_config functions in the nxos module.
Fix bug 60602 where the hetzner cloud provider isn't recognized correctly
Fix the pwd.getpwnam caching issue on macOS user module
Fixing beacons that can include a value in their configuration that may or may not included a percentage. We want to handle the situation where the percentage sign is not included and the value is not handled as a string.
Fix RuntimeError in process manager
Ensure all data that is being passed along to LDAP is in an OrderedSet and contains bytes.
Update the AWS API version so VMs spun up by salt-cloud where the VPC has it enabled to assign ipv6 addresses by default, actually get ipv6 addresses assigned by default.
Remove un-needed singletons from tranports
ADDED
Add windows support for file.patch with patch.exe from git for windows optional packages
Added ability to pass exclude kwarg to salt.state inside orchestrate.
Added success_stdout and success_stderr arguments to cmd.run, to override default return code behavior.
The netbox pillar now been enhanced to add support for querying virtual machines (in addition to devices), as well as minion interfaces and associated IP addresses.
Add support for transactional systems, like openSUSE MicroOS
Added namespace headers to allow use of namespace from config to communicate with Vault Enterprise namespaces
boto3mod unit tests
New decorators allow_one_of() and require_one_of()
Added nosync switch to disable initial raid synchronization
Expanded the documentation for the netbox pillar.
Rocky Linux has been added to the RedHat os_family.
Add "poudriere -i -j jail_name" option to list jail information for poudriere
Added the grains.uuid on Windows platform
Add a salt.util.platform check to detect the AArch64 64-bit extension of the ARM architecture.
Adding support for Deltaproxy controlled proxy minions into Salt Open.
Added functions to slsutil execution module to test if files exist in the state tree Added funtion to slsutil execution module to search for a file by walking up the state tree
Allow module_refresh to also refresh available beacons, eg. following a Python library being installed and "refresh_modules" being passed as an argument in a state.
Add the detect_remote_minions and remote_minions_port options to allow the master to detect remote ports for connected minions. This will allow users to detect Heist-Salt minions the master is connected to over port 22 by default.
Add the python rpm-vercmp library in the rpm_lowpkg.py module.
Allow a user to use the aptpkg.py module without installing python-apt.
2021-11-14 21:01:17 +01:00
|
|
|
DEPENDS+= ${PYPKGPREFIX}-cryptodome>=3.9.8:../../security/py-cryptodome
|
|
|
|
DEPENDS+= ${PYPKGPREFIX}-distro>=1.0.1:../../devel/py-distro
|
2017-05-20 13:30:27 +02:00
|
|
|
DEPENDS+= ${PYPKGPREFIX}-jinja2-[0-9]*:../../textproc/py-jinja2
|
|
|
|
DEPENDS+= ${PYPKGPREFIX}-markupsafe-[0-9]*:../../textproc/py-markupsafe
|
salt salt-docs: updated to 3004
SALT 3004 RELEASE NOTES - CODENAME SILICON
NEW FEATURES
TRANSACTIONAL SYSTEM SUPPORT (MICROOS)
A transactional system, like MicroOS, can present some challenges when the user decided to manage it via Salt.
MicroOS provide a read-only rootfs and a tool, transactional-update, that takes care of the management of the system (updating, upgrading, installation or reboot, among others) in an atomic way.
Atomicity is the main feature of MicroOS, and to guarantee this property, this model leverages snapper, zypper, btrfs and overlayfs to create snapshots that will be updated independently of the currently running system, and that are activated after the reboot. This implies, for example, that some changes made on the system are not visible until the next reboot, as those changes are living in a different snapshot of the file system.
Salt 3004 (Silicon) support this type of system via two new modules (transactional_update and rebootmgr) and a new executor (transactional_update).
The new modules will provide all the low level API for interacting with transactional systems, like defining a mantenance window where the system is free to reboot and activate the new state, or install new software in a new transaction. It will also provide hight level of abstractions that will allows us to execute Salt module functions or applying states inside new transactions.
The execution module will help us to treat the transactional system transparently (like the traditional ones), using a mechanism that will delegate some Salt modules execution into the new transactional_update module.
REMOVED
Removed the deprecated glance state and execution module in favor of the glance_image state module and the glanceng execution module.
Removed support for Ubuntu 16.04
Removed the deprecated support for gid_from_name from the user state module
Removed deprecated virt.migrate_non_shared, virt.migrate_non_shared_inc, ssh from virt.migrate, and python2/python3 args from salt.utils.thin.gen_min and .gen_thin
DEPRECATED
The _ext_nodes alias to the master_tops function was added back in 3004 to maintain backwards compatibility with older supported versions. This alias will now be removed in 3006. This change will break Master and Minion communication compatibility with Salt minions running versions 3003 and lower.
utils/boto3_elasticsearch is no longer needed
Changed "manufacture" grain to "manufacturer" for Solaris on SPARC to unify the name across all platforms. The old "manufacture" grain is now deprecated and will be removed in Sulfur
Deprecate salt.payload.Serial
CHANGED
Changed nginx.version to return version without nginx/ prefix.
Updated Slack webhook returner to support event returns on salt-master
Parsing Epoch out of version during pkg remove, since yum can't handle that in all of the cases.
Add extra onfail req check in the state engine to allow onfail to be used with onchanges and other reqs in the same state
Changed the default character set used by utils.pycrypto.secure_password() to include symbols and implemented arguments to control the used character set.
FIXED
Set default 'bootstrap_delay' to 0
Fixed issue where multiple args to netapi were not preserved
Handle all repo formats in the aptpkg module.
Do not break master_tops for minion with version lower to 3003 This is going to be removed in Salt 3006 (Sulfur)
Reverting changes in 60150. Updating installed and removed functions to return changes when test=True.
Handle signals and properly exit, instead of raising exceptions.
Redirect imports of salt.ext.six to six
Surface strerror to user state instead of returning false
Fixing _get_envs() to preserve the order of pillar_roots. _get_envs() returned pillar_roots in a non-deterministic order.
Fixes salt-cloud KeyError that occurs when there exists any subnets with no tags when profiles use subnetname
Fixes postgres_local_cache by removing duplicate unicode encoding.
Fixing the state aggregation system to properly handle requisities. Fixing pkg state to exclude packages from aggregation if the hold attribute is in the state.
fix issue that allows case sensitive files to be carried through
Allow GCE Salt Cloud to use previously created IP Addresses.
Fixing rabbitmq.list_user_permissions to ensure we are returning a permission list with three elements even when some values are empty.
Periodically restart the fileserver update process to avoid leaks
Fix default value to dictionary for mine_function
Allow user.present to work on Alpine Linux by fixing linux_shadow.info
Ensure that zypper is called with only one --no-refresh parameter
Fixed fileclient cachedir path switching from master to minion due to incorrect MasterMinion configuration
Fixed the container detection inside virtual machines
Fix invalid dnf command when obsoletes=True in pkg.update function
Jinja renderer resolves wrong relative paths when importing subdirectories
Fixed bug 55262 where salt.modules.iptables would call cmd.run and receive and interpret interspersed stdout and stderr output from subprocesses.
Updated pcs support to handle auth and setup for new syntax supporting version 0.10
Reinstate ignore_cidr option in salt-cloud openstack driver
Fix for network.wolmatch runner displaying 'invalid arguments' error with valid arguements
Fixed bug 57490, which prevented package installation for Open Euler and Issabel PBX. Both Open Euler and Issabel PBX use Yum for package management, added them to yumpkg.py.
Better handling of bad RSA public keys from minions
Fixing various functions in the file state module that use user.info to get group information, certain hosts particularly proxy minions do not have the user.info function avaiable.
Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules
Fix --subset command line option, and support old 'sub' parameter name in cmd_subset for backwards compatibility
When calling salt.utils.http.query with a HEAD method to check for the existence of a source ensure that decode_body is False, so the file is not downloaded into memory when we don't need the contents.
Update the runas user on freebsd for postgres versions >9.5, since freebsd will be removing the package on 2021-05-13.
Fix pip module linked requirements file parsing
Fix incorrect hostname quoting in /etc/sysconfig/networking on Red Hat family OS.
Fix Xen DomU virt detection in grains for long running machines.
add encoding when windows encoding is not defaulting to utf8
Fix "aptpkg.normalize_name" in case the arch is "all" for DEB packages
Astra Linux now considered a Debian family distro
Reworking the mysql module and state so that passwordless does not try to use unix_socket until unix_socket is set to True.
Fixed the zabbix module to read the connection data from pillar.
Fix crash on "yumpkg" execution module when unexpected output at listing patches
Remove return that had left over py2 code from win_path.py
Don't create spicevmc channel for Xen virtual machines
Fix win_servermanager.install so it will reboot when restart=True is passed
Clear the cached network interface grains during minion init and grains refresh
Normalized grain output for LXC containers
Fix typo in 'salt/states/cmd.py' to use "comment" instead of "commnd".
add aliyun linux support and set alinux as redhat family
Don't fail updating network without netmask ip attribute
Fixed using reserved keyword 'set' as function argument in modules/ipset.py
Return empty changes when nothing has been done in virt.defined and virt.running states
Import salt.utils.azurearm instead of using __utils__ from loader in azure cloud. This fixes an issue where __utils__ would become unavailable when we are using the ThreadPool in azurearm.
Fix an issue with the LGPO module when the gpt.ini file contains unix style line endings (/n). This was happening on a Windows Server 2019 instance created in Google Cloud Platform (GCP).
The ansiblegate module now correctly passes keyword arguments to Ansible module calls
Make sure cmdmod._log_cmd handles tuples properly
Updating the add, delete, modify, enable_job, and disable_job functions to return appropriate changes.
Apply pre-commit changes to entire codebase.
Fix Hetzner cloud driver does not recognize machines when rolling out a map
Update Windows build deps & DLLs, Use Python 3.8, libsodium.dll 1.0.18, OpenSSL dlls to 1.1.1k
Salt api verifies proper log file path when providing '--log-file' from the cli
Detect Mendel Linux as Debian
Fixed compilation of requisite_ins by also checking state type along with name/id
Fix xen._get_vm() to not break silently when a VM and a template on XenServer have the same name.
Added missing space for nftables.build_rule when using saddr or daddr.
Add back support to load old entrypoints by iterating instead of type checking
Fixed interrupting salt-call in a pdb session.
Validate we can import map files in states
Update alter_db to return True or False depending on the success of failure of the alter. Update grant_exists to only use the full list of available privileges when the grant is on the global level, eg. datbase is ".".
Fixed firewalld.list_zones when any "rich rules" is set
IPCMessageSubscriber objects expose their connect method as a corotine so they can be wrapped by SyncWrapper.
Allow for Napalm dependency netmiko_mod to load correctly when used by Napalm with Cisco IOS
Ensure proper access to the created temporary file when runas is passed to cmd.exec_code_all
Fixed an IndexError in pkgng.latest_version when querying an unknown package.
Fixed pkgng.latest_version when querying by origin (e.g. "shells/bash").
Gracefuly handle errors in virt.vm_info
The LGPO Module now uses "Success and Failure" for normal audit settings and advanced audit settings
Fixing tests/pytests/unit/utils/scheduler/test_eval.py tests so the sleep happens before the status, so the job is given time before we check it.
Update the external ipaddress to the latest 3.9.5 version which has some security fixes. Updating the compat.p to use the vendored version if the python version is below 3.9.5 and only run the test_ipaddress.py tests if below 3.9.5.
Fixed ValueError exception in state.show_state_usage
Redact the username and password when something goes wrong when using an HTTP source and we raise an exception.
Inject the Ansible functions into Salt's ansiblegate module which was broken on the 3001 release.
Figure out the available Python version inside containers when executing "dockermod.call" function
Handle IPv6 route types such as anycast, multicast, etc when returned from IPv6 route table queries
Move the commonly used code that converts a list to a dictionary into salt.utils.beacons. Fixing inotify beacon close function to ensure the configuration is converted from the provided list format into a dictionary.
Set name of engine subprocesses
Properly discover block devices path in virt.running
Avoid exceptions when handling some exception cases.
Fixed faulty error message in npm.installed state.
Port option reinstated for Junos Proxy (accidentally removed)
Now hosts.rm_host can remove entries from /etc/hosts when this file have inline comments.
Fixes issue where the full same name is not used when making rights assignments with group policy
Fixed zabbix_host.present to not overwrite inventory_mode to "manual" everytime inventory is updated.
Allowed zabbix_host.present to do partial updates of inventory, also don't erase everything if inventory is missing in state definition.
Fixing the mysql_cache module to handle binary inserting binary data into the database. Initially adding tests.
Fixed host_inventory_get to not throw an exception if host does not exist
Check for /dev/kvm to detect KVM hypervisor.
Fixing file.accumulated handling of dependencies when the state_id is used instead of {function: state_id} format.
Adding the ability for yumpkg.remove to handle package names with widdcards.
Pass emulator path to get guest capabilities from libvirt
virt.get_disks: properly report qemu-img errors
Make all platforms have psutils. This prevents a minion from starting if an instance is all ready running.
Ignore configuration for 'enable_fqdns_grains' for AIX, Solaris and Juniper, assume False
Remove check for TIAMAT_BUILD enforcing USE_STATIC_REQUIREMENTS, this is now controled by Tiamat v7.10.1 and above
Have the beacon call run through a try...except, catching any errors, logging and firing an event that includes the error. Fixing the swapusage beacon to ensure value is a string before we attempt to filter out the %.
Refactor loader into logical sub-modules
Clean up references to ZMQDefaultLoop
change dep warn from Silicon to Phosphorus for the cmd,show,system_info and add_config functions in the nxos module.
Fix bug 60602 where the hetzner cloud provider isn't recognized correctly
Fix the pwd.getpwnam caching issue on macOS user module
Fixing beacons that can include a value in their configuration that may or may not included a percentage. We want to handle the situation where the percentage sign is not included and the value is not handled as a string.
Fix RuntimeError in process manager
Ensure all data that is being passed along to LDAP is in an OrderedSet and contains bytes.
Update the AWS API version so VMs spun up by salt-cloud where the VPC has it enabled to assign ipv6 addresses by default, actually get ipv6 addresses assigned by default.
Remove un-needed singletons from tranports
ADDED
Add windows support for file.patch with patch.exe from git for windows optional packages
Added ability to pass exclude kwarg to salt.state inside orchestrate.
Added success_stdout and success_stderr arguments to cmd.run, to override default return code behavior.
The netbox pillar now been enhanced to add support for querying virtual machines (in addition to devices), as well as minion interfaces and associated IP addresses.
Add support for transactional systems, like openSUSE MicroOS
Added namespace headers to allow use of namespace from config to communicate with Vault Enterprise namespaces
boto3mod unit tests
New decorators allow_one_of() and require_one_of()
Added nosync switch to disable initial raid synchronization
Expanded the documentation for the netbox pillar.
Rocky Linux has been added to the RedHat os_family.
Add "poudriere -i -j jail_name" option to list jail information for poudriere
Added the grains.uuid on Windows platform
Add a salt.util.platform check to detect the AArch64 64-bit extension of the ARM architecture.
Adding support for Deltaproxy controlled proxy minions into Salt Open.
Added functions to slsutil execution module to test if files exist in the state tree Added funtion to slsutil execution module to search for a file by walking up the state tree
Allow module_refresh to also refresh available beacons, eg. following a Python library being installed and "refresh_modules" being passed as an argument in a state.
Add the detect_remote_minions and remote_minions_port options to allow the master to detect remote ports for connected minions. This will allow users to detect Heist-Salt minions the master is connected to over port 22 by default.
Add the python rpm-vercmp library in the rpm_lowpkg.py module.
Allow a user to use the aptpkg.py module without installing python-apt.
2021-11-14 21:01:17 +01:00
|
|
|
DEPENDS+= ${PYPKGPREFIX}-msgpack>=0.5.6:../../devel/py-msgpack
|
|
|
|
DEPENDS+= ${PYPKGPREFIX}-psutil>=5.0.0:../../sysutils/py-psutil
|
2017-05-20 13:30:27 +02:00
|
|
|
DEPENDS+= ${PYPKGPREFIX}-requests>=2.5.0:../../devel/py-requests
|
salt salt-docs: updated to 3004
SALT 3004 RELEASE NOTES - CODENAME SILICON
NEW FEATURES
TRANSACTIONAL SYSTEM SUPPORT (MICROOS)
A transactional system, like MicroOS, can present some challenges when the user decided to manage it via Salt.
MicroOS provide a read-only rootfs and a tool, transactional-update, that takes care of the management of the system (updating, upgrading, installation or reboot, among others) in an atomic way.
Atomicity is the main feature of MicroOS, and to guarantee this property, this model leverages snapper, zypper, btrfs and overlayfs to create snapshots that will be updated independently of the currently running system, and that are activated after the reboot. This implies, for example, that some changes made on the system are not visible until the next reboot, as those changes are living in a different snapshot of the file system.
Salt 3004 (Silicon) support this type of system via two new modules (transactional_update and rebootmgr) and a new executor (transactional_update).
The new modules will provide all the low level API for interacting with transactional systems, like defining a mantenance window where the system is free to reboot and activate the new state, or install new software in a new transaction. It will also provide hight level of abstractions that will allows us to execute Salt module functions or applying states inside new transactions.
The execution module will help us to treat the transactional system transparently (like the traditional ones), using a mechanism that will delegate some Salt modules execution into the new transactional_update module.
REMOVED
Removed the deprecated glance state and execution module in favor of the glance_image state module and the glanceng execution module.
Removed support for Ubuntu 16.04
Removed the deprecated support for gid_from_name from the user state module
Removed deprecated virt.migrate_non_shared, virt.migrate_non_shared_inc, ssh from virt.migrate, and python2/python3 args from salt.utils.thin.gen_min and .gen_thin
DEPRECATED
The _ext_nodes alias to the master_tops function was added back in 3004 to maintain backwards compatibility with older supported versions. This alias will now be removed in 3006. This change will break Master and Minion communication compatibility with Salt minions running versions 3003 and lower.
utils/boto3_elasticsearch is no longer needed
Changed "manufacture" grain to "manufacturer" for Solaris on SPARC to unify the name across all platforms. The old "manufacture" grain is now deprecated and will be removed in Sulfur
Deprecate salt.payload.Serial
CHANGED
Changed nginx.version to return version without nginx/ prefix.
Updated Slack webhook returner to support event returns on salt-master
Parsing Epoch out of version during pkg remove, since yum can't handle that in all of the cases.
Add extra onfail req check in the state engine to allow onfail to be used with onchanges and other reqs in the same state
Changed the default character set used by utils.pycrypto.secure_password() to include symbols and implemented arguments to control the used character set.
FIXED
Set default 'bootstrap_delay' to 0
Fixed issue where multiple args to netapi were not preserved
Handle all repo formats in the aptpkg module.
Do not break master_tops for minion with version lower to 3003 This is going to be removed in Salt 3006 (Sulfur)
Reverting changes in 60150. Updating installed and removed functions to return changes when test=True.
Handle signals and properly exit, instead of raising exceptions.
Redirect imports of salt.ext.six to six
Surface strerror to user state instead of returning false
Fixing _get_envs() to preserve the order of pillar_roots. _get_envs() returned pillar_roots in a non-deterministic order.
Fixes salt-cloud KeyError that occurs when there exists any subnets with no tags when profiles use subnetname
Fixes postgres_local_cache by removing duplicate unicode encoding.
Fixing the state aggregation system to properly handle requisities. Fixing pkg state to exclude packages from aggregation if the hold attribute is in the state.
fix issue that allows case sensitive files to be carried through
Allow GCE Salt Cloud to use previously created IP Addresses.
Fixing rabbitmq.list_user_permissions to ensure we are returning a permission list with three elements even when some values are empty.
Periodically restart the fileserver update process to avoid leaks
Fix default value to dictionary for mine_function
Allow user.present to work on Alpine Linux by fixing linux_shadow.info
Ensure that zypper is called with only one --no-refresh parameter
Fixed fileclient cachedir path switching from master to minion due to incorrect MasterMinion configuration
Fixed the container detection inside virtual machines
Fix invalid dnf command when obsoletes=True in pkg.update function
Jinja renderer resolves wrong relative paths when importing subdirectories
Fixed bug 55262 where salt.modules.iptables would call cmd.run and receive and interpret interspersed stdout and stderr output from subprocesses.
Updated pcs support to handle auth and setup for new syntax supporting version 0.10
Reinstate ignore_cidr option in salt-cloud openstack driver
Fix for network.wolmatch runner displaying 'invalid arguments' error with valid arguements
Fixed bug 57490, which prevented package installation for Open Euler and Issabel PBX. Both Open Euler and Issabel PBX use Yum for package management, added them to yumpkg.py.
Better handling of bad RSA public keys from minions
Fixing various functions in the file state module that use user.info to get group information, certain hosts particularly proxy minions do not have the user.info function avaiable.
Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules
Fix --subset command line option, and support old 'sub' parameter name in cmd_subset for backwards compatibility
When calling salt.utils.http.query with a HEAD method to check for the existence of a source ensure that decode_body is False, so the file is not downloaded into memory when we don't need the contents.
Update the runas user on freebsd for postgres versions >9.5, since freebsd will be removing the package on 2021-05-13.
Fix pip module linked requirements file parsing
Fix incorrect hostname quoting in /etc/sysconfig/networking on Red Hat family OS.
Fix Xen DomU virt detection in grains for long running machines.
add encoding when windows encoding is not defaulting to utf8
Fix "aptpkg.normalize_name" in case the arch is "all" for DEB packages
Astra Linux now considered a Debian family distro
Reworking the mysql module and state so that passwordless does not try to use unix_socket until unix_socket is set to True.
Fixed the zabbix module to read the connection data from pillar.
Fix crash on "yumpkg" execution module when unexpected output at listing patches
Remove return that had left over py2 code from win_path.py
Don't create spicevmc channel for Xen virtual machines
Fix win_servermanager.install so it will reboot when restart=True is passed
Clear the cached network interface grains during minion init and grains refresh
Normalized grain output for LXC containers
Fix typo in 'salt/states/cmd.py' to use "comment" instead of "commnd".
add aliyun linux support and set alinux as redhat family
Don't fail updating network without netmask ip attribute
Fixed using reserved keyword 'set' as function argument in modules/ipset.py
Return empty changes when nothing has been done in virt.defined and virt.running states
Import salt.utils.azurearm instead of using __utils__ from loader in azure cloud. This fixes an issue where __utils__ would become unavailable when we are using the ThreadPool in azurearm.
Fix an issue with the LGPO module when the gpt.ini file contains unix style line endings (/n). This was happening on a Windows Server 2019 instance created in Google Cloud Platform (GCP).
The ansiblegate module now correctly passes keyword arguments to Ansible module calls
Make sure cmdmod._log_cmd handles tuples properly
Updating the add, delete, modify, enable_job, and disable_job functions to return appropriate changes.
Apply pre-commit changes to entire codebase.
Fix Hetzner cloud driver does not recognize machines when rolling out a map
Update Windows build deps & DLLs, Use Python 3.8, libsodium.dll 1.0.18, OpenSSL dlls to 1.1.1k
Salt api verifies proper log file path when providing '--log-file' from the cli
Detect Mendel Linux as Debian
Fixed compilation of requisite_ins by also checking state type along with name/id
Fix xen._get_vm() to not break silently when a VM and a template on XenServer have the same name.
Added missing space for nftables.build_rule when using saddr or daddr.
Add back support to load old entrypoints by iterating instead of type checking
Fixed interrupting salt-call in a pdb session.
Validate we can import map files in states
Update alter_db to return True or False depending on the success of failure of the alter. Update grant_exists to only use the full list of available privileges when the grant is on the global level, eg. datbase is ".".
Fixed firewalld.list_zones when any "rich rules" is set
IPCMessageSubscriber objects expose their connect method as a corotine so they can be wrapped by SyncWrapper.
Allow for Napalm dependency netmiko_mod to load correctly when used by Napalm with Cisco IOS
Ensure proper access to the created temporary file when runas is passed to cmd.exec_code_all
Fixed an IndexError in pkgng.latest_version when querying an unknown package.
Fixed pkgng.latest_version when querying by origin (e.g. "shells/bash").
Gracefuly handle errors in virt.vm_info
The LGPO Module now uses "Success and Failure" for normal audit settings and advanced audit settings
Fixing tests/pytests/unit/utils/scheduler/test_eval.py tests so the sleep happens before the status, so the job is given time before we check it.
Update the external ipaddress to the latest 3.9.5 version which has some security fixes. Updating the compat.p to use the vendored version if the python version is below 3.9.5 and only run the test_ipaddress.py tests if below 3.9.5.
Fixed ValueError exception in state.show_state_usage
Redact the username and password when something goes wrong when using an HTTP source and we raise an exception.
Inject the Ansible functions into Salt's ansiblegate module which was broken on the 3001 release.
Figure out the available Python version inside containers when executing "dockermod.call" function
Handle IPv6 route types such as anycast, multicast, etc when returned from IPv6 route table queries
Move the commonly used code that converts a list to a dictionary into salt.utils.beacons. Fixing inotify beacon close function to ensure the configuration is converted from the provided list format into a dictionary.
Set name of engine subprocesses
Properly discover block devices path in virt.running
Avoid exceptions when handling some exception cases.
Fixed faulty error message in npm.installed state.
Port option reinstated for Junos Proxy (accidentally removed)
Now hosts.rm_host can remove entries from /etc/hosts when this file have inline comments.
Fixes issue where the full same name is not used when making rights assignments with group policy
Fixed zabbix_host.present to not overwrite inventory_mode to "manual" everytime inventory is updated.
Allowed zabbix_host.present to do partial updates of inventory, also don't erase everything if inventory is missing in state definition.
Fixing the mysql_cache module to handle binary inserting binary data into the database. Initially adding tests.
Fixed host_inventory_get to not throw an exception if host does not exist
Check for /dev/kvm to detect KVM hypervisor.
Fixing file.accumulated handling of dependencies when the state_id is used instead of {function: state_id} format.
Adding the ability for yumpkg.remove to handle package names with widdcards.
Pass emulator path to get guest capabilities from libvirt
virt.get_disks: properly report qemu-img errors
Make all platforms have psutils. This prevents a minion from starting if an instance is all ready running.
Ignore configuration for 'enable_fqdns_grains' for AIX, Solaris and Juniper, assume False
Remove check for TIAMAT_BUILD enforcing USE_STATIC_REQUIREMENTS, this is now controled by Tiamat v7.10.1 and above
Have the beacon call run through a try...except, catching any errors, logging and firing an event that includes the error. Fixing the swapusage beacon to ensure value is a string before we attempt to filter out the %.
Refactor loader into logical sub-modules
Clean up references to ZMQDefaultLoop
change dep warn from Silicon to Phosphorus for the cmd,show,system_info and add_config functions in the nxos module.
Fix bug 60602 where the hetzner cloud provider isn't recognized correctly
Fix the pwd.getpwnam caching issue on macOS user module
Fixing beacons that can include a value in their configuration that may or may not included a percentage. We want to handle the situation where the percentage sign is not included and the value is not handled as a string.
Fix RuntimeError in process manager
Ensure all data that is being passed along to LDAP is in an OrderedSet and contains bytes.
Update the AWS API version so VMs spun up by salt-cloud where the VPC has it enabled to assign ipv6 addresses by default, actually get ipv6 addresses assigned by default.
Remove un-needed singletons from tranports
ADDED
Add windows support for file.patch with patch.exe from git for windows optional packages
Added ability to pass exclude kwarg to salt.state inside orchestrate.
Added success_stdout and success_stderr arguments to cmd.run, to override default return code behavior.
The netbox pillar now been enhanced to add support for querying virtual machines (in addition to devices), as well as minion interfaces and associated IP addresses.
Add support for transactional systems, like openSUSE MicroOS
Added namespace headers to allow use of namespace from config to communicate with Vault Enterprise namespaces
boto3mod unit tests
New decorators allow_one_of() and require_one_of()
Added nosync switch to disable initial raid synchronization
Expanded the documentation for the netbox pillar.
Rocky Linux has been added to the RedHat os_family.
Add "poudriere -i -j jail_name" option to list jail information for poudriere
Added the grains.uuid on Windows platform
Add a salt.util.platform check to detect the AArch64 64-bit extension of the ARM architecture.
Adding support for Deltaproxy controlled proxy minions into Salt Open.
Added functions to slsutil execution module to test if files exist in the state tree Added funtion to slsutil execution module to search for a file by walking up the state tree
Allow module_refresh to also refresh available beacons, eg. following a Python library being installed and "refresh_modules" being passed as an argument in a state.
Add the detect_remote_minions and remote_minions_port options to allow the master to detect remote ports for connected minions. This will allow users to detect Heist-Salt minions the master is connected to over port 22 by default.
Add the python rpm-vercmp library in the rpm_lowpkg.py module.
Allow a user to use the aptpkg.py module without installing python-apt.
2021-11-14 21:01:17 +01:00
|
|
|
DEPENDS+= ${PYPKGPREFIX}-yaml-[0-9]*:../../textproc/py-yaml
|
|
|
|
DEPENDS+= ${PYPKGPREFIX}-zmq>=19.0.2:../../net/py-zmq
|
2014-01-25 11:29:56 +01:00
|
|
|
|
salt salt-docs: updated to 3004
SALT 3004 RELEASE NOTES - CODENAME SILICON
NEW FEATURES
TRANSACTIONAL SYSTEM SUPPORT (MICROOS)
A transactional system, like MicroOS, can present some challenges when the user decided to manage it via Salt.
MicroOS provide a read-only rootfs and a tool, transactional-update, that takes care of the management of the system (updating, upgrading, installation or reboot, among others) in an atomic way.
Atomicity is the main feature of MicroOS, and to guarantee this property, this model leverages snapper, zypper, btrfs and overlayfs to create snapshots that will be updated independently of the currently running system, and that are activated after the reboot. This implies, for example, that some changes made on the system are not visible until the next reboot, as those changes are living in a different snapshot of the file system.
Salt 3004 (Silicon) support this type of system via two new modules (transactional_update and rebootmgr) and a new executor (transactional_update).
The new modules will provide all the low level API for interacting with transactional systems, like defining a mantenance window where the system is free to reboot and activate the new state, or install new software in a new transaction. It will also provide hight level of abstractions that will allows us to execute Salt module functions or applying states inside new transactions.
The execution module will help us to treat the transactional system transparently (like the traditional ones), using a mechanism that will delegate some Salt modules execution into the new transactional_update module.
REMOVED
Removed the deprecated glance state and execution module in favor of the glance_image state module and the glanceng execution module.
Removed support for Ubuntu 16.04
Removed the deprecated support for gid_from_name from the user state module
Removed deprecated virt.migrate_non_shared, virt.migrate_non_shared_inc, ssh from virt.migrate, and python2/python3 args from salt.utils.thin.gen_min and .gen_thin
DEPRECATED
The _ext_nodes alias to the master_tops function was added back in 3004 to maintain backwards compatibility with older supported versions. This alias will now be removed in 3006. This change will break Master and Minion communication compatibility with Salt minions running versions 3003 and lower.
utils/boto3_elasticsearch is no longer needed
Changed "manufacture" grain to "manufacturer" for Solaris on SPARC to unify the name across all platforms. The old "manufacture" grain is now deprecated and will be removed in Sulfur
Deprecate salt.payload.Serial
CHANGED
Changed nginx.version to return version without nginx/ prefix.
Updated Slack webhook returner to support event returns on salt-master
Parsing Epoch out of version during pkg remove, since yum can't handle that in all of the cases.
Add extra onfail req check in the state engine to allow onfail to be used with onchanges and other reqs in the same state
Changed the default character set used by utils.pycrypto.secure_password() to include symbols and implemented arguments to control the used character set.
FIXED
Set default 'bootstrap_delay' to 0
Fixed issue where multiple args to netapi were not preserved
Handle all repo formats in the aptpkg module.
Do not break master_tops for minion with version lower to 3003 This is going to be removed in Salt 3006 (Sulfur)
Reverting changes in 60150. Updating installed and removed functions to return changes when test=True.
Handle signals and properly exit, instead of raising exceptions.
Redirect imports of salt.ext.six to six
Surface strerror to user state instead of returning false
Fixing _get_envs() to preserve the order of pillar_roots. _get_envs() returned pillar_roots in a non-deterministic order.
Fixes salt-cloud KeyError that occurs when there exists any subnets with no tags when profiles use subnetname
Fixes postgres_local_cache by removing duplicate unicode encoding.
Fixing the state aggregation system to properly handle requisities. Fixing pkg state to exclude packages from aggregation if the hold attribute is in the state.
fix issue that allows case sensitive files to be carried through
Allow GCE Salt Cloud to use previously created IP Addresses.
Fixing rabbitmq.list_user_permissions to ensure we are returning a permission list with three elements even when some values are empty.
Periodically restart the fileserver update process to avoid leaks
Fix default value to dictionary for mine_function
Allow user.present to work on Alpine Linux by fixing linux_shadow.info
Ensure that zypper is called with only one --no-refresh parameter
Fixed fileclient cachedir path switching from master to minion due to incorrect MasterMinion configuration
Fixed the container detection inside virtual machines
Fix invalid dnf command when obsoletes=True in pkg.update function
Jinja renderer resolves wrong relative paths when importing subdirectories
Fixed bug 55262 where salt.modules.iptables would call cmd.run and receive and interpret interspersed stdout and stderr output from subprocesses.
Updated pcs support to handle auth and setup for new syntax supporting version 0.10
Reinstate ignore_cidr option in salt-cloud openstack driver
Fix for network.wolmatch runner displaying 'invalid arguments' error with valid arguements
Fixed bug 57490, which prevented package installation for Open Euler and Issabel PBX. Both Open Euler and Issabel PBX use Yum for package management, added them to yumpkg.py.
Better handling of bad RSA public keys from minions
Fixing various functions in the file state module that use user.info to get group information, certain hosts particularly proxy minions do not have the user.info function avaiable.
Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules
Fix --subset command line option, and support old 'sub' parameter name in cmd_subset for backwards compatibility
When calling salt.utils.http.query with a HEAD method to check for the existence of a source ensure that decode_body is False, so the file is not downloaded into memory when we don't need the contents.
Update the runas user on freebsd for postgres versions >9.5, since freebsd will be removing the package on 2021-05-13.
Fix pip module linked requirements file parsing
Fix incorrect hostname quoting in /etc/sysconfig/networking on Red Hat family OS.
Fix Xen DomU virt detection in grains for long running machines.
add encoding when windows encoding is not defaulting to utf8
Fix "aptpkg.normalize_name" in case the arch is "all" for DEB packages
Astra Linux now considered a Debian family distro
Reworking the mysql module and state so that passwordless does not try to use unix_socket until unix_socket is set to True.
Fixed the zabbix module to read the connection data from pillar.
Fix crash on "yumpkg" execution module when unexpected output at listing patches
Remove return that had left over py2 code from win_path.py
Don't create spicevmc channel for Xen virtual machines
Fix win_servermanager.install so it will reboot when restart=True is passed
Clear the cached network interface grains during minion init and grains refresh
Normalized grain output for LXC containers
Fix typo in 'salt/states/cmd.py' to use "comment" instead of "commnd".
add aliyun linux support and set alinux as redhat family
Don't fail updating network without netmask ip attribute
Fixed using reserved keyword 'set' as function argument in modules/ipset.py
Return empty changes when nothing has been done in virt.defined and virt.running states
Import salt.utils.azurearm instead of using __utils__ from loader in azure cloud. This fixes an issue where __utils__ would become unavailable when we are using the ThreadPool in azurearm.
Fix an issue with the LGPO module when the gpt.ini file contains unix style line endings (/n). This was happening on a Windows Server 2019 instance created in Google Cloud Platform (GCP).
The ansiblegate module now correctly passes keyword arguments to Ansible module calls
Make sure cmdmod._log_cmd handles tuples properly
Updating the add, delete, modify, enable_job, and disable_job functions to return appropriate changes.
Apply pre-commit changes to entire codebase.
Fix Hetzner cloud driver does not recognize machines when rolling out a map
Update Windows build deps & DLLs, Use Python 3.8, libsodium.dll 1.0.18, OpenSSL dlls to 1.1.1k
Salt api verifies proper log file path when providing '--log-file' from the cli
Detect Mendel Linux as Debian
Fixed compilation of requisite_ins by also checking state type along with name/id
Fix xen._get_vm() to not break silently when a VM and a template on XenServer have the same name.
Added missing space for nftables.build_rule when using saddr or daddr.
Add back support to load old entrypoints by iterating instead of type checking
Fixed interrupting salt-call in a pdb session.
Validate we can import map files in states
Update alter_db to return True or False depending on the success of failure of the alter. Update grant_exists to only use the full list of available privileges when the grant is on the global level, eg. datbase is ".".
Fixed firewalld.list_zones when any "rich rules" is set
IPCMessageSubscriber objects expose their connect method as a corotine so they can be wrapped by SyncWrapper.
Allow for Napalm dependency netmiko_mod to load correctly when used by Napalm with Cisco IOS
Ensure proper access to the created temporary file when runas is passed to cmd.exec_code_all
Fixed an IndexError in pkgng.latest_version when querying an unknown package.
Fixed pkgng.latest_version when querying by origin (e.g. "shells/bash").
Gracefuly handle errors in virt.vm_info
The LGPO Module now uses "Success and Failure" for normal audit settings and advanced audit settings
Fixing tests/pytests/unit/utils/scheduler/test_eval.py tests so the sleep happens before the status, so the job is given time before we check it.
Update the external ipaddress to the latest 3.9.5 version which has some security fixes. Updating the compat.p to use the vendored version if the python version is below 3.9.5 and only run the test_ipaddress.py tests if below 3.9.5.
Fixed ValueError exception in state.show_state_usage
Redact the username and password when something goes wrong when using an HTTP source and we raise an exception.
Inject the Ansible functions into Salt's ansiblegate module which was broken on the 3001 release.
Figure out the available Python version inside containers when executing "dockermod.call" function
Handle IPv6 route types such as anycast, multicast, etc when returned from IPv6 route table queries
Move the commonly used code that converts a list to a dictionary into salt.utils.beacons. Fixing inotify beacon close function to ensure the configuration is converted from the provided list format into a dictionary.
Set name of engine subprocesses
Properly discover block devices path in virt.running
Avoid exceptions when handling some exception cases.
Fixed faulty error message in npm.installed state.
Port option reinstated for Junos Proxy (accidentally removed)
Now hosts.rm_host can remove entries from /etc/hosts when this file have inline comments.
Fixes issue where the full same name is not used when making rights assignments with group policy
Fixed zabbix_host.present to not overwrite inventory_mode to "manual" everytime inventory is updated.
Allowed zabbix_host.present to do partial updates of inventory, also don't erase everything if inventory is missing in state definition.
Fixing the mysql_cache module to handle binary inserting binary data into the database. Initially adding tests.
Fixed host_inventory_get to not throw an exception if host does not exist
Check for /dev/kvm to detect KVM hypervisor.
Fixing file.accumulated handling of dependencies when the state_id is used instead of {function: state_id} format.
Adding the ability for yumpkg.remove to handle package names with widdcards.
Pass emulator path to get guest capabilities from libvirt
virt.get_disks: properly report qemu-img errors
Make all platforms have psutils. This prevents a minion from starting if an instance is all ready running.
Ignore configuration for 'enable_fqdns_grains' for AIX, Solaris and Juniper, assume False
Remove check for TIAMAT_BUILD enforcing USE_STATIC_REQUIREMENTS, this is now controled by Tiamat v7.10.1 and above
Have the beacon call run through a try...except, catching any errors, logging and firing an event that includes the error. Fixing the swapusage beacon to ensure value is a string before we attempt to filter out the %.
Refactor loader into logical sub-modules
Clean up references to ZMQDefaultLoop
change dep warn from Silicon to Phosphorus for the cmd,show,system_info and add_config functions in the nxos module.
Fix bug 60602 where the hetzner cloud provider isn't recognized correctly
Fix the pwd.getpwnam caching issue on macOS user module
Fixing beacons that can include a value in their configuration that may or may not included a percentage. We want to handle the situation where the percentage sign is not included and the value is not handled as a string.
Fix RuntimeError in process manager
Ensure all data that is being passed along to LDAP is in an OrderedSet and contains bytes.
Update the AWS API version so VMs spun up by salt-cloud where the VPC has it enabled to assign ipv6 addresses by default, actually get ipv6 addresses assigned by default.
Remove un-needed singletons from tranports
ADDED
Add windows support for file.patch with patch.exe from git for windows optional packages
Added ability to pass exclude kwarg to salt.state inside orchestrate.
Added success_stdout and success_stderr arguments to cmd.run, to override default return code behavior.
The netbox pillar now been enhanced to add support for querying virtual machines (in addition to devices), as well as minion interfaces and associated IP addresses.
Add support for transactional systems, like openSUSE MicroOS
Added namespace headers to allow use of namespace from config to communicate with Vault Enterprise namespaces
boto3mod unit tests
New decorators allow_one_of() and require_one_of()
Added nosync switch to disable initial raid synchronization
Expanded the documentation for the netbox pillar.
Rocky Linux has been added to the RedHat os_family.
Add "poudriere -i -j jail_name" option to list jail information for poudriere
Added the grains.uuid on Windows platform
Add a salt.util.platform check to detect the AArch64 64-bit extension of the ARM architecture.
Adding support for Deltaproxy controlled proxy minions into Salt Open.
Added functions to slsutil execution module to test if files exist in the state tree Added funtion to slsutil execution module to search for a file by walking up the state tree
Allow module_refresh to also refresh available beacons, eg. following a Python library being installed and "refresh_modules" being passed as an argument in a state.
Add the detect_remote_minions and remote_minions_port options to allow the master to detect remote ports for connected minions. This will allow users to detect Heist-Salt minions the master is connected to over port 22 by default.
Add the python rpm-vercmp library in the rpm_lowpkg.py module.
Allow a user to use the aptpkg.py module without installing python-apt.
2021-11-14 21:01:17 +01:00
|
|
|
PYTHON_VERSIONS_INCOMPATIBLE= 27
|
2019-07-08 20:54:22 +02:00
|
|
|
|
2017-05-20 13:30:27 +02:00
|
|
|
.include "../../lang/python/pyversion.mk"
|
salt salt-docs: updated to 3004
SALT 3004 RELEASE NOTES - CODENAME SILICON
NEW FEATURES
TRANSACTIONAL SYSTEM SUPPORT (MICROOS)
A transactional system, like MicroOS, can present some challenges when the user decided to manage it via Salt.
MicroOS provide a read-only rootfs and a tool, transactional-update, that takes care of the management of the system (updating, upgrading, installation or reboot, among others) in an atomic way.
Atomicity is the main feature of MicroOS, and to guarantee this property, this model leverages snapper, zypper, btrfs and overlayfs to create snapshots that will be updated independently of the currently running system, and that are activated after the reboot. This implies, for example, that some changes made on the system are not visible until the next reboot, as those changes are living in a different snapshot of the file system.
Salt 3004 (Silicon) support this type of system via two new modules (transactional_update and rebootmgr) and a new executor (transactional_update).
The new modules will provide all the low level API for interacting with transactional systems, like defining a mantenance window where the system is free to reboot and activate the new state, or install new software in a new transaction. It will also provide hight level of abstractions that will allows us to execute Salt module functions or applying states inside new transactions.
The execution module will help us to treat the transactional system transparently (like the traditional ones), using a mechanism that will delegate some Salt modules execution into the new transactional_update module.
REMOVED
Removed the deprecated glance state and execution module in favor of the glance_image state module and the glanceng execution module.
Removed support for Ubuntu 16.04
Removed the deprecated support for gid_from_name from the user state module
Removed deprecated virt.migrate_non_shared, virt.migrate_non_shared_inc, ssh from virt.migrate, and python2/python3 args from salt.utils.thin.gen_min and .gen_thin
DEPRECATED
The _ext_nodes alias to the master_tops function was added back in 3004 to maintain backwards compatibility with older supported versions. This alias will now be removed in 3006. This change will break Master and Minion communication compatibility with Salt minions running versions 3003 and lower.
utils/boto3_elasticsearch is no longer needed
Changed "manufacture" grain to "manufacturer" for Solaris on SPARC to unify the name across all platforms. The old "manufacture" grain is now deprecated and will be removed in Sulfur
Deprecate salt.payload.Serial
CHANGED
Changed nginx.version to return version without nginx/ prefix.
Updated Slack webhook returner to support event returns on salt-master
Parsing Epoch out of version during pkg remove, since yum can't handle that in all of the cases.
Add extra onfail req check in the state engine to allow onfail to be used with onchanges and other reqs in the same state
Changed the default character set used by utils.pycrypto.secure_password() to include symbols and implemented arguments to control the used character set.
FIXED
Set default 'bootstrap_delay' to 0
Fixed issue where multiple args to netapi were not preserved
Handle all repo formats in the aptpkg module.
Do not break master_tops for minion with version lower to 3003 This is going to be removed in Salt 3006 (Sulfur)
Reverting changes in 60150. Updating installed and removed functions to return changes when test=True.
Handle signals and properly exit, instead of raising exceptions.
Redirect imports of salt.ext.six to six
Surface strerror to user state instead of returning false
Fixing _get_envs() to preserve the order of pillar_roots. _get_envs() returned pillar_roots in a non-deterministic order.
Fixes salt-cloud KeyError that occurs when there exists any subnets with no tags when profiles use subnetname
Fixes postgres_local_cache by removing duplicate unicode encoding.
Fixing the state aggregation system to properly handle requisities. Fixing pkg state to exclude packages from aggregation if the hold attribute is in the state.
fix issue that allows case sensitive files to be carried through
Allow GCE Salt Cloud to use previously created IP Addresses.
Fixing rabbitmq.list_user_permissions to ensure we are returning a permission list with three elements even when some values are empty.
Periodically restart the fileserver update process to avoid leaks
Fix default value to dictionary for mine_function
Allow user.present to work on Alpine Linux by fixing linux_shadow.info
Ensure that zypper is called with only one --no-refresh parameter
Fixed fileclient cachedir path switching from master to minion due to incorrect MasterMinion configuration
Fixed the container detection inside virtual machines
Fix invalid dnf command when obsoletes=True in pkg.update function
Jinja renderer resolves wrong relative paths when importing subdirectories
Fixed bug 55262 where salt.modules.iptables would call cmd.run and receive and interpret interspersed stdout and stderr output from subprocesses.
Updated pcs support to handle auth and setup for new syntax supporting version 0.10
Reinstate ignore_cidr option in salt-cloud openstack driver
Fix for network.wolmatch runner displaying 'invalid arguments' error with valid arguements
Fixed bug 57490, which prevented package installation for Open Euler and Issabel PBX. Both Open Euler and Issabel PBX use Yum for package management, added them to yumpkg.py.
Better handling of bad RSA public keys from minions
Fixing various functions in the file state module that use user.info to get group information, certain hosts particularly proxy minions do not have the user.info function avaiable.
Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules
Fix --subset command line option, and support old 'sub' parameter name in cmd_subset for backwards compatibility
When calling salt.utils.http.query with a HEAD method to check for the existence of a source ensure that decode_body is False, so the file is not downloaded into memory when we don't need the contents.
Update the runas user on freebsd for postgres versions >9.5, since freebsd will be removing the package on 2021-05-13.
Fix pip module linked requirements file parsing
Fix incorrect hostname quoting in /etc/sysconfig/networking on Red Hat family OS.
Fix Xen DomU virt detection in grains for long running machines.
add encoding when windows encoding is not defaulting to utf8
Fix "aptpkg.normalize_name" in case the arch is "all" for DEB packages
Astra Linux now considered a Debian family distro
Reworking the mysql module and state so that passwordless does not try to use unix_socket until unix_socket is set to True.
Fixed the zabbix module to read the connection data from pillar.
Fix crash on "yumpkg" execution module when unexpected output at listing patches
Remove return that had left over py2 code from win_path.py
Don't create spicevmc channel for Xen virtual machines
Fix win_servermanager.install so it will reboot when restart=True is passed
Clear the cached network interface grains during minion init and grains refresh
Normalized grain output for LXC containers
Fix typo in 'salt/states/cmd.py' to use "comment" instead of "commnd".
add aliyun linux support and set alinux as redhat family
Don't fail updating network without netmask ip attribute
Fixed using reserved keyword 'set' as function argument in modules/ipset.py
Return empty changes when nothing has been done in virt.defined and virt.running states
Import salt.utils.azurearm instead of using __utils__ from loader in azure cloud. This fixes an issue where __utils__ would become unavailable when we are using the ThreadPool in azurearm.
Fix an issue with the LGPO module when the gpt.ini file contains unix style line endings (/n). This was happening on a Windows Server 2019 instance created in Google Cloud Platform (GCP).
The ansiblegate module now correctly passes keyword arguments to Ansible module calls
Make sure cmdmod._log_cmd handles tuples properly
Updating the add, delete, modify, enable_job, and disable_job functions to return appropriate changes.
Apply pre-commit changes to entire codebase.
Fix Hetzner cloud driver does not recognize machines when rolling out a map
Update Windows build deps & DLLs, Use Python 3.8, libsodium.dll 1.0.18, OpenSSL dlls to 1.1.1k
Salt api verifies proper log file path when providing '--log-file' from the cli
Detect Mendel Linux as Debian
Fixed compilation of requisite_ins by also checking state type along with name/id
Fix xen._get_vm() to not break silently when a VM and a template on XenServer have the same name.
Added missing space for nftables.build_rule when using saddr or daddr.
Add back support to load old entrypoints by iterating instead of type checking
Fixed interrupting salt-call in a pdb session.
Validate we can import map files in states
Update alter_db to return True or False depending on the success of failure of the alter. Update grant_exists to only use the full list of available privileges when the grant is on the global level, eg. datbase is ".".
Fixed firewalld.list_zones when any "rich rules" is set
IPCMessageSubscriber objects expose their connect method as a corotine so they can be wrapped by SyncWrapper.
Allow for Napalm dependency netmiko_mod to load correctly when used by Napalm with Cisco IOS
Ensure proper access to the created temporary file when runas is passed to cmd.exec_code_all
Fixed an IndexError in pkgng.latest_version when querying an unknown package.
Fixed pkgng.latest_version when querying by origin (e.g. "shells/bash").
Gracefuly handle errors in virt.vm_info
The LGPO Module now uses "Success and Failure" for normal audit settings and advanced audit settings
Fixing tests/pytests/unit/utils/scheduler/test_eval.py tests so the sleep happens before the status, so the job is given time before we check it.
Update the external ipaddress to the latest 3.9.5 version which has some security fixes. Updating the compat.p to use the vendored version if the python version is below 3.9.5 and only run the test_ipaddress.py tests if below 3.9.5.
Fixed ValueError exception in state.show_state_usage
Redact the username and password when something goes wrong when using an HTTP source and we raise an exception.
Inject the Ansible functions into Salt's ansiblegate module which was broken on the 3001 release.
Figure out the available Python version inside containers when executing "dockermod.call" function
Handle IPv6 route types such as anycast, multicast, etc when returned from IPv6 route table queries
Move the commonly used code that converts a list to a dictionary into salt.utils.beacons. Fixing inotify beacon close function to ensure the configuration is converted from the provided list format into a dictionary.
Set name of engine subprocesses
Properly discover block devices path in virt.running
Avoid exceptions when handling some exception cases.
Fixed faulty error message in npm.installed state.
Port option reinstated for Junos Proxy (accidentally removed)
Now hosts.rm_host can remove entries from /etc/hosts when this file have inline comments.
Fixes issue where the full same name is not used when making rights assignments with group policy
Fixed zabbix_host.present to not overwrite inventory_mode to "manual" everytime inventory is updated.
Allowed zabbix_host.present to do partial updates of inventory, also don't erase everything if inventory is missing in state definition.
Fixing the mysql_cache module to handle binary inserting binary data into the database. Initially adding tests.
Fixed host_inventory_get to not throw an exception if host does not exist
Check for /dev/kvm to detect KVM hypervisor.
Fixing file.accumulated handling of dependencies when the state_id is used instead of {function: state_id} format.
Adding the ability for yumpkg.remove to handle package names with widdcards.
Pass emulator path to get guest capabilities from libvirt
virt.get_disks: properly report qemu-img errors
Make all platforms have psutils. This prevents a minion from starting if an instance is all ready running.
Ignore configuration for 'enable_fqdns_grains' for AIX, Solaris and Juniper, assume False
Remove check for TIAMAT_BUILD enforcing USE_STATIC_REQUIREMENTS, this is now controled by Tiamat v7.10.1 and above
Have the beacon call run through a try...except, catching any errors, logging and firing an event that includes the error. Fixing the swapusage beacon to ensure value is a string before we attempt to filter out the %.
Refactor loader into logical sub-modules
Clean up references to ZMQDefaultLoop
change dep warn from Silicon to Phosphorus for the cmd,show,system_info and add_config functions in the nxos module.
Fix bug 60602 where the hetzner cloud provider isn't recognized correctly
Fix the pwd.getpwnam caching issue on macOS user module
Fixing beacons that can include a value in their configuration that may or may not included a percentage. We want to handle the situation where the percentage sign is not included and the value is not handled as a string.
Fix RuntimeError in process manager
Ensure all data that is being passed along to LDAP is in an OrderedSet and contains bytes.
Update the AWS API version so VMs spun up by salt-cloud where the VPC has it enabled to assign ipv6 addresses by default, actually get ipv6 addresses assigned by default.
Remove un-needed singletons from tranports
ADDED
Add windows support for file.patch with patch.exe from git for windows optional packages
Added ability to pass exclude kwarg to salt.state inside orchestrate.
Added success_stdout and success_stderr arguments to cmd.run, to override default return code behavior.
The netbox pillar now been enhanced to add support for querying virtual machines (in addition to devices), as well as minion interfaces and associated IP addresses.
Add support for transactional systems, like openSUSE MicroOS
Added namespace headers to allow use of namespace from config to communicate with Vault Enterprise namespaces
boto3mod unit tests
New decorators allow_one_of() and require_one_of()
Added nosync switch to disable initial raid synchronization
Expanded the documentation for the netbox pillar.
Rocky Linux has been added to the RedHat os_family.
Add "poudriere -i -j jail_name" option to list jail information for poudriere
Added the grains.uuid on Windows platform
Add a salt.util.platform check to detect the AArch64 64-bit extension of the ARM architecture.
Adding support for Deltaproxy controlled proxy minions into Salt Open.
Added functions to slsutil execution module to test if files exist in the state tree Added funtion to slsutil execution module to search for a file by walking up the state tree
Allow module_refresh to also refresh available beacons, eg. following a Python library being installed and "refresh_modules" being passed as an argument in a state.
Add the detect_remote_minions and remote_minions_port options to allow the master to detect remote ports for connected minions. This will allow users to detect Heist-Salt minions the master is connected to over port 22 by default.
Add the python rpm-vercmp library in the rpm_lowpkg.py module.
Allow a user to use the aptpkg.py module without installing python-apt.
2021-11-14 21:01:17 +01:00
|
|
|
.if ${_PYTHON_VERSION} == 36
|
|
|
|
DEPENDS+= ${PYPKGPREFIX}-contextvars-[0-9]*:../../devel/py-contextvars
|
2017-05-20 13:30:27 +02:00
|
|
|
.endif
|
2014-03-30 14:31:17 +02:00
|
|
|
|
2017-05-20 13:30:27 +02:00
|
|
|
BUILD_DEFS+= VARBASE
|
2014-01-25 11:29:56 +01:00
|
|
|
|
2017-02-09 16:01:20 +01:00
|
|
|
PYSETUPARGS+= --salt-base-file-roots-dir=${VARBASE}/salt/file-roots
|
|
|
|
PYSETUPARGS+= --salt-base-pillar-roots-dir=${VARBASE}/salt/pillar-roots
|
|
|
|
PYSETUPARGS+= --salt-base-master-roots-dir=${VARBASE}/salt/master-roots
|
2017-05-20 13:30:27 +02:00
|
|
|
PYSETUPARGS+= --salt-cache-dir=${VARBASE}/cache/salt
|
|
|
|
PYSETUPARGS+= --salt-config-dir=${PKG_SYSCONFDIR}
|
2017-02-03 14:39:00 +01:00
|
|
|
PYSETUPARGS+= --salt-logs-dir=${VARBASE}/log/salt
|
|
|
|
PYSETUPARGS+= --salt-pidfile-dir=${VARBASE}/run
|
2017-05-20 13:30:27 +02:00
|
|
|
PYSETUPARGS+= --salt-sock-dir=${VARBASE}/run/salt
|
2014-03-30 14:31:17 +02:00
|
|
|
|
2016-07-21 19:05:39 +02:00
|
|
|
REPLACE_SH= salt/templates/git/ssh-id-wrapper
|
. Fixed rc.d script by adding comment_interpreter
. Updated salt to version 0.15.0
From SaltStack website:
Salt 0.15.0 comes with many smaller features and a few larger ones.
The Salt Mine
First there was the peer system, allowing for commands to be executed from a
minion to other minions to gather data live. Then there was the external job
cache for storing and accessing long term data. Now the middle ground is being
filled in with the Salt Mine. The Salt Mine is a system used to execute
functions on a regular basis on minions and then store only the most recent
data from the functions on the master, then the data is looked up via targets.
The mine caches data that is public to all minions, so when a minion posts
data to the mine all other minions can see it.
IPV6 Support
0.13.0 saw the addition of initial IPV6 support but errors were encountered
and it needed to be stripped out. This time the code covers more cases and
must be explicitly enabled. But the support is much more extensive than before.
Copy Files From Minions to the Master
Minions have long been able to copy files down from the master file server,
but until now files could not be easily copied from the minion up to the
master.
A new function called cp.push can push files from the minions up to the master
server. The uploaded files are then cached on the master in the master
cachedir for each minon.
Better Template Debugging
Template errors have long been a burden when writing states and pillar. 0.15.0
will now send the compiled template data to the debug log, this makes tracking
down the intermittent stage templates much easier. So running state.sls or
state.highstate with -l debug will now print out the rendered templates in the
debug information.
State Event Firing
The state system is now more closely tied to the master's event bus. Now when
a state fails the failure will be fired on the master event bus so that the
reactor can respond to it.
Major Syndic Updates
The Syndic system has been basically re-written. Now it runs in a completely
asynchronous way and functions primarily as an event broker. This means that
the events fired on the syndic are now pushed up to the higher level master
instead of the old method used which waited for the client libraries to return.
This makes the syndic much more accurate and powerful, it also means that all
events fired on the syndic master make it up the pipe as well making a reactor
on the higher level master able to react to minions further downstream.
Peer System Updates
The Peer System has been updated to run using the client libraries instead of
firing directly over the publish bus. This makes the peer system much more
consistent and reliable.
Minion Key Revocation
In the past when a minion was decommissioned the key needed to be manually
deleted on the master, but now a function on the minion can be used to revoke
the calling minion's key:
salt-call saltutil.revoke_auth
Function Return Codes
Functions can now be assigned numeric return codes to determine if the
function executed successfully. While not all functions have been given return
codes, many have and it is an ongoing effort to fill out all functions that
might return a non-zero return code.
Functions in Overstate
The overstate system was originally created to just manage the execution of
states, but with the addition of return codes to functions, requisite logic
can now be used with respect to the overstate. This means that an overstate
stage can now run single functions instead of just state executions.
Pillar Error Reporting
Previously if errors surfaced in pillar, then the pillar would consist of only
and empty dict. Now all data that was successfully rendered stays in pillar
and the render error is also made available. If errors are found in the
pillar, states will refuse to run.
Using Cached State Data
Sometimes states are executed purely to maintain a specific state rather than
to update states with new configs. This is grounds for the new cached state
system. By adding cache=True to a state call the state will not be generated
fresh from the master but the last state data to be generated will be used.
If no previous state data is available then fresh data will be generated.
Monitoring States
The new monitoring states system has been started. This is very young but
allows for states to be used to configure monitoring routines. So far only one
monitoring state is available, the disk.status state. As more capabilities are
added to Salt UI the monitoring capabilities of Salt will continue to be
expanded.
2013-05-05 14:26:23 +02:00
|
|
|
|
2016-02-16 01:00:08 +01:00
|
|
|
RCD_SCRIPTS+= salt_master salt_minion salt_syndic
|
2017-05-05 17:24:59 +02:00
|
|
|
SMF_INSTANCES= api master minion
|
. Fixed rc.d script by adding comment_interpreter
. Updated salt to version 0.15.0
From SaltStack website:
Salt 0.15.0 comes with many smaller features and a few larger ones.
The Salt Mine
First there was the peer system, allowing for commands to be executed from a
minion to other minions to gather data live. Then there was the external job
cache for storing and accessing long term data. Now the middle ground is being
filled in with the Salt Mine. The Salt Mine is a system used to execute
functions on a regular basis on minions and then store only the most recent
data from the functions on the master, then the data is looked up via targets.
The mine caches data that is public to all minions, so when a minion posts
data to the mine all other minions can see it.
IPV6 Support
0.13.0 saw the addition of initial IPV6 support but errors were encountered
and it needed to be stripped out. This time the code covers more cases and
must be explicitly enabled. But the support is much more extensive than before.
Copy Files From Minions to the Master
Minions have long been able to copy files down from the master file server,
but until now files could not be easily copied from the minion up to the
master.
A new function called cp.push can push files from the minions up to the master
server. The uploaded files are then cached on the master in the master
cachedir for each minon.
Better Template Debugging
Template errors have long been a burden when writing states and pillar. 0.15.0
will now send the compiled template data to the debug log, this makes tracking
down the intermittent stage templates much easier. So running state.sls or
state.highstate with -l debug will now print out the rendered templates in the
debug information.
State Event Firing
The state system is now more closely tied to the master's event bus. Now when
a state fails the failure will be fired on the master event bus so that the
reactor can respond to it.
Major Syndic Updates
The Syndic system has been basically re-written. Now it runs in a completely
asynchronous way and functions primarily as an event broker. This means that
the events fired on the syndic are now pushed up to the higher level master
instead of the old method used which waited for the client libraries to return.
This makes the syndic much more accurate and powerful, it also means that all
events fired on the syndic master make it up the pipe as well making a reactor
on the higher level master able to react to minions further downstream.
Peer System Updates
The Peer System has been updated to run using the client libraries instead of
firing directly over the publish bus. This makes the peer system much more
consistent and reliable.
Minion Key Revocation
In the past when a minion was decommissioned the key needed to be manually
deleted on the master, but now a function on the minion can be used to revoke
the calling minion's key:
salt-call saltutil.revoke_auth
Function Return Codes
Functions can now be assigned numeric return codes to determine if the
function executed successfully. While not all functions have been given return
codes, many have and it is an ongoing effort to fill out all functions that
might return a non-zero return code.
Functions in Overstate
The overstate system was originally created to just manage the execution of
states, but with the addition of return codes to functions, requisite logic
can now be used with respect to the overstate. This means that an overstate
stage can now run single functions instead of just state executions.
Pillar Error Reporting
Previously if errors surfaced in pillar, then the pillar would consist of only
and empty dict. Now all data that was successfully rendered stays in pillar
and the render error is also made available. If errors are found in the
pillar, states will refuse to run.
Using Cached State Data
Sometimes states are executed purely to maintain a specific state rather than
to update states with new configs. This is grounds for the new cached state
system. By adding cache=True to a state call the state will not be generated
fresh from the master but the last state data to be generated will be used.
If no previous state data is available then fresh data will be generated.
Monitoring States
The new monitoring states system has been started. This is very young but
allows for states to be used to configure monitoring routines. So far only one
monitoring state is available, the disk.status state. As more capabilities are
added to Salt UI the monitoring capabilities of Salt will continue to be
expanded.
2013-05-05 14:26:23 +02:00
|
|
|
FILES_SUBST+= PYTHON=${PYTHONBIN:Q}
|
2012-01-21 21:26:58 +01:00
|
|
|
|
. Fixed rc.d script by adding comment_interpreter
. Updated salt to version 0.15.0
From SaltStack website:
Salt 0.15.0 comes with many smaller features and a few larger ones.
The Salt Mine
First there was the peer system, allowing for commands to be executed from a
minion to other minions to gather data live. Then there was the external job
cache for storing and accessing long term data. Now the middle ground is being
filled in with the Salt Mine. The Salt Mine is a system used to execute
functions on a regular basis on minions and then store only the most recent
data from the functions on the master, then the data is looked up via targets.
The mine caches data that is public to all minions, so when a minion posts
data to the mine all other minions can see it.
IPV6 Support
0.13.0 saw the addition of initial IPV6 support but errors were encountered
and it needed to be stripped out. This time the code covers more cases and
must be explicitly enabled. But the support is much more extensive than before.
Copy Files From Minions to the Master
Minions have long been able to copy files down from the master file server,
but until now files could not be easily copied from the minion up to the
master.
A new function called cp.push can push files from the minions up to the master
server. The uploaded files are then cached on the master in the master
cachedir for each minon.
Better Template Debugging
Template errors have long been a burden when writing states and pillar. 0.15.0
will now send the compiled template data to the debug log, this makes tracking
down the intermittent stage templates much easier. So running state.sls or
state.highstate with -l debug will now print out the rendered templates in the
debug information.
State Event Firing
The state system is now more closely tied to the master's event bus. Now when
a state fails the failure will be fired on the master event bus so that the
reactor can respond to it.
Major Syndic Updates
The Syndic system has been basically re-written. Now it runs in a completely
asynchronous way and functions primarily as an event broker. This means that
the events fired on the syndic are now pushed up to the higher level master
instead of the old method used which waited for the client libraries to return.
This makes the syndic much more accurate and powerful, it also means that all
events fired on the syndic master make it up the pipe as well making a reactor
on the higher level master able to react to minions further downstream.
Peer System Updates
The Peer System has been updated to run using the client libraries instead of
firing directly over the publish bus. This makes the peer system much more
consistent and reliable.
Minion Key Revocation
In the past when a minion was decommissioned the key needed to be manually
deleted on the master, but now a function on the minion can be used to revoke
the calling minion's key:
salt-call saltutil.revoke_auth
Function Return Codes
Functions can now be assigned numeric return codes to determine if the
function executed successfully. While not all functions have been given return
codes, many have and it is an ongoing effort to fill out all functions that
might return a non-zero return code.
Functions in Overstate
The overstate system was originally created to just manage the execution of
states, but with the addition of return codes to functions, requisite logic
can now be used with respect to the overstate. This means that an overstate
stage can now run single functions instead of just state executions.
Pillar Error Reporting
Previously if errors surfaced in pillar, then the pillar would consist of only
and empty dict. Now all data that was successfully rendered stays in pillar
and the render error is also made available. If errors are found in the
pillar, states will refuse to run.
Using Cached State Data
Sometimes states are executed purely to maintain a specific state rather than
to update states with new configs. This is grounds for the new cached state
system. By adding cache=True to a state call the state will not be generated
fresh from the master but the last state data to be generated will be used.
If no previous state data is available then fresh data will be generated.
Monitoring States
The new monitoring states system has been started. This is very young but
allows for states to be used to configure monitoring routines. So far only one
monitoring state is available, the disk.status state. As more capabilities are
added to Salt UI the monitoring capabilities of Salt will continue to be
expanded.
2013-05-05 14:26:23 +02:00
|
|
|
PKG_SYSCONFSUBDIR= salt
|
2012-01-21 21:26:58 +01:00
|
|
|
|
. Fixed rc.d script by adding comment_interpreter
. Updated salt to version 0.15.0
From SaltStack website:
Salt 0.15.0 comes with many smaller features and a few larger ones.
The Salt Mine
First there was the peer system, allowing for commands to be executed from a
minion to other minions to gather data live. Then there was the external job
cache for storing and accessing long term data. Now the middle ground is being
filled in with the Salt Mine. The Salt Mine is a system used to execute
functions on a regular basis on minions and then store only the most recent
data from the functions on the master, then the data is looked up via targets.
The mine caches data that is public to all minions, so when a minion posts
data to the mine all other minions can see it.
IPV6 Support
0.13.0 saw the addition of initial IPV6 support but errors were encountered
and it needed to be stripped out. This time the code covers more cases and
must be explicitly enabled. But the support is much more extensive than before.
Copy Files From Minions to the Master
Minions have long been able to copy files down from the master file server,
but until now files could not be easily copied from the minion up to the
master.
A new function called cp.push can push files from the minions up to the master
server. The uploaded files are then cached on the master in the master
cachedir for each minon.
Better Template Debugging
Template errors have long been a burden when writing states and pillar. 0.15.0
will now send the compiled template data to the debug log, this makes tracking
down the intermittent stage templates much easier. So running state.sls or
state.highstate with -l debug will now print out the rendered templates in the
debug information.
State Event Firing
The state system is now more closely tied to the master's event bus. Now when
a state fails the failure will be fired on the master event bus so that the
reactor can respond to it.
Major Syndic Updates
The Syndic system has been basically re-written. Now it runs in a completely
asynchronous way and functions primarily as an event broker. This means that
the events fired on the syndic are now pushed up to the higher level master
instead of the old method used which waited for the client libraries to return.
This makes the syndic much more accurate and powerful, it also means that all
events fired on the syndic master make it up the pipe as well making a reactor
on the higher level master able to react to minions further downstream.
Peer System Updates
The Peer System has been updated to run using the client libraries instead of
firing directly over the publish bus. This makes the peer system much more
consistent and reliable.
Minion Key Revocation
In the past when a minion was decommissioned the key needed to be manually
deleted on the master, but now a function on the minion can be used to revoke
the calling minion's key:
salt-call saltutil.revoke_auth
Function Return Codes
Functions can now be assigned numeric return codes to determine if the
function executed successfully. While not all functions have been given return
codes, many have and it is an ongoing effort to fill out all functions that
might return a non-zero return code.
Functions in Overstate
The overstate system was originally created to just manage the execution of
states, but with the addition of return codes to functions, requisite logic
can now be used with respect to the overstate. This means that an overstate
stage can now run single functions instead of just state executions.
Pillar Error Reporting
Previously if errors surfaced in pillar, then the pillar would consist of only
and empty dict. Now all data that was successfully rendered stays in pillar
and the render error is also made available. If errors are found in the
pillar, states will refuse to run.
Using Cached State Data
Sometimes states are executed purely to maintain a specific state rather than
to update states with new configs. This is grounds for the new cached state
system. By adding cache=True to a state call the state will not be generated
fresh from the master but the last state data to be generated will be used.
If no previous state data is available then fresh data will be generated.
Monitoring States
The new monitoring states system has been started. This is very young but
allows for states to be used to configure monitoring routines. So far only one
monitoring state is available, the disk.status state. As more capabilities are
added to Salt UI the monitoring capabilities of Salt will continue to be
expanded.
2013-05-05 14:26:23 +02:00
|
|
|
EGDIR= ${PREFIX}/share/examples/salt
|
2017-05-20 13:30:27 +02:00
|
|
|
INSTALLATION_DIRS+= ${EGDIR}
|
. Fixed rc.d script by adding comment_interpreter
. Updated salt to version 0.15.0
From SaltStack website:
Salt 0.15.0 comes with many smaller features and a few larger ones.
The Salt Mine
First there was the peer system, allowing for commands to be executed from a
minion to other minions to gather data live. Then there was the external job
cache for storing and accessing long term data. Now the middle ground is being
filled in with the Salt Mine. The Salt Mine is a system used to execute
functions on a regular basis on minions and then store only the most recent
data from the functions on the master, then the data is looked up via targets.
The mine caches data that is public to all minions, so when a minion posts
data to the mine all other minions can see it.
IPV6 Support
0.13.0 saw the addition of initial IPV6 support but errors were encountered
and it needed to be stripped out. This time the code covers more cases and
must be explicitly enabled. But the support is much more extensive than before.
Copy Files From Minions to the Master
Minions have long been able to copy files down from the master file server,
but until now files could not be easily copied from the minion up to the
master.
A new function called cp.push can push files from the minions up to the master
server. The uploaded files are then cached on the master in the master
cachedir for each minon.
Better Template Debugging
Template errors have long been a burden when writing states and pillar. 0.15.0
will now send the compiled template data to the debug log, this makes tracking
down the intermittent stage templates much easier. So running state.sls or
state.highstate with -l debug will now print out the rendered templates in the
debug information.
State Event Firing
The state system is now more closely tied to the master's event bus. Now when
a state fails the failure will be fired on the master event bus so that the
reactor can respond to it.
Major Syndic Updates
The Syndic system has been basically re-written. Now it runs in a completely
asynchronous way and functions primarily as an event broker. This means that
the events fired on the syndic are now pushed up to the higher level master
instead of the old method used which waited for the client libraries to return.
This makes the syndic much more accurate and powerful, it also means that all
events fired on the syndic master make it up the pipe as well making a reactor
on the higher level master able to react to minions further downstream.
Peer System Updates
The Peer System has been updated to run using the client libraries instead of
firing directly over the publish bus. This makes the peer system much more
consistent and reliable.
Minion Key Revocation
In the past when a minion was decommissioned the key needed to be manually
deleted on the master, but now a function on the minion can be used to revoke
the calling minion's key:
salt-call saltutil.revoke_auth
Function Return Codes
Functions can now be assigned numeric return codes to determine if the
function executed successfully. While not all functions have been given return
codes, many have and it is an ongoing effort to fill out all functions that
might return a non-zero return code.
Functions in Overstate
The overstate system was originally created to just manage the execution of
states, but with the addition of return codes to functions, requisite logic
can now be used with respect to the overstate. This means that an overstate
stage can now run single functions instead of just state executions.
Pillar Error Reporting
Previously if errors surfaced in pillar, then the pillar would consist of only
and empty dict. Now all data that was successfully rendered stays in pillar
and the render error is also made available. If errors are found in the
pillar, states will refuse to run.
Using Cached State Data
Sometimes states are executed purely to maintain a specific state rather than
to update states with new configs. This is grounds for the new cached state
system. By adding cache=True to a state call the state will not be generated
fresh from the master but the last state data to be generated will be used.
If no previous state data is available then fresh data will be generated.
Monitoring States
The new monitoring states system has been started. This is very young but
allows for states to be used to configure monitoring routines. So far only one
monitoring state is available, the disk.status state. As more capabilities are
added to Salt UI the monitoring capabilities of Salt will continue to be
expanded.
2013-05-05 14:26:23 +02:00
|
|
|
CONF_FILES+= ${EGDIR}/master ${PKG_SYSCONFDIR}/master
|
|
|
|
CONF_FILES+= ${EGDIR}/minion ${PKG_SYSCONFDIR}/minion
|
2012-01-21 21:26:58 +01:00
|
|
|
|
2017-02-09 16:01:20 +01:00
|
|
|
OWN_DIRS+= ${VARBASE}/salt/file-roots
|
|
|
|
OWN_DIRS+= ${VARBASE}/salt/pillar-roots
|
|
|
|
OWN_DIRS+= ${VARBASE}/salt/master-roots
|
2014-03-30 14:31:17 +02:00
|
|
|
OWN_DIRS+= ${VARBASE}/cache/salt ${VARBASE}/run/salt
|
|
|
|
OWN_DIRS+= ${VARBASE}/log/salt
|
|
|
|
|
2018-02-07 12:11:23 +01:00
|
|
|
SUBST_CLASSES+= fix-path
|
|
|
|
SUBST_STAGE.fix-path= pre-configure
|
|
|
|
SUBST_MESSAGE.fix-path= Fixing hardcoded paths
|
|
|
|
SUBST_FILES.fix-path= conf/*
|
|
|
|
SUBST_FILES.fix-path+= doc/man/* salt/modules/munin.py setup.py
|
|
|
|
SUBST_FILES.fix-path+= salt/utils/rsax931.py salt/grains/core.py
|
|
|
|
SUBST_SED.fix-path= -e 's,/etc/salt,${PKG_SYSCONFDIR},g'
|
|
|
|
SUBST_SED.fix-path+= -e 's,/srv/salt,${VARBASE}/salt/file-roots,g'
|
|
|
|
SUBST_SED.fix-path+= -e 's,/srv/pillar,${VARBASE}/salt/pillar-roots,g'
|
|
|
|
SUBST_SED.fix-path+= -e 's,/etc/munin,${PKG_SYSCONFBASEDIR}/munin,g'
|
|
|
|
SUBST_SED.fix-path+= -e 's,share/man,${PKGMANDIR},g'
|
|
|
|
SUBST_SED.fix-path+= -e 's,/opt/local/lib,${PREFIX}/lib,g'
|
|
|
|
SUBST_SED.fix-path+= -e 's,/opt/local/etc,${PKG_SYSCONFBASEDIR},g'
|
|
|
|
SUBST_SED.fix-path+= -e 's,/var/run,${VARBASE}/run,g'
|
|
|
|
SUBST_SED.fix-path+= -e 's,/var/cache,${VARBASE}/cache,g'
|
|
|
|
SUBST_SED.fix-path+= -e 's,/var/log,${VARBASE}/log,g'
|
2020-05-16 19:45:49 +02:00
|
|
|
SUBST_NOOP_OK.fix-path= yes
|
2018-01-21 14:28:07 +01:00
|
|
|
|
2018-10-23 15:42:43 +02:00
|
|
|
# Contains hardcoded paths to find installed libraries.
|
|
|
|
CHECK_WRKREF_SKIP+= */salt/utils/rsax931.py
|
|
|
|
|
2020-08-18 07:26:08 +02:00
|
|
|
CHECK_PORTABILITY_SKIP+= pkg/*/* pkg/*/*/*
|
|
|
|
|
Update salt from 0.9.5 to 0.10.5.
The new DESCR is taken from the "Introduction to Salt" at
<http://docs.saltstack.org/en/v0.10.5/topics/index.html>.
Here's a copy of the introductory paragraphs from the release notes
for all the intervening versions:
Salt 0.9.6 Release Notes
========================
Salt 0.9.6 is a release targeting a few bugs and changes. This is primarily
targeting an issue found in the names declaration in the state system. But a
few other bugs were also repaired, like missing support for grains in extmods.
Due to a conflict in distribution packaging msgpack will no longer be bundled
with Salt, and is required as a dependency.
Salt 0.9.7 Release Notes
========================
Salt 0.9.7 is here! The latest iteration of Salt brings more features and many
fixes. This release is a great refinement over 0.9.6, adding many conveniences
under the hood, as well as some features that make working with Salt much
better.
A few highlights include the new Job system, refinements to the requisite
system in states, the ``mod_init`` interface for states, external node
classification, search path to managed files in the file state, and refinements
and additions to dynamic module loading.
0.9.7 also introduces the long developed (and oft changed) unit test framework
and the initial unit tests.
Salt 0.9.8 Release Notes
========================
Salt 0.9.8 is a big step forward, with many additions and enhancements, as
well as a number of precursors to advanced future developments.
This version of Salt adds much more power to the command line, making the
old hard timeout issues a thing of the past and adds keyword argument
support. These additions are also available in the salt client api, making
the available api tools much more powerful.
The new pillar system allows for data to be stored on the master and
assigned to minions in a granular way similar to the state system. It also
allows flexibility for users who want to keep data out of their state tree
similar to 'external lookup' functionality in other tools.
A new way to extend requisites was added, the "requisite in" statement.
This makes adding requires or watch statements to external state decs
much easier.
Additions to requisites making them much more powerful have been added as well
as improved error checking for sls files in the state system. A new provider
system has been added to allow for redirecting what modules run in the
background for individual states.
Support for OpenSUSE has been added and support for Solaris has begun
serious development. Windows support has been significantly enhanced as well.
The matcher and target systems have received a great deal of attention. The
default behavior of grain matching has changed slightly to reflect the rest
of salt and the compound matcher system has been refined.
A number of impressive features with keyword arguments have been added to both
the cli and to the state system. This makes states much more powerful and
flexible while maintaining the simple configuration everyone loves.
The new batch size capability allows for executions to be rolled through a
group of targeted minions a percentage or specific number at a time. This
was added to prevent the "thundering herd" problem when targeting large
numbers of minions for things like service restarts or file downloads.
Salt 0.9.9 Release Notes
========================
0.9.9 is out and comes with some serious bug fixes and even more serious
features. This release is the last major feature release before 1.0.0 and
could be considered the 1.0.0 release candidate.
A few updates include more advanced kwargs support, the ability for salt
states to more safely configure a running salt minion, better job directory
management and the new state test interface.
Many new tests have been added as well, including the new minion swarm test
that allows for easier testing of Salt working with large groups of minions.
This means that if you have experienced stability issues with Salt before,
particularly in larger deployments, that these bugs have been tested for,
found, and killed.
Salt 0.10.0 Release Notes
=========================
0.10.0 has arrived! This release comes with MANY bug fixes, and new
capabilities which greatly enhance performance and reliability. This
release is primarily a bug fix release with many new tests and many repaired
bugs. This release also introduces a few new key features which were brought
in primarily to repair bugs and some limitations found in some of the
components of the original architecture.
Salt 0.10.2 Release Notes
=========================
0.10.2 is out! This release comes with enhancements to the pillar interface,
cleaner ways to access the salt-call capabilities in the API, minion data
caching and the event system has been added to salt minions.
There have also been updates to the zeromq functions, many more tests
(thanks to sponsors, the code sprint and many contributors) and a swath
of bug fixes.
Salt 0.10.3 Release Notes
=========================
The latest taste of Salt has come, this release has many fixes and feature
additions. Modifications have been made to make ZeroMQ connections more
reliable, the begining of the ACL system is in place, a new command line
parsing system has been added, dynamic module distribution has become more
environment aware, the new `master_finger` option and many more!
Salt 0.10.4 Release Notes
=========================
Salt 0.10.4 is a monumental release for the Salt team, with two new module
systems, many additions to allow granular access to Salt, improved platform
support and much more.
This release is also exciting because we have been able to shorten the release
cycle back to under a month. We are working hard to keep up the aggressive pace
and look forward to having releases happen more frequently!
This release also includes a serious security fix and all users are very
strongly recommended to upgrade. As usual, upgrade the master first, and then
the minion to ensure that the process is smooth.
Salt 0.10.5 Release Notes
=========================
Salt 0.10.5 is ready, and comes with some great new features. A few more
interfaces have been modularized, like the outputter system. The job cache
system has been made more powerful and can now store and retrieve jobs archived
in external databases. The returner system has been extended to allow minions
to easily retrieve data from a returner interface.
As usual, this is an exciting release, with many noteworthy additions!
2012-12-06 09:01:21 +01:00
|
|
|
post-install:
|
2013-04-28 11:46:24 +02:00
|
|
|
${INSTALL_DATA} ${WRKSRC}/conf/master ${DESTDIR}${EGDIR}/
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/conf/minion ${DESTDIR}${EGDIR}/
|
Update salt from 0.9.5 to 0.10.5.
The new DESCR is taken from the "Introduction to Salt" at
<http://docs.saltstack.org/en/v0.10.5/topics/index.html>.
Here's a copy of the introductory paragraphs from the release notes
for all the intervening versions:
Salt 0.9.6 Release Notes
========================
Salt 0.9.6 is a release targeting a few bugs and changes. This is primarily
targeting an issue found in the names declaration in the state system. But a
few other bugs were also repaired, like missing support for grains in extmods.
Due to a conflict in distribution packaging msgpack will no longer be bundled
with Salt, and is required as a dependency.
Salt 0.9.7 Release Notes
========================
Salt 0.9.7 is here! The latest iteration of Salt brings more features and many
fixes. This release is a great refinement over 0.9.6, adding many conveniences
under the hood, as well as some features that make working with Salt much
better.
A few highlights include the new Job system, refinements to the requisite
system in states, the ``mod_init`` interface for states, external node
classification, search path to managed files in the file state, and refinements
and additions to dynamic module loading.
0.9.7 also introduces the long developed (and oft changed) unit test framework
and the initial unit tests.
Salt 0.9.8 Release Notes
========================
Salt 0.9.8 is a big step forward, with many additions and enhancements, as
well as a number of precursors to advanced future developments.
This version of Salt adds much more power to the command line, making the
old hard timeout issues a thing of the past and adds keyword argument
support. These additions are also available in the salt client api, making
the available api tools much more powerful.
The new pillar system allows for data to be stored on the master and
assigned to minions in a granular way similar to the state system. It also
allows flexibility for users who want to keep data out of their state tree
similar to 'external lookup' functionality in other tools.
A new way to extend requisites was added, the "requisite in" statement.
This makes adding requires or watch statements to external state decs
much easier.
Additions to requisites making them much more powerful have been added as well
as improved error checking for sls files in the state system. A new provider
system has been added to allow for redirecting what modules run in the
background for individual states.
Support for OpenSUSE has been added and support for Solaris has begun
serious development. Windows support has been significantly enhanced as well.
The matcher and target systems have received a great deal of attention. The
default behavior of grain matching has changed slightly to reflect the rest
of salt and the compound matcher system has been refined.
A number of impressive features with keyword arguments have been added to both
the cli and to the state system. This makes states much more powerful and
flexible while maintaining the simple configuration everyone loves.
The new batch size capability allows for executions to be rolled through a
group of targeted minions a percentage or specific number at a time. This
was added to prevent the "thundering herd" problem when targeting large
numbers of minions for things like service restarts or file downloads.
Salt 0.9.9 Release Notes
========================
0.9.9 is out and comes with some serious bug fixes and even more serious
features. This release is the last major feature release before 1.0.0 and
could be considered the 1.0.0 release candidate.
A few updates include more advanced kwargs support, the ability for salt
states to more safely configure a running salt minion, better job directory
management and the new state test interface.
Many new tests have been added as well, including the new minion swarm test
that allows for easier testing of Salt working with large groups of minions.
This means that if you have experienced stability issues with Salt before,
particularly in larger deployments, that these bugs have been tested for,
found, and killed.
Salt 0.10.0 Release Notes
=========================
0.10.0 has arrived! This release comes with MANY bug fixes, and new
capabilities which greatly enhance performance and reliability. This
release is primarily a bug fix release with many new tests and many repaired
bugs. This release also introduces a few new key features which were brought
in primarily to repair bugs and some limitations found in some of the
components of the original architecture.
Salt 0.10.2 Release Notes
=========================
0.10.2 is out! This release comes with enhancements to the pillar interface,
cleaner ways to access the salt-call capabilities in the API, minion data
caching and the event system has been added to salt minions.
There have also been updates to the zeromq functions, many more tests
(thanks to sponsors, the code sprint and many contributors) and a swath
of bug fixes.
Salt 0.10.3 Release Notes
=========================
The latest taste of Salt has come, this release has many fixes and feature
additions. Modifications have been made to make ZeroMQ connections more
reliable, the begining of the ACL system is in place, a new command line
parsing system has been added, dynamic module distribution has become more
environment aware, the new `master_finger` option and many more!
Salt 0.10.4 Release Notes
=========================
Salt 0.10.4 is a monumental release for the Salt team, with two new module
systems, many additions to allow granular access to Salt, improved platform
support and much more.
This release is also exciting because we have been able to shorten the release
cycle back to under a month. We are working hard to keep up the aggressive pace
and look forward to having releases happen more frequently!
This release also includes a serious security fix and all users are very
strongly recommended to upgrade. As usual, upgrade the master first, and then
the minion to ensure that the process is smooth.
Salt 0.10.5 Release Notes
=========================
Salt 0.10.5 is ready, and comes with some great new features. A few more
interfaces have been modularized, like the outputter system. The job cache
system has been made more powerful and can now store and retrieve jobs archived
in external databases. The returner system has been extended to allow minions
to easily retrieve data from a returner interface.
As usual, this is an exciting release, with many noteworthy additions!
2012-12-06 09:01:21 +01:00
|
|
|
|
salt salt-docs: updated to 3004
SALT 3004 RELEASE NOTES - CODENAME SILICON
NEW FEATURES
TRANSACTIONAL SYSTEM SUPPORT (MICROOS)
A transactional system, like MicroOS, can present some challenges when the user decided to manage it via Salt.
MicroOS provide a read-only rootfs and a tool, transactional-update, that takes care of the management of the system (updating, upgrading, installation or reboot, among others) in an atomic way.
Atomicity is the main feature of MicroOS, and to guarantee this property, this model leverages snapper, zypper, btrfs and overlayfs to create snapshots that will be updated independently of the currently running system, and that are activated after the reboot. This implies, for example, that some changes made on the system are not visible until the next reboot, as those changes are living in a different snapshot of the file system.
Salt 3004 (Silicon) support this type of system via two new modules (transactional_update and rebootmgr) and a new executor (transactional_update).
The new modules will provide all the low level API for interacting with transactional systems, like defining a mantenance window where the system is free to reboot and activate the new state, or install new software in a new transaction. It will also provide hight level of abstractions that will allows us to execute Salt module functions or applying states inside new transactions.
The execution module will help us to treat the transactional system transparently (like the traditional ones), using a mechanism that will delegate some Salt modules execution into the new transactional_update module.
REMOVED
Removed the deprecated glance state and execution module in favor of the glance_image state module and the glanceng execution module.
Removed support for Ubuntu 16.04
Removed the deprecated support for gid_from_name from the user state module
Removed deprecated virt.migrate_non_shared, virt.migrate_non_shared_inc, ssh from virt.migrate, and python2/python3 args from salt.utils.thin.gen_min and .gen_thin
DEPRECATED
The _ext_nodes alias to the master_tops function was added back in 3004 to maintain backwards compatibility with older supported versions. This alias will now be removed in 3006. This change will break Master and Minion communication compatibility with Salt minions running versions 3003 and lower.
utils/boto3_elasticsearch is no longer needed
Changed "manufacture" grain to "manufacturer" for Solaris on SPARC to unify the name across all platforms. The old "manufacture" grain is now deprecated and will be removed in Sulfur
Deprecate salt.payload.Serial
CHANGED
Changed nginx.version to return version without nginx/ prefix.
Updated Slack webhook returner to support event returns on salt-master
Parsing Epoch out of version during pkg remove, since yum can't handle that in all of the cases.
Add extra onfail req check in the state engine to allow onfail to be used with onchanges and other reqs in the same state
Changed the default character set used by utils.pycrypto.secure_password() to include symbols and implemented arguments to control the used character set.
FIXED
Set default 'bootstrap_delay' to 0
Fixed issue where multiple args to netapi were not preserved
Handle all repo formats in the aptpkg module.
Do not break master_tops for minion with version lower to 3003 This is going to be removed in Salt 3006 (Sulfur)
Reverting changes in 60150. Updating installed and removed functions to return changes when test=True.
Handle signals and properly exit, instead of raising exceptions.
Redirect imports of salt.ext.six to six
Surface strerror to user state instead of returning false
Fixing _get_envs() to preserve the order of pillar_roots. _get_envs() returned pillar_roots in a non-deterministic order.
Fixes salt-cloud KeyError that occurs when there exists any subnets with no tags when profiles use subnetname
Fixes postgres_local_cache by removing duplicate unicode encoding.
Fixing the state aggregation system to properly handle requisities. Fixing pkg state to exclude packages from aggregation if the hold attribute is in the state.
fix issue that allows case sensitive files to be carried through
Allow GCE Salt Cloud to use previously created IP Addresses.
Fixing rabbitmq.list_user_permissions to ensure we are returning a permission list with three elements even when some values are empty.
Periodically restart the fileserver update process to avoid leaks
Fix default value to dictionary for mine_function
Allow user.present to work on Alpine Linux by fixing linux_shadow.info
Ensure that zypper is called with only one --no-refresh parameter
Fixed fileclient cachedir path switching from master to minion due to incorrect MasterMinion configuration
Fixed the container detection inside virtual machines
Fix invalid dnf command when obsoletes=True in pkg.update function
Jinja renderer resolves wrong relative paths when importing subdirectories
Fixed bug 55262 where salt.modules.iptables would call cmd.run and receive and interpret interspersed stdout and stderr output from subprocesses.
Updated pcs support to handle auth and setup for new syntax supporting version 0.10
Reinstate ignore_cidr option in salt-cloud openstack driver
Fix for network.wolmatch runner displaying 'invalid arguments' error with valid arguements
Fixed bug 57490, which prevented package installation for Open Euler and Issabel PBX. Both Open Euler and Issabel PBX use Yum for package management, added them to yumpkg.py.
Better handling of bad RSA public keys from minions
Fixing various functions in the file state module that use user.info to get group information, certain hosts particularly proxy minions do not have the user.info function avaiable.
Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules
Fix --subset command line option, and support old 'sub' parameter name in cmd_subset for backwards compatibility
When calling salt.utils.http.query with a HEAD method to check for the existence of a source ensure that decode_body is False, so the file is not downloaded into memory when we don't need the contents.
Update the runas user on freebsd for postgres versions >9.5, since freebsd will be removing the package on 2021-05-13.
Fix pip module linked requirements file parsing
Fix incorrect hostname quoting in /etc/sysconfig/networking on Red Hat family OS.
Fix Xen DomU virt detection in grains for long running machines.
add encoding when windows encoding is not defaulting to utf8
Fix "aptpkg.normalize_name" in case the arch is "all" for DEB packages
Astra Linux now considered a Debian family distro
Reworking the mysql module and state so that passwordless does not try to use unix_socket until unix_socket is set to True.
Fixed the zabbix module to read the connection data from pillar.
Fix crash on "yumpkg" execution module when unexpected output at listing patches
Remove return that had left over py2 code from win_path.py
Don't create spicevmc channel for Xen virtual machines
Fix win_servermanager.install so it will reboot when restart=True is passed
Clear the cached network interface grains during minion init and grains refresh
Normalized grain output for LXC containers
Fix typo in 'salt/states/cmd.py' to use "comment" instead of "commnd".
add aliyun linux support and set alinux as redhat family
Don't fail updating network without netmask ip attribute
Fixed using reserved keyword 'set' as function argument in modules/ipset.py
Return empty changes when nothing has been done in virt.defined and virt.running states
Import salt.utils.azurearm instead of using __utils__ from loader in azure cloud. This fixes an issue where __utils__ would become unavailable when we are using the ThreadPool in azurearm.
Fix an issue with the LGPO module when the gpt.ini file contains unix style line endings (/n). This was happening on a Windows Server 2019 instance created in Google Cloud Platform (GCP).
The ansiblegate module now correctly passes keyword arguments to Ansible module calls
Make sure cmdmod._log_cmd handles tuples properly
Updating the add, delete, modify, enable_job, and disable_job functions to return appropriate changes.
Apply pre-commit changes to entire codebase.
Fix Hetzner cloud driver does not recognize machines when rolling out a map
Update Windows build deps & DLLs, Use Python 3.8, libsodium.dll 1.0.18, OpenSSL dlls to 1.1.1k
Salt api verifies proper log file path when providing '--log-file' from the cli
Detect Mendel Linux as Debian
Fixed compilation of requisite_ins by also checking state type along with name/id
Fix xen._get_vm() to not break silently when a VM and a template on XenServer have the same name.
Added missing space for nftables.build_rule when using saddr or daddr.
Add back support to load old entrypoints by iterating instead of type checking
Fixed interrupting salt-call in a pdb session.
Validate we can import map files in states
Update alter_db to return True or False depending on the success of failure of the alter. Update grant_exists to only use the full list of available privileges when the grant is on the global level, eg. datbase is ".".
Fixed firewalld.list_zones when any "rich rules" is set
IPCMessageSubscriber objects expose their connect method as a corotine so they can be wrapped by SyncWrapper.
Allow for Napalm dependency netmiko_mod to load correctly when used by Napalm with Cisco IOS
Ensure proper access to the created temporary file when runas is passed to cmd.exec_code_all
Fixed an IndexError in pkgng.latest_version when querying an unknown package.
Fixed pkgng.latest_version when querying by origin (e.g. "shells/bash").
Gracefuly handle errors in virt.vm_info
The LGPO Module now uses "Success and Failure" for normal audit settings and advanced audit settings
Fixing tests/pytests/unit/utils/scheduler/test_eval.py tests so the sleep happens before the status, so the job is given time before we check it.
Update the external ipaddress to the latest 3.9.5 version which has some security fixes. Updating the compat.p to use the vendored version if the python version is below 3.9.5 and only run the test_ipaddress.py tests if below 3.9.5.
Fixed ValueError exception in state.show_state_usage
Redact the username and password when something goes wrong when using an HTTP source and we raise an exception.
Inject the Ansible functions into Salt's ansiblegate module which was broken on the 3001 release.
Figure out the available Python version inside containers when executing "dockermod.call" function
Handle IPv6 route types such as anycast, multicast, etc when returned from IPv6 route table queries
Move the commonly used code that converts a list to a dictionary into salt.utils.beacons. Fixing inotify beacon close function to ensure the configuration is converted from the provided list format into a dictionary.
Set name of engine subprocesses
Properly discover block devices path in virt.running
Avoid exceptions when handling some exception cases.
Fixed faulty error message in npm.installed state.
Port option reinstated for Junos Proxy (accidentally removed)
Now hosts.rm_host can remove entries from /etc/hosts when this file have inline comments.
Fixes issue where the full same name is not used when making rights assignments with group policy
Fixed zabbix_host.present to not overwrite inventory_mode to "manual" everytime inventory is updated.
Allowed zabbix_host.present to do partial updates of inventory, also don't erase everything if inventory is missing in state definition.
Fixing the mysql_cache module to handle binary inserting binary data into the database. Initially adding tests.
Fixed host_inventory_get to not throw an exception if host does not exist
Check for /dev/kvm to detect KVM hypervisor.
Fixing file.accumulated handling of dependencies when the state_id is used instead of {function: state_id} format.
Adding the ability for yumpkg.remove to handle package names with widdcards.
Pass emulator path to get guest capabilities from libvirt
virt.get_disks: properly report qemu-img errors
Make all platforms have psutils. This prevents a minion from starting if an instance is all ready running.
Ignore configuration for 'enable_fqdns_grains' for AIX, Solaris and Juniper, assume False
Remove check for TIAMAT_BUILD enforcing USE_STATIC_REQUIREMENTS, this is now controled by Tiamat v7.10.1 and above
Have the beacon call run through a try...except, catching any errors, logging and firing an event that includes the error. Fixing the swapusage beacon to ensure value is a string before we attempt to filter out the %.
Refactor loader into logical sub-modules
Clean up references to ZMQDefaultLoop
change dep warn from Silicon to Phosphorus for the cmd,show,system_info and add_config functions in the nxos module.
Fix bug 60602 where the hetzner cloud provider isn't recognized correctly
Fix the pwd.getpwnam caching issue on macOS user module
Fixing beacons that can include a value in their configuration that may or may not included a percentage. We want to handle the situation where the percentage sign is not included and the value is not handled as a string.
Fix RuntimeError in process manager
Ensure all data that is being passed along to LDAP is in an OrderedSet and contains bytes.
Update the AWS API version so VMs spun up by salt-cloud where the VPC has it enabled to assign ipv6 addresses by default, actually get ipv6 addresses assigned by default.
Remove un-needed singletons from tranports
ADDED
Add windows support for file.patch with patch.exe from git for windows optional packages
Added ability to pass exclude kwarg to salt.state inside orchestrate.
Added success_stdout and success_stderr arguments to cmd.run, to override default return code behavior.
The netbox pillar now been enhanced to add support for querying virtual machines (in addition to devices), as well as minion interfaces and associated IP addresses.
Add support for transactional systems, like openSUSE MicroOS
Added namespace headers to allow use of namespace from config to communicate with Vault Enterprise namespaces
boto3mod unit tests
New decorators allow_one_of() and require_one_of()
Added nosync switch to disable initial raid synchronization
Expanded the documentation for the netbox pillar.
Rocky Linux has been added to the RedHat os_family.
Add "poudriere -i -j jail_name" option to list jail information for poudriere
Added the grains.uuid on Windows platform
Add a salt.util.platform check to detect the AArch64 64-bit extension of the ARM architecture.
Adding support for Deltaproxy controlled proxy minions into Salt Open.
Added functions to slsutil execution module to test if files exist in the state tree Added funtion to slsutil execution module to search for a file by walking up the state tree
Allow module_refresh to also refresh available beacons, eg. following a Python library being installed and "refresh_modules" being passed as an argument in a state.
Add the detect_remote_minions and remote_minions_port options to allow the master to detect remote ports for connected minions. This will allow users to detect Heist-Salt minions the master is connected to over port 22 by default.
Add the python rpm-vercmp library in the rpm_lowpkg.py module.
Allow a user to use the aptpkg.py module without installing python-apt.
2021-11-14 21:01:17 +01:00
|
|
|
.include "../../lang/python/egg.mk"
|
2012-01-21 21:26:58 +01:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|