Merge branch '2019.2' into 2019.2

This commit is contained in:
Pedro Algarvio 2019-02-28 13:51:37 +00:00 committed by GitHub
commit 342244a99c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
247 changed files with 8953 additions and 1234 deletions

3
.gitignore vendored
View file

@ -95,6 +95,9 @@ tests/integration/cloud/providers/pki/minions
# Ignore tox virtualenvs
/.tox/
# Ignore nox virtualenvs
/.nox/
# Kitchen tests files
.kitchen.local.yml
.kitchen/

View file

@ -255,9 +255,9 @@ on_saltstack = 'SALT_ON_SALTSTACK' in os.environ
project = 'Salt'
version = salt.version.__version__
latest_release = '2018.3.3' # latest release
previous_release = '2017.7.8' # latest release from previous branch
previous_release_dir = '2017.7' # path on web server for previous branch
latest_release = '2019.2.0' # latest release
previous_release = '2018.3.4' # latest release from previous branch
previous_release_dir = '2018.3' # path on web server for previous branch
next_release = '' # next release
next_release_dir = '' # path on web server for next release branch
@ -268,11 +268,10 @@ if on_saltstack:
copyright = time.strftime("%Y")
# < --- START do not merge these settings to other branches START ---> #
build_type = 'develop' # latest, previous, develop, next
build_type = 'latest' # latest, previous, develop, next
release = latest_release
# < --- END do not merge these settings to other branches END ---> #
release = latest_release if build_type == 'develop' else version
# Set google custom search engine
if release == latest_release:

View file

@ -2646,6 +2646,8 @@ can have multiple root directories. The subdirectories in the multiple file
roots cannot match, otherwise the downloaded files will not be able to be
reliably ensured. A base environment is required to house the top file.
As of 2018.3.5 and 2019.2.1, it is possible to have `__env__` as a catch-all environment.
Example:
.. code-block:: yaml
@ -2659,6 +2661,8 @@ Example:
prod:
- /srv/salt/prod/services
- /srv/salt/prod/states
__env__:
- /srv/salt/default
.. note::
For masterless Salt, this parameter must be specified in the minion config

View file

