Commit Graph

780 Commits

Author SHA1 Message Date
Aneesh Agrawal
ba63920874 Support states returning a list for ret['comment']
Some states are complicated and multiple subparts,
or maybe cross-call into __states__ if they manage subresources.
In these cases, they will have multiple comments.
Make this more ergonomic by supporting a list of strings as the
value for ret['comment'] in state returns and documenting this.
By joining comments on newlines, it is possible to combine
single-line and multi-line comments cleanly, as opposed to e.g. commas.

The driving impetus for this is some of the boto modules.
An update to the boto_sqs module is included as an example.

Add a check that outgoing state return data has the right shape,
and add a testcase as well.
Fix the NPM state tests and the saltmod runner & wheel state functions
to comply with the prescribed format.
2017-09-05 19:52:42 +00:00
rallytime
6fad40454a Merge branch '2017.7' into 'develop'
Conflicts:
  - salt/modules/aptpkg.py
  - salt/utils/napalm.py
2017-08-28 09:28:41 -04:00
rallytime
d40eba6b37 Merge branch '2016.11' into '2017.7'
Conflicts:
  - salt/states/git.py
2017-08-25 16:07:27 -04:00
Daniel Wallace
ccd2241777 Pin request install to version
This fails on centos 6 because its node is too old to support the version of
hawk bumped here https://github.com/request/request/pull/2751, we can still
test the functionality.  This will pull from github, and install a specific tag
version, and we still do the uninstall using the github path.

This should be more stable.
2017-08-25 10:23:35 -06:00
Erik Johnson
2b76029ded Move 4 functions from salt.utils to salt.utils.versions
This moves the following functions from salt.utils to salt.utils.versions:

- warn_until
- kwargs_warn_until
- compare_versions (as salt.utils.versions.compare)
- version_cmp
2017-08-15 12:53:57 -05:00
rallytime
78e744bda4 Merge branch '2017.7' into 'develop'
Conflicts:
  - salt/client/mixins.py
  - salt/fileclient.py
  - salt/modules/status.py
  - tests/integration/states/test_npm.py
2017-08-14 14:21:17 -04:00
rallytime
fb7117f2ac Use salt.utils.versions.LooseVersion instead of distutils 2017-08-11 16:31:24 -04:00
rallytime
29ff19c587 Merge branch '2016.11' into '2017.7'
Conflicts:
  - salt/config/__init__.py
  - salt/states/dockerng.py
  - salt/utils/cloud.py
2017-08-11 15:17:19 -04:00
Daniel Wallace
da3402a53d make sure cmd is not run when npm isn't installed
apparently the skipIf on the functions still get run, even if the function is
going to be skipped based on a skipIf on the class.
2017-08-11 10:58:00 -06:00
Daniel Wallace
b458b89fb8 skip cache_clean test if npm version is >= 5.0.0 2017-08-10 14:17:47 -06:00
rallytime
5d8d6225b5 Merge branch '2017.7' into 'develop'
Conflicts:
  - salt/modules/augeas_cfg.py
  - salt/netapi/rest_cherrypy/app.py
  - salt/runners/manage.py
  - salt/states/boto_cfn.py
  - salt/utils/cloud.py
  - tests/integration/states/test_pkg.py
2017-08-10 14:47:14 -04:00
Erik Johnson
c69f17dd18 Add integration test for #42774 2017-08-08 14:20:42 -05:00
Erik Johnson
3184168365 Use explicit unicode strings + break up salt.utils
This PR is part of what will be an ongoing effort to use explicit
unicode strings in Salt. Because Python 3 does not suport Python 2's raw
unicode string syntax (i.e. `ur'\d+'`), we must use
`salt.utils.locales.sdecode()` to ensure that the raw string is unicode.
However, because of how `salt/utils/__init__.py` has evolved into the
hulking monstrosity it is today, this means importing a large module in
places where it is not needed, which could negatively impact
performance. For this reason, this PR also breaks out some of the
functions from `salt/utils/__init__.py` into new/existing modules under
`salt/utils/`. The long term goal will be that the modules within this
directory do not depend on importing `salt.utils`.

A summary of the changes in this PR is as follows:

* Moves the following functions from `salt.utils` to new locations
  (including a deprecation warning if invoked from `salt.utils`):
  `to_bytes`, `to_str`, `to_unicode`, `str_to_num`, `is_quoted`,
  `dequote`, `is_hex`, `is_bin_str`, `rand_string`,
  `contains_whitespace`, `clean_kwargs`, `invalid_kwargs`, `which`,
  `which_bin`, `path_join`, `shlex_split`, `rand_str`, `is_windows`,
  `is_proxy`, `is_linux`, `is_darwin`, `is_sunos`, `is_smartos`,
  `is_smartos_globalzone`, `is_smartos_zone`, `is_freebsd`, `is_netbsd`,
  `is_openbsd`, `is_aix`