@ -847,6 +847,23 @@ A value of 10 minutes is a reasonable default.
grains_refresh_every: 0
.. conf_minion:: metadata_server_grains
``metadata_server_grains``
--------------------------
.. versionadded:: 2017.7.0
Default: ``False``
Set this option to enable gathering of cloud metadata from
``http://169.254.169.254/latest`` for use in grains (see :py:mod:`here
<salt.grains.metadata>` for more information).
.. code-block:: yaml
metadata_server_grains: True
.. conf_minion:: fibre_channel_grains
``fibre_channel_grains``

View file

@ -29,7 +29,7 @@ execution modules
apache
apcups
apf
apk
apkpkg
aptpkg
archive
arista_pyeapi
@ -42,7 +42,7 @@ execution modules
bcache
beacons
bigip
bluez
bluez_bluetooth
boto3_elasticache
boto3_route53
boto_apigateway
@ -107,7 +107,7 @@ execution modules
ddns
deb_apache
deb_postgres
debbuild
debuild_pkgbuild
debconfmod
debian_ip
debian_service
@ -120,13 +120,13 @@ execution modules
dnsutil
dockercompose
dockermod
dpkg
dpkg_lowpkg
drac
dracr
drbd
dummyproxy_package
dummyproxy_pkg
dummyproxy_service
ebuild
ebuildpkg
eix
elasticsearch
environ
@ -169,14 +169,13 @@ execution modules
hg
hipchat
hosts
htpasswd
http
ifttt
ilo
icinga2
incron
influx
influx08
influxdbmod
influxdb08mod
infoblox
ini_manage
inspectlib
@ -210,7 +209,7 @@ execution modules
keystoneng
kmod
kubernetes
launchctl
launchctl_service
layman
ldap3
ldapmod
@ -230,14 +229,14 @@ execution modules
lvs
lxc
mac_assistive
mac_brew
mac_defaults
mac_brew_pkg
macdefaults
mac_desktop
mac_group
mac_keychain
mac_package
macpackage
mac_pkgutil
mac_ports
mac_portspkg
mac_power
mac_service
mac_shadow
@ -252,7 +251,7 @@ execution modules
marathon
match
mattermost
mdadm
mdadm_raid
mdata
memcached
mine
@ -270,12 +269,13 @@ execution modules
nacl
nagios
nagios_rpc
namecheap_dns
namecheap_domains_dns
namecheap_domains
namecheap_ns
namecheap_domains_ns
namecheap_ssl
namecheap_users
napalm_acl
napalm_mod
napalm_netacl
napalm_bgp
napalm_formula
napalm_mod
@ -308,7 +308,7 @@ execution modules
omapi
openbsd_sysctl
openbsdpkg
openbsdrcctl
openbsdrcctl_service
openbsdservice
openscap
openstack_config
@ -319,13 +319,13 @@ execution modules
oracle
osquery
out
pacman
pacmanpkg
pagerduty
pagerduty_util
pam
panos
parallels
parted
parted_partition
pcs
pdbedit
pecl
@ -366,7 +366,7 @@ execution modules
rdp
redismod
reg
rest_package
rest_pkg
rest_sample_utils
rest_service
restartcheck
@ -374,8 +374,8 @@ execution modules
rh_ip
rh_service
riak
rpm
rpmbuild
rpm_lowpkg
rpmbuild_pkgbuild
rsync
runit
rvm
@ -404,14 +404,14 @@ execution modules
smartos_virt
smartos_vmadm
smbios
smf
smf_service
smtp
solaris_fmadm
solaris_group
solaris_shadow
solaris_system
solaris_user
solarisips
solarisipspkg
solarispkg
solr
solrcloud
@ -419,7 +419,7 @@ execution modules
splunk_search
sqlite3
ssh
ssh_package
ssh_pkg
ssh_service
snapper
state
@ -437,7 +437,7 @@ execution modules
sysrc
system
system_profiler
systemd
systemd_service
telegram
telemetry
temp
@ -453,7 +453,7 @@ execution modules
tuned
twilio_notify
udev
upstart
upstart_service
uptime
useradd
uwsgi
@ -467,6 +467,7 @@ execution modules
virtualenv_mod
vmctl
vsphere
webutil
win_autoruns
win_certutil
win_dacl
@ -488,7 +489,7 @@ execution modules
win_pki
win_powercfg
win_psget
win_repo
winrepo
win_servermanager
win_service
win_shadow
@ -501,7 +502,7 @@ execution modules
win_useradd
win_wua
x509
xapi
xapi_virt
xbpspkg
xfs
xmpp
@ -516,4 +517,4 @@ execution modules
zonecfg
zookeeper
zpool
zypper
zypperpkg

View file

@ -1,6 +0,0 @@
salt.modules.apk module
=======================
.. automodule:: salt.modules.apk
:members:
:undoc-members:

View file

@ -0,0 +1,7 @@
===================
salt.modules.apkpkg
===================
.. automodule:: salt.modules.apkpkg
:members:
:undoc-members:

View file

@ -1,6 +0,0 @@
==================
salt.modules.bluez
==================
.. automodule:: salt.modules.bluez
:members:

View file

@ -0,0 +1,6 @@
============================
salt.modules.bluez_bluetooth
============================
.. automodule:: salt.modules.bluez_bluetooth
:members:

View file

@ -1,6 +0,0 @@
=====================
salt.modules.debbuild
=====================
.. automodule:: salt.modules.debbuild
:members:

View file

@ -1,7 +1,6 @@
==============================
salt.modules.napalm_acl module
salt.modules.debuild_pkgbuild
==============================
.. automodule:: salt.modules.napalm_acl
.. automodule:: salt.modules.debuild_pkgbuild
:members:

View file

@ -1,6 +0,0 @@
=================
salt.modules.dpkg
=================
.. automodule:: salt.modules.dpkg
:members:

View file

@ -0,0 +1,6 @@
========================
salt.modules.dpkg_lowpkg
========================
.. automodule:: salt.modules.dpkg_lowpkg
:members:

View file

@ -1,6 +0,0 @@
salt.modules.dummyproxy_package module
======================================
.. automodule:: salt.modules.dummyproxy_package
:members:
:undoc-members:

View file

@ -0,0 +1,7 @@
==================================
salt.modules.dummyproxy_pkg module
==================================
.. automodule:: salt.modules.dummyproxy_pkg
:members:
:undoc-members:

View file

@ -1,7 +0,0 @@
===================
salt.modules.ebuild
===================
.. automodule:: salt.modules.ebuild
:members:
:exclude-members: available_version

View file

@ -0,0 +1,7 @@
======================
salt.modules.ebuildpkg
======================
.. automodule:: salt.modules.ebuildpkg
:members:
:exclude-members: available_version

View file

@ -1,6 +0,0 @@
=====================
salt.modules.htpasswd
=====================
.. automodule:: salt.modules.htpasswd
:members:

View file

@ -1,6 +0,0 @@
===================
salt.modules.influx
===================
.. automodule:: salt.modules.influx
:members:

View file

@ -1,6 +0,0 @@
salt.modules.influx08 module
============================
.. automodule:: salt.modules.influx08
:members:
:undoc-members:

View file

@ -0,0 +1,7 @@
==========================
salt.modules.influxdb08mod
==========================
.. automodule:: salt.modules.influxdb08mod
:members:
:undoc-members:

View file

@ -0,0 +1,6 @@
========================
salt.modules.influxdbmod
========================
.. automodule:: salt.modules.influxdbmod
:members:

View file

@ -1,6 +0,0 @@
======================
salt.modules.launchctl
======================
.. automodule:: salt.modules.launchctl
:members:

View file

@ -0,0 +1,6 @@
==============================
salt.modules.launchctl_service
==============================
.. automodule:: salt.modules.launchctl_service
:members:

View file

@ -1,5 +0,0 @@
salt.modules.mac_brew module
============================
.. automodule:: salt.modules.mac_brew
:members:

View file

@ -0,0 +1,6 @@
=========================
salt.modules.mac_brew_pkg
=========================
.. automodule:: salt.modules.mac_brew_pkg
:members:

View file

@ -1,5 +0,0 @@
salt.modules.mac_defaults module
================================
.. automodule:: salt.modules.mac_defaults
:members:

View file

@ -1,5 +0,0 @@
salt.modules.mac_package module
===============================
.. automodule:: salt.modules.mac_package
:members:

View file

@ -1,5 +0,0 @@
salt.modules.mac_ports module
=============================
.. automodule:: salt.modules.mac_ports
:members:

View file

@ -0,0 +1,6 @@
=========================
salt.modules.mac_portspkg
=========================
.. automodule:: salt.modules.mac_portspkg
:members:

View file

@ -0,0 +1,6 @@
========================
salt.modules.macdefaults
========================
.. automodule:: salt.modules.macdefaults
:members:

View file

@ -0,0 +1,6 @@
=======================
salt.modules.macpackage
=======================
.. automodule:: salt.modules.macpackage
:members:

View file

@ -1,6 +0,0 @@
==================
salt.modules.mdadm
==================
.. automodule:: salt.modules.mdadm
:members:

View file

@ -0,0 +1,6 @@
=======================
salt.modules.mdadm_raid
=======================
.. automodule:: salt.modules.mdadm_raid
:members:

View file

@ -1,6 +0,0 @@
salt.modules.namecheap_dns module
=================================
.. automodule:: salt.modules.namecheap_dns
:members:
:undoc-members:

View file

@ -0,0 +1,7 @@
==================================
salt.modules.namecheap_domains_dns
==================================
.. automodule:: salt.modules.namecheap_domains_dns
:members:
:undoc-members:

View file

@ -0,0 +1,7 @@
=================================
salt.modules.namecheap_domains_ns
=================================
.. automodule:: salt.modules.namecheap_domains_ns
:members:
:undoc-members:

View file

@ -1,6 +0,0 @@
salt.modules.namecheap_ns module
================================
.. automodule:: salt.modules.namecheap_ns
:members:
:undoc-members:

View file

@ -0,0 +1,7 @@
==========================
salt.modules.napalm_netacl
==========================
.. automodule:: salt.modules.napalm_netacl
:members:

View file

@ -1,6 +0,0 @@
=========================
salt.modules.openbsdrcctl
=========================
.. automodule:: salt.modules.openbsdrcctl
:members:

View file

@ -0,0 +1,6 @@
====================================
salt.modules.openbsdrcctl_service.py
====================================
.. automodule:: salt.modules.openbsdrcctl_service
:members:

View file

@ -1,7 +0,0 @@
===================
salt.modules.pacman
===================
.. automodule:: salt.modules.pacman
:members:
:exclude-members: available_version

View file

@ -0,0 +1,7 @@
======================
salt.modules.pacmanpkg
======================
.. automodule:: salt.modules.pacmanpkg
:members:
:exclude-members: available_version

View file

@ -1,6 +0,0 @@
===================
salt.modules.parted
===================
.. automodule:: salt.modules.parted
:members:

View file

@ -0,0 +1,6 @@
=============================
salt.modules.parted_partition
=============================
.. automodule:: salt.modules.parted_partition
:members:

View file

@ -1,6 +0,0 @@
=========================
salt.modules.rest_package
=========================
.. automodule:: salt.modules.rest_package
:members:

View file

@ -0,0 +1,6 @@
=====================
salt.modules.rest_pkg
=====================
.. automodule:: salt.modules.rest_pkg
:members:

View file

@ -1,6 +0,0 @@
================
salt.modules.rpm
================
.. automodule:: salt.modules.rpm
:members:

View file

@ -0,0 +1,6 @@
=======================
salt.modules.rpm_lowpkg
=======================
.. automodule:: salt.modules.rpm_lowpkg
:members:

View file

@ -1,6 +0,0 @@
=====================
salt.modules.rpmbuild
=====================
.. automodule:: salt.modules.rpmbuild
:members:

View file

@ -0,0 +1,6 @@
==============================
salt.modules.rpmbuild_pkgbuild
==============================
.. automodule:: salt.modules.rpmbuild_pkgbuild
:members:

View file

@ -1,6 +0,0 @@
================
salt.modules.smf
================
.. automodule:: salt.modules.smf
:members:

View file

@ -0,0 +1,6 @@
========================
salt.modules.smf_service
========================
.. automodule:: salt.modules.smf_service
:members:

View file

@ -1,6 +0,0 @@
=======================
salt.modules.solarisips
=======================
.. automodule:: salt.modules.solarisips
:members:

View file

@ -0,0 +1,6 @@
==========================
salt.modules.solarisipspkg
==========================
.. automodule:: salt.modules.solarisipspkg
:members:

View file

@ -1,5 +0,0 @@
salt.modules.ssh_package module
===============================
.. automodule:: salt.modules.ssh_package
:members:

View file

@ -0,0 +1,5 @@
salt.modules.ssh_pkg
====================
.. automodule:: salt.modules.ssh_pkg
:members:

View file

@ -1,6 +0,0 @@
====================
salt.modules.systemd
====================
.. automodule:: salt.modules.systemd
:members:

View file

@ -0,0 +1,6 @@
============================
salt.modules.systemd_service
============================
.. automodule:: salt.modules.systemd_service
:members:

View file

@ -1,6 +0,0 @@
====================
salt.modules.upstart
====================
.. automodule:: salt.modules.upstart
:members:

View file

@ -0,0 +1,6 @@
============================
salt.modules.upstart_service
============================
.. automodule:: salt.modules.upstart_service
:members:

View file

@ -0,0 +1,6 @@
====================
salt.modules.webutil
====================
.. automodule:: salt.modules.webutil
:members:

View file

@ -1,6 +0,0 @@
=====================
salt.modules.win_repo
=====================
.. automodule:: salt.modules.win_repo
:members:

View file

@ -0,0 +1,6 @@
====================
salt.modules.winrepo
====================
.. automodule:: salt.modules.winrepo
:members:

View file

@ -1,6 +0,0 @@
=================
salt.modules.xapi
=================
.. automodule:: salt.modules.xapi
:members:

View file

@ -0,0 +1,6 @@
======================
salt.modules.xapi_virt
======================
.. automodule:: salt.modules.xapi_virt
:members:

View file

@ -1,7 +0,0 @@
===================
salt.modules.zypper
===================
.. automodule:: salt.modules.zypper
:members:
:exclude-members: list_updates, available_version

View file

@ -0,0 +1,7 @@
======================
salt.modules.zypperpkg
======================
.. automodule:: salt.modules.zypperpkg
:members:
:exclude-members: list_updates, available_version

View file

@ -17,7 +17,7 @@ Follow one of the below links for further information and examples
key
nested
newline_values_only
no_out
no_out_quiet
no_return
overstatestage
pony

View file

@ -1,6 +0,0 @@
==================
salt.output.no_out
==================
.. automodule:: salt.output.no_out
:members:

View file

@ -0,0 +1,6 @@
========================
salt.output.no_out_quiet
========================
.. automodule:: salt.output.no_out_quiet
:members:

View file

@ -31,7 +31,7 @@ returner modules
mongo_return
multi_returner
mysql
nagios_return
nagios_nrdp_return
odbc
pgjsonb
postgres

View file

@ -0,0 +1,6 @@
=================================
salt.returners.nagios_nrdp_return
=================================
.. automodule:: salt.returners.nagios_nrdp_return
:members:

View file

@ -1,6 +0,0 @@
============================
salt.returners.nagios_return
============================
.. automodule:: salt.returners.nagios_return
:members:

View file

@ -114,7 +114,6 @@ state modules
hg
hipchat
host
htpasswd
http
icinga2
ifttt
@ -165,13 +164,13 @@ state modules
lvs_service
lxc
mac_assistive
mac_defaults
macdefaults
mac_keychain
mac_package
macpackage
mac_xattr
makeconf
marathon_app
mdadm
mdadm_raid
memcached
modjk
modjk_worker
@ -191,7 +190,7 @@ state modules
netsnmp
netusers
network
netyang
net_napalm_yang
neutron_network
neutron_secgroup
neutron_secgroup_rule
@ -291,6 +290,7 @@ state modules
victorops
virt
virtualenv_mod
webutil
win_certutil
win_dacl
win_dism

View file

@ -1,6 +0,0 @@
====================
salt.states.htpasswd
====================
.. automodule:: salt.states.htpasswd
:members:

View file

@ -1,5 +0,0 @@
salt.states.mac_defaults module
===============================
.. automodule:: salt.states.mac_defaults
:members:

View file

@ -1,5 +0,0 @@
salt.states.mac_package module
==============================
.. automodule:: salt.states.mac_package
:members:

View file

@ -0,0 +1,6 @@
=======================
salt.states.macdefaults
=======================
.. automodule:: salt.states.macdefaults
:members:

View file

@ -0,0 +1,6 @@
======================
salt.states.macpackage
======================
.. automodule:: salt.states.macpackage
:members:

View file

@ -1,6 +0,0 @@
=================
salt.states.mdadm
=================
.. automodule:: salt.states.mdadm
:members:

View file

@ -0,0 +1,6 @@
======================
salt.states.mdadm_raid
======================
.. automodule:: salt.states.mdadm_raid
:members:

View file

@ -0,0 +1,7 @@
===========================
salt.states.net_napalm_yang
===========================
.. automodule:: salt.states.net_napalm_yang
:members:

View file

@ -1,7 +0,0 @@
===================
salt.states.netyang
===================
.. automodule:: salt.states.netyang
:members:

View file

@ -0,0 +1,6 @@
===================
salt.states.webutil
===================
.. automodule:: salt.states.webutil
:members:

View file

@ -520,7 +520,7 @@ services. For more information on service certificates, see the following link:
* `Manage Certificates`__
.. __: https://msdn.microsoft.com/en-us/library/azure/gg981929.aspx
.. __: https://docs.microsoft.com/en-us/azure/cloud-services/cloud-services-certs-create
The following functions are available.

View file

@ -237,3 +237,17 @@ Defined in: State
__sdb__
-------
Defined in: SDB
Additional Globals
==================
Defined for: Runners, Execution Modules, Wheels
* ``__jid__``: The job ID
* ``__user__``: The user
* ``__tag__``: The jid tag
* ``__jid_event__``: A :py:class:`salt.utils.event.NamespacedEvent`.
:py:class:`NamespacedEvent <salt.utils.event.NamespacedEvent>` defines a single
method :py:meth:`fire_event <salt.utils.event.NamespacedEvent.fire_event>`, that takes data and tag. The :ref:`Runner docs <runners>` has examples.

View file

@ -163,10 +163,10 @@ A few examples of salt states from the community:
* https://github.com/bclermont/states
* https://github.com/pcrews/salt-data
Follow on ohloh
===============
Follow on Open Hub
==================
https://www.ohloh.net/p/salt
https://www.openhub.net/p/salt
Other community links
=====================
@ -178,6 +178,7 @@ Other community links
- `Facebook <https://www.facebook.com/SaltStack>`_
- `Twitter <https://twitter.com/SaltStackInc>`_
- `Wikipedia page <http://en.wikipedia.org/wiki/Salt_(software)>`_
- `Stack Overflow <https://stackoverflow.com/questions/tagged/salt-stack>`_
Hack the Source
===============

File diff suppressed because it is too large Load diff

View file

@ -487,6 +487,18 @@ module.
proxytype: docker
name: keen_proskuriakova
Terraform Salt-SSH Roster
=========================
You can now dynamically generate a Salt-SSH roster from the terraform resources
defined with `terraform-provider-salt <https://github.com/dmacvicar/terraform-provider-salt>`_.
This allows you to combine both terraform and Salt-SSH to provision and
configure your hosts. See the :py:mod:`terraform roster<salt.roster.terraform>` for
an example on how to setup and use.
Grains Dictionary Passed into Custom Grains
===========================================

View file

@ -734,6 +734,19 @@ Then the ``roots`` backend (the default backend of files in ``/srv/salt``) will
be searched first for the requested file; then, if it is not found on the
master, each configured git remote will be searched.
.. note::
This can be used together with `file_roots` accepting `__env__` as a catch-all
environment, since 2018.3.5 and 2019.2.1:
.. code-block:: yaml
file_roots:
base:
- /srv/salt
__env__:
- /srv/salt
Branches, Environments, and Top Files
=====================================

144
noxfile.py Normal file
View file

@ -0,0 +1,144 @@
# -*- coding: utf-8 -*-
'''
noxfile
~~~~~~~
Nox configuration script
'''
# Import Python libs
import os
import sys
if __name__ == '__main__':
sys.stderr.write('Do not execute this file directly. Use nox instead, it will know how to handle this file\n')
sys.stderr.flush()
exit(1)
# Import 3rd-party libs
import nox
# Global Path Definitions
REPO_ROOT = os.path.abspath(os.path.dirname(__file__))
SITECUSTOMIZE_DIR = os.path.join(REPO_ROOT, 'tests', 'support', 'coverage')
# Python versions to run against
_PYTHON_VERSIONS = ('2', '2.7', '3', '3.4', '3.5', '3.6')
# Nox options
# Reuse existing virtualenvs
nox.options.reuse_existing_virtualenvs = True
# Don't fail on missing interpreters
nox.options.error_on_missing_interpreters = False
def _create_ci_directories():
for dirname in ('logs', 'coverage', 'xml-unittests-output'):
path = os.path.join(REPO_ROOT, 'artifacts', dirname)
if not os.path.exists(path):
os.makedirs(path)
def _install_requirements(session, *extra_requirements):
# Install requirements
_requirements_files = []
if sys.platform.startswith('linux'):
requirements_files = [
os.path.join(REPO_ROOT, 'requirements', 'tests.txt')
]
elif sys.platform.startswith('win'):
requirements_files = [
os.path.join(REPO_ROOT, 'pkg', 'windows', 'req.txt'),
os.path.join(REPO_ROOT, 'pkg', 'windows', 'req_testing.txt'),
]
elif sys.platform.startswith('darwin'):
requirements_files = [
os.path.join(REPO_ROOT, 'pkg', 'osx', 'req.txt'),
os.path.join(REPO_ROOT, 'pkg', 'osx', 'req_ext.txt'),
]
while True:
if not requirements_files:
break
requirements_file = requirements_files.pop(0)
session.log('Processing {}'.format(requirements_file))
with open(requirements_file) as rfh: # pylint: disable=resource-leakage
for line in rfh:
line = line.strip()
if not line:
continue
if line.startswith('-r'):
reqfile = os.path.join(os.path.dirname(requirements_file), line.strip().split()[-1])
if reqfile in _requirements_files:
continue
_requirements_files.append(reqfile)
continue
for requirements_file in _requirements_files:
session.install('-r', requirements_file)
if extra_requirements:
session.install(*extra_requirements)
def _run_with_coverage(session, *test_cmd):
session.run('coverage', 'erase')
python_path_env_var = os.environ.get('PYTHONPATH') or None
if python_path_env_var is None:
python_path_env_var = SITECUSTOMIZE_DIR
else:
python_path_env_var = '{}:{}'.format(SITECUSTOMIZE_DIR, python_path_env_var)
session.run(
*test_cmd,
env={
'PYTHONPATH': python_path_env_var,
'COVERAGE_PROCESS_START': os.path.join(REPO_ROOT, '.coveragerc')
}
)
session.run('coverage', 'combine')
session.run('coverage', 'xml', '-o', os.path.join(REPO_ROOT, 'artifacts', 'coverage', 'coverage.xml'))
@nox.session(python=_PYTHON_VERSIONS)
@nox.parametrize('coverage', [False, True])
def runtests(session, coverage):
# Install requirements
_install_requirements(session, 'unittest-xml-reporting')
# Create required artifacts directories
_create_ci_directories()
cmd_args = [
'-v',
'--tests-logfile={}'.format(
os.path.join(REPO_ROOT, 'artifacts', 'logs', 'runtests.log')
)
] + session.posargs
if coverage is True:
_run_with_coverage(session, 'coverage', 'run', '-m', 'tests.runtests', *cmd_args)
else:
session.run('python', os.path.join('tests', 'runtests.py'), *cmd_args)
@nox.session(python=_PYTHON_VERSIONS)
@nox.parametrize('coverage', [False, True])
def pytest(session, coverage):
# Install requirements
_install_requirements(session)
# Create required artifacts directories
_create_ci_directories()
cmd_args = [
'--rootdir', REPO_ROOT,
'--log-file={}'.format(
os.path.join(REPO_ROOT, 'artifacts', 'logs', 'runtests.log')
),
'--no-print-logs',
'-ra',
'-sv'
] + session.posargs
if coverage is True:
_run_with_coverage(session, 'coverage', 'run', '-m', 'py.test', *cmd_args)
else:
session.run('py.test', *cmd_args)

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>Label</key>
<string>salt-minion</string>
<string>com.saltstack.salt.minion</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>