* Moves the functions already deprecated by @rallytime to the bottom of
  `salt/utils/__init__.py` for better organization, so we can keep the
  deprecated ones separate from the ones yet to be deprecated as we
  continue to break up `salt.utils`
* Updates `salt/*.py` and all files under `salt/client/` to use explicit
  unicode string literals.
* Gets rid of implicit imports of `salt.utils` (e.g. `from salt.utils
  import foo` becomes `import salt.utils.foo as foo`).
* Renames the `test.rand_str` function to `test.random_hash` to more
  accurately reflect what it does
* Modifies `salt.utils.stringutils.random()` (née `salt.utils.rand_string()`)
  such that it returns a string matching the passed size. Previously
  this function would get `size` bytes from `os.urandom()`,
  base64-encode it, and return the result, which would in most cases not
  be equal to the passed size.
2017-08-08 13:33:43 -05:00
rallytime
1f0b90aa57 Merge branch '2017.7' into 'develop'
Conflicts:
  - salt/cloud/clouds/joyent.py
  - salt/engines/slack.py
2017-07-26 17:51:36 -06:00
rallytime
c673b64583 Merge branch '2016.11' into '2017.7'
Conflicts:
  - doc/conf.py
  - doc/ref/configuration/master.rst
  - doc/ref/configuration/minion.rst
  - salt/engines/hipchat.py
  - salt/engines/slack.py
  - salt/grains/core.py
  - salt/version.py
  - tests/integration/states/test_renderers.py
2017-07-20 09:54:08 -06:00
rallytime
df693423b9 Move salt.utils.rm_rf to salt.utils.files.rm_rf
Also added a deprecation warning to utils/__init__.py and updated
all references to rm_rf in salt codebase.
2017-07-18 10:48:54 -06:00
rallytime
ccf790a83f Update all references for moved functions to use "files" util
- fopen
- flopen
- fpopen
- safe_rm
- is_empty
- is_fcntl_available
2017-07-18 10:31:01 -06:00
Pablo Suárez Hernández
915d94219e Allow to check whether a function is available on the AliasesLoader wrapper 2017-07-18 12:57:36 +01:00
Gareth J. Greenaway
a34970b45b Back porting the fix for 2017.7 that ensures the order of the names parameter. 2017-07-06 12:12:50 -07:00
Erik Johnson
9a50e7c1ca Merge remote-tracking branch 'upstream/2017.7' into merge-develop 2017-06-28 22:10:50 -05:00
rallytime
7d7be2d375 Merge branch '2016.11' into '2017.7'
Conflicts:
  - doc/ref/configuration/master.rst
  - tests/integration/states/test_archive.py
  - tests/unit/transport/test_tcp.py
  - tests/unit/transport/test_zeromq.py
2017-06-28 10:48:37 -06:00
Denys Havrysh
54910fe55f archive.extracted: fix hash sum verification for local archives 2017-06-26 19:08:47 +03:00
Mike Place
b0556bd58b Merge branch 'develop' into issue3415 2017-06-15 10:09:46 -05:00
Erik Johnson
444e45b8e8 Add support for comparison operators to pkg.install (yum/dnf, apt) 2017-06-14 13:21:02 -05:00
rallytime
74d9a36d5a Merge branch 'nitrogen' into 'develop'
Conflicts:
  - pkg/salt-proxy@.service
  - salt/modules/npm.py
  - salt/modules/parted.py
  - tests/integration/modules/test_libcloud_dns.py
2017-06-13 15:01:51 -06:00
rallytime
bdf33d7f5f Merge branch '2016.11' into 'nitrogen'
No conflicts.
2017-06-13 09:26:05 -06:00
Daniel Wallace
0fa380f75c npm 5 and greater requires --force for cache clean
This is the error

```
npm ERR! As of npm@5, the npm cache self-heals from corruption issues and
data extracted from the cache is guaranteed to be valid. If you want to make
sure everything is consistent, use 'npm cache verify' instead.

npm ERR!
npm ERR! If you're sure you want to delete the entire cache, rerun this command
with --force.
```
2017-06-12 14:48:43 -06:00
rallytime
396b06fdf8 Merge branch 'nitrogen' into 'develop'
No conflicts.
2017-06-07 09:54:20 -06:00
Mike Place
45326ccdec Merge pull request #41621 from gtmanfred/mac
Fix some mac tests
2017-06-07 10:19:25 -05:00
Daniel Wallace
b25b487ceb create home directory for issue-1959
Fixes https://github.com/saltstack/salt-jenkins/issues/388
2017-06-06 13:32:57 -06:00
rallytime
2cb4f2baa9 Merge branch 'nitrogen' into 'develop'
Conflicts:
  - salt/states/keystone.py
2017-06-06 12:50:35 -06:00
Ch3LL
8d27bb31b2
Disable home dir check for mac in more test_user tests 2017-06-06 11:20:18 -04:00
Ch3LL
85e77c9cc8
Disable home dir check for mac in test_user 2017-06-06 11:02:19 -04:00
Ch3LL
ddcb1ca9a7
change group to wheel for macosx in tests 2017-06-05 17:16:54 -04:00
rallytime
e848c67682 Merge branch 'nitrogen' into 'develop'
Conflicts:
  - salt/states/keystone.py
2017-05-31 14:39:33 -06:00
Mike Place
713a671f09 Merge pull request #41471 from terminalmage/blockreplace-test
Fix a file.blockreplace test for Python 3
2017-05-30 13:48:22 -05:00
rallytime
8c1dc36a8b Merge branch 'nitrogen' into 'develop'
Conflicts:
  - salt/modules/zypper.py
  - salt/utils/parsers.py
2017-05-30 10:20:44 -06:00
rallytime
675937e0ab Merge branch '2016.11' into 'nitrogen'
Conflicts:
  - tests/unit/states/test_keystone.py
2017-05-30 10:16:14 -06:00
Erik Johnson
4573a9cad5 Fix a file.blockreplace test for Python 3
This test uses file.accumulated to accumulate data, to be used in the
file.blockreplace state. However, because this data is stored in a
dictionary, the iteration order is different on different versions of
Python. As it is very clearly stated that the accumulator data structure
is a dictionary, rather than modifying the file.accumulated behavior
this commit just updates the test so that it searches for all values
that it should find between the block markers.
2017-05-26 15:51:38 -05:00
rallytime
ff417db115 Merge branch 'nitrogen' into 'develop'
Conflicts:
  - doc/topics/venafi/index.rst
  - pkg/salt-proxy@.service
  - salt/config/__init__.py
2017-05-26 11:27:24 -06:00
Petr Michalec
6db8915021 Endpoint handling per region, fixes #35874
- extend tests for multiple regions
- region arg by default set to None
- print verbose changes to be exec.
2017-05-26 11:15:29 -06:00
rallytime
de85b49b90 Merge branch '2016.11' into 'nitrogen'
Conflicts:
  - salt/config/__init__.py
  - salt/modules/cp.py
  - salt/states/saltmod.py
  - salt/utils/__init__.py
  - salt/utils/gzip_util.py
  - tests/integration/shell/test_cp.py
2017-05-26 11:11:54 -06:00
Nicole Thomas
824f2d3b69 Merge pull request #41398 from rallytime/merge-2016.11
[2016.11] Merge forward from 2016.3 to 2016.11
2017-05-26 09:17:48 -06:00
Nicole Thomas
36bc67e191 Merge pull request #41420 from rallytime/merge-nitrogen
[nitrogen] Merge forward from 2016.11 to nitrogen
2017-05-25 11:16:25 -06:00
Erik Johnson
28a8605dea Skip a test that doesn't apply to Python 3
This test is checking behavior that seems to have been specific to the
carbon package from PyPI. Since this is a Python 2-only module, and has
deps that do not exist on Python 3, it should not be run on Python 3.
2017-05-25 09:37:35 -05:00
rallytime
9ff2694155 Merge branch '2016.11' into 'nitrogen'
Conflicts:
  - pkg/salt-minion.service
  - salt/modules/junos.py
  - salt/modules/localemod.py
  - salt/modules/win_system.py
  - salt/states/junos.py
  - tests/unit/modules/test_localemod.py
  - tests/unit/modules/test_win_powercfg.py
  - tests/unit/states/dockerng_test.py
2017-05-24 16:32:59 -06:00
rallytime
57166fd892 Merge branch 'nitrogen' into 'develop'
No conflicts.
2017-05-24 15:30:44 -06:00
Benjamin Drung
33a7f8b2ec Fix typos
lintian found several spelling errors.

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2017-05-24 12:50:29 +02:00
rallytime
d2d9a3d29f Merge branch '2016.3' into '2016.11'
Conflicts:
  - doc/ref/cli/salt-cp.rst
  - salt/config/__init__.py
2017-05-23 15:58:14 -06:00
Dmitry Kuzmenko
583e3b9a5a Update pip version in pip upgrade test by compatibility reason.
6.0 version doesn't work in a modern environment.
2017-05-23 11:53:56 +03:00