View file

@ -72,6 +72,9 @@ ${StrStrAdv}
!define MUI_WELCOMEFINISHPAGE_BITMAP "panel.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "panel.bmp"
# This entire if block can be removed for the Sodium release... including the !define MUI_WELCOMEPAGE_TEXT
# NSIS will just use the default like it does for Python 3, which should be the same test
!if "${PYTHON_VERSION}" == "2"
!define MUI_WELCOMEPAGE_TEXT "\
WARNING: Python 2 Support will be discontinued in Sodium. Salt will only ship Python 3 \

View file

@ -52,8 +52,8 @@ def beacon(config):
beacons:
service:
- services:
salt-master:
mysql:
salt-master: {}
mysql: {}
The config above sets up beacons to check for
the salt-master and mysql services.

View file

@ -341,6 +341,16 @@ class Minion(salt.utils.parsers.MinionOptionParser, DaemonsMixin): # pylint: di
NOTE: Run any required code before calling `super()`.
'''
super(Minion, self).start()
while True:
try:
self._real_start()
except SaltClientError as exc:
# Restart for multi_master failover when daemonized
if self.options.daemon:
continue
break
def _real_start(self):
try:
if check_user(self.config['user']):
self.action_log_info('Starting up')

View file

@ -317,7 +317,7 @@ class SyncClientMixin(object):
print_func=print_func
)
# TODO: document these, and test that they exist
# TODO: test that they exist
# TODO: Other things to inject??
func_globals = {'__jid__': jid,
'__user__': data['user'],

View file

@ -1348,6 +1348,24 @@ class Cloud(object):
output['ret'] = action_out
return output
@staticmethod
def vm_config(name, main, provider, profile, overrides):
'''
Create vm config.
:param str name: The name of the vm
:param dict main: The main cloud config
:param dict provider: The provider config
:param dict profile: The profile config
:param dict overrides: The vm's config overrides
'''
vm = main.copy()
vm = salt.utils.dictupdate.update(vm, provider)
vm = salt.utils.dictupdate.update(vm, profile)
vm.update(overrides)
vm['name'] = name
return vm
def extras(self, extra_):
'''
Extra actions
@ -1434,12 +1452,13 @@ class Cloud(object):
ret[name] = {'Error': msg}
continue
vm_ = main_cloud_config.copy()
vm_.update(provider_details)
vm_.update(profile_details)
vm_.update(vm_overrides)
vm_['name'] = name
vm_ = self.vm_config(
name,
main_cloud_config,
provider_details,
profile_details,
vm_overrides,
)
if self.opts['parallel']:
process = multiprocessing.Process(
target=self.create,

View file

@ -3,7 +3,7 @@
Openstack Cloud Driver
======================
:depends: `shade <https://pypi.python.org/pypi/shade>`_
:depends: `shade>=1.19.0 <https://pypi.python.org/pypi/shade>`_
OpenStack is an open source project that is in use by a number a cloud
providers, each of which have their own ways of using it.
@ -218,7 +218,7 @@ import pprint
import socket
# Import Salt Libs
import salt.utils.json
import salt.utils.versions
import salt.config as config
from salt.ext import six
from salt.exceptions import (
@ -230,12 +230,16 @@ from salt.exceptions import (
# Import 3rd-Party Libs
try:
import shade
import shade.openstackcloud
import shade.exc
import os_client_config
HAS_SHADE = True
HAS_SHADE = (
salt.utils.versions._LooseVersion(shade.__version__) >= salt.utils.versions._LooseVersion('1.19.0'),
'Please install newer version of shade: >= 1.19.0'
)
except ImportError:
HAS_SHADE = False
HAS_SHADE = (False, 'Install pypi module shade >= 1.19.0')
log = logging.getLogger(__name__)
__virtualname__ = 'openstack'
@ -248,7 +252,7 @@ def __virtual__():
if get_configured_provider() is False:
return False
if get_dependencies() is False:
return False
return HAS_SHADE
return __virtualname__
@ -270,8 +274,8 @@ def get_dependencies():
Warn if dependencies aren't met.
'''
deps = {
'shade': HAS_SHADE,
'os_client_config': HAS_SHADE,
'shade': shade[0],
'os_client_config': shade[0],
}
return config.check_driver_dependencies(
__virtualname__,
@ -844,7 +848,7 @@ def call(conn=None, call=None, kwargs=None):
func = kwargs.pop('func')
for key, value in kwargs.items():
try:
kwargs[key] = salt.utils.json.loads(value)
kwargs[key] = __utils__['json.loads'](value)
except ValueError:
continue
try:

View file

@ -28,7 +28,6 @@ import salt.config as config
import salt.client
import salt.ext.six as six
from salt._compat import ipaddress
from salt.exceptions import SaltCloudException, SaltCloudSystemExit
# Get logging started

Some files were not shown because too many files have changed in this diff Show more