Commit Graph

2548 Commits

Author SHA1 Message Date
Pedro Algarvio
4db35067e1
Refactor the get script path routine into a mix in class 2016-05-23 13:56:05 +01:00
Pedro Algarvio
a17aefd04a
Handle connection errors 2016-05-23 13:56:05 +01:00
Pedro Algarvio
11793aff30
More test scripts fixes 2016-05-23 13:56:05 +01:00
Pedro Algarvio
a51e69f001
Make the generated scripts more windows friendly 2016-05-23 13:56:04 +01:00
Pedro Algarvio
e0b177a493
We need to import logging within the threaded call 2016-05-23 13:56:04 +01:00
Pedro Algarvio
0a40765136
Better exception handling 2016-05-23 13:56:04 +01:00
Pedro Algarvio
cdfd5224c8
log was out of scope, better use the module 2016-05-23 13:56:04 +01:00
Pedro Algarvio
d0c79c4333
Check all ports on the salt-master 2016-05-23 13:56:04 +01:00
Pedro Algarvio
004c7f340b
Disable minion keep alive on linux 2016-05-23 13:56:04 +01:00
twangboy
893894ee70
Add handling to the script template for windows 2016-05-23 13:56:03 +01:00
Pedro Algarvio
e8d3713e6c
More windows friendly. Don't rely on PYTOHNPATH 2016-05-23 13:56:03 +01:00
Pedro Algarvio
c6612482c0
Windows raises EACCES 2016-05-23 13:56:03 +01:00
Pedro Algarvio
eb82b8d229
Remove unnecessary logic 2016-05-23 13:56:03 +01:00
Pedro Algarvio
177d9c4ead
Don't traceback if the process is no longer running. 2016-05-23 13:56:03 +01:00
Pedro Algarvio
e1e1aeb3d7
Keep ports open throughout the tests execution 2016-05-23 13:56:02 +01:00
Pedro Algarvio
5e014d59eb
We're not in a IOLoop 2016-05-23 13:56:02 +01:00
Pedro Algarvio
0a3f5dfbdd
Make sure we're not getting the same port over and over again. 2016-05-23 13:56:02 +01:00
Pedro Algarvio
84861197bb
VT is not available for windows 2016-05-23 13:56:02 +01:00
Pedro Algarvio
50a4fd1dd1
Lint fixes 2016-05-23 13:56:02 +01:00
Pedro Algarvio
f69dc8ef7f
Fix variable reference 2016-05-23 13:56:02 +01:00
Pedro Algarvio
7a8460856c
Define IDs and ports on sample configs 2016-05-23 13:56:01 +01:00
Pedro Algarvio
ca93b6421c
CLI daemons improvements 2016-05-23 13:56:01 +01:00
Pedro Algarvio
c264600738
Provide some feedback of whats happening. 2016-05-23 13:56:01 +01:00
Pedro Algarvio
184c3c83ad
Run the test daemons from CLI
This should help running the test suite on Windows machines
2016-05-23 13:56:00 +01:00
Dmitry Kuzmenko
17b03e9d8b Allow to blacklist/whitelist renderers. (#33358)
* Allow to blacklist/whitelist renderers.

* Fix tests.

* Unit test for renderer blacklisting.

* Minor tests fixes
2016-05-20 10:41:51 -07:00
Mike Place
d5a3e309bf Event assert (#33262)
* Initial POC

* Allow the queue to fill by waiting for the lag in IPC

* Add docs

* Add run_tests

* Add reactor to tests
2016-05-19 13:41:23 -06:00
rallytime
7bf9f5d0f5 Merge branch '2016.3' into 'develop'
Conflicts:
  - doc/man/salt.7
  - doc/ref/executors/all/salt.executors.direct_call.rst
  - doc/ref/executors/all/salt.executors.splay.rst
  - doc/ref/executors/all/salt.executors.sudo.rst
  - salt/cloud/clouds/vultrpy.py
2016-05-18 09:40:48 -06:00
C. R. Oldham
8387657d9a Prevent salt-cloud from hanging when spinning up new Vultr instances (#33272)
* better support for named images, locations, sizes

* better support for named images, locations, sizes

* Tests for Vultr driver

* Add sleep so test instance will be old enough to delete as part of the test

* Lint.
2016-05-16 13:11:29 -07:00
rallytime
b1e505f80e Merge branch '2016.3' into 'develop'
Conflicts:
  - doc/topics/releases/2015.5.11.rst
  - doc/topics/releases/2015.8.9.rst
  - salt/cloud/clouds/nova.py
  - salt/minion.py
2016-05-13 09:47:46 -06:00
rallytime
679200aeb2 Merge branch '2015.8' into '2016.3'
Conflicts:
  - salt/scripts.py
2016-05-12 16:52:27 -06:00
Jεan Sacren
8685ffa2e9 Add timezone integration test for Solaris (#33167) 2016-05-12 14:40:37 -07:00
Nicole Thomas
730bec1eef [2015.8] Merge forward from 2015.5 to 2015.8 (#33207)
* Fix file.managed for Windows (#33181)

* Revert back to import string_types

For some reason, there is a problem with the following
code when run from the file.py module:
```
from salt.ext import six
comment = 'This is a string'
isinstance(comment, six.string_types)
```
When run from within the python shell it works fine.

* Add six import

* Fix some lint

* Use correct six import

* Changed it back to explicit import

* Additional comments specific to 2015.5

* Fix file.managed for real

* Move comment to clarify purpose

* update 2015.5.11 release notes (#33197)

* Add pip installed and removed test (#33178)

* Resolve issue with pkg module on Mint Linux (#33205)

Closes #32198
2016-05-12 13:54:47 -07:00
Nicole Thomas
457d9dd4f5 [develop] Merge forward from 2016.3 to develop (#33193)
* Add run_on_start docs to schedule.rst (#32958)

Fixes #22580

* Backport #33021 manually to 2015.5 (#33044)

* Saltfile with pillar tests (#33045)

* add file.managed with pillar data tests

* do not require git for other tests

* Fix minor document error of test.assertion (#33067)

* test pillar.items output (#33060)

* File and User test fixes for 2015.5 on Fedora23 (#33055)

* Fix file_test.test_symlink on 2015.5

* Fix failing user present test

* add test for installing package while using salt-call --local (#33025)

* add test for installing package while using salt-call --local

* fix pylint

* ssh docs: install py-2.6 for RHEL 5

* Bugfix: Restore boolean values from the repo configuration

* Add test data for repos

* Add repo config test

* Bugfix (follow-up): setting priority requires non-positive integer

* modules.npm: do not log npm --version at info level (#33084)

* salt-cloud: fix ipv6-only virtual machines (#32865)

* salt-cloud: fix ipv6-only virtual machines

* fix hostname for rsync fallback in scp_file function

* use 4 spaces instead of 2

* remove global variable, use direct socket call instead

* Use saltstack repo in buildpackage.py on CentOS 5 (#33080)

* Lower display of msgpack failure msg to debug (#33078)

Closes #33074

* cloud.query needs to define mapper.opts (#33098)

* clarify docs that map is designed to be run once. is not stateful (#33102)

* Moved _finger_fail method to parent class.

Method _finger_fail method from SAuth to AsyncAuth class to make method available
in both class and fix an issue where _finger_Fail is called inside AsyncAuth.

* Fix 33058 (#33099)

* Fix servermanager module

- Added check for 2008 version of windows
- Added Import-Module ServerManager to _pshell_json.
  Apparently this needs to run each time we issue a
  servermanager command.

* Fix list_available

* salt.utils.gitfs: fix formatting for warning messages (#33064)

* salt.utils.gitfs: fix formatting for warning messages

When git_pillar support was added to salt.utils.gitfs, the
recommendation globals had string formatting placeholders added to them,
but the locations where these values are referenced do not call
``.format()`` to properly replace them. This commit fixes that
oversight.

* Remove more gitfs and master-specific wording from log messages

* Add a check that the cmdline of the found proc matches (#33129)

* Doc mock decorators (#33132)

* Add mock function for mocking decorators

* Mock the stdlib user module because importing it will open the repl

* Fix broken parsing of usermgmt.conf on OpenBSD (#33135)

When creating a new user, if a group of the same name already exists,
the usermgmt.conf file is consulted to determine the primary group.
It's in these cases that the parsing bug is triggered.

This code change addresses several of the existing issues:

- The previous split statement explicitly specified a single space.
  Since a config line may have any number of spaces and/or tabs
  surrounding the entries, the resulting array's elements may be
  incorrect.

- According to the man pages for usermgmt.conf, the "group" config
  entry accpets a single parameter -- so we shouldn't iterate.

- The "val[1]" was returning the 2nd letter of each word and not the
  second word on the config line as intended.

* Move salt-ssh thin dir location to /var/tmp (#33130)

* Move salt-ssh thin dir location to /var/tmp

Closes #32771

* Remove performance penelty language

* If cache_jobs: True is set, populate the local job cache when running salt-call (#33100)

* If cache_jobs: True is set, populate the local job cache

Fixes #32834

Allows a masterless minion to query the job cache.

* Refactor cache_jobs functionality to be DRY

* Skipping salt-call --local test

* Back-port #31769 to 2015.8 (#33139)

* Handle empty acl_name in linux_acl state

Calls to setfacl interpret an empty group or user name to mean to be the
owner of the file they're operating on. For example, for a directory
owned by group 'admin', the ACL 'default:group::rwx' is equivalent to
'default:group:admin:rwx'.

The output of the getfacl execution module returns ACLs in the format of
'group:admin:rwx' instead of 'group::rwx'. This commit changes the
acl.present state to look for the owner of the file if the acl_name
paremeter is empty.

* Fix acl.present/acl.absent changing default ACLs

The behaviour of the acl.present and acl.absent is to check the data
structure returned by getfacl contains a key by the name of acl_type.

However, this data structure does not contain any default ACLs if none
exist, so this check will fail. We omit the check if a default ACL was
passed into the state functions.

Unfortunately, the call to modfacl may fail if the user passes in an
acl_type such as 'default:random'. In this case the state will appear to
succeed, but do nothing.

This fixes the state module to allow setting default ACLs on files which
have none.

* Fix regression in 2016.3 HEAD when version is specified (#33146)

Resolves #33013.

* Hash fileclients by opts (#33142)

* Hash fileclients by opts

There was an issue whereby the cache of the fileclient was being overwritten
by dueling minion instances in multimaster mode. This protects them by hashing
by the id of opts.

Closes #25040

* Silly typo!

* Remove tests which do not test any actual functionality or are too tightly coupled to the implementation

* Strip ldap fqdn (#33127)

* Add option to strip off domain names on computer names that come from LDAP/AD

* Add strip_domains option for ldap.

* Add documentation for auth.ldap.minion_stripdomains.

* [2015.5] Update to latest bootstrap script v2016.05.10 (#33155)

* [2015.8] Update to latest bootstrap script v2016.05.10 (#33156)

* [2016.3] Update to latest bootstrap script v2016.05.10 (#33157)

* add 2015.5.11 release notes (#33160)

* add 2015.8.9 release notes (#33161)

* Pip fix (#33180)

* fix pip!!

* make it work with old pip as well

* Added resiliency

* Don't need to check, just get the right name

* [2015.5] Update to latest bootstrap script v2016.05.11 (#33185)
2016-05-12 07:53:39 -07:00
rallytime
c6f18fac3f Merge branch '2015.8' into '2016.3'
Conflicts:
  - salt/minion.py
2016-05-10 15:13:24 -06:00
rallytime
449176f06e Merge branch '2015.5' into '2015.8'
No conflicts.
2016-05-10 11:58:55 -06:00
Justin Anderson
8b1e34fb17 Skipping salt-call --local test 2016-05-10 10:48:18 -06:00
rallytime
92e0c17645 Merge branch '2015.8' into '2016.3'
No conflicts.
2016-05-09 13:55:06 -06:00
Nicole Thomas
b6cf601722 Merge pull request #33103 from rallytime/merge-develop
[develop] Merge forward from 2016.3 to develop
2016-05-09 13:24:25 -06:00
plastikos
0efbbcd17f * Improve init script: specifically manage salt configurations rather than arbitrary salt processes (#32666)
* * Improve init script: specifically manage salt configurations rather than arbitrary salt processes

Unfortunately SysV init scripts tend to rummage through PIDs filtering for
appropriate processes to manage.  Unfortunately the filters are usually weak
and don't account for similar processes run by other users, PIDs of dead
processes being re-used for completely different executables, etc..  These
weaknesses can result in killing unrelated processes with potentially serious
results.

These improvements to the SysV init script is a complete rewrite with the
following improvements:

  * Specifically manage individual salt configurations rather than looking for
    salt minion-like processes.
  * Obtain salt minion information from the salt configuration - use the
    information to manage the specifically configured process.
  * Drop all of the platform-specific helper functions that allow the
    previously-mentioned weaknesses.

    + Unfortunately this means that the output information may not match the
      specific platform (this could easily be corrected).

  * Now can manage multiple salt processes started by different users

    + Unfortunately starts/stops/restarts as a group and is unable to manage
      them both as a group or as individual processes (this could easily be
      corrected)

The new initscript also allows various control variables to be overridden by
environment variables or through settings put in ``/etc/sysconf/salt`` or
``/etc/default/salt``.

:SALTMINION_DEBUG: Dump each line expansion before execution, output system
                   information on failure.  Default: unset

:SALTMINION_BINDIR: Location of ``salt-minion``, ``salt-call`` and other
                    executables.  Default: ``/usr/bin``

:SALTMINION_SYSCONFDIR: The parent directory for the ``salt`` configuration
                        directory and the ``sysconfig`` or ``default``
                        directory.

* Add lines that went missing in the rebase+squash
2016-05-09 10:57:13 -07:00
Jεan Sacren
479e643b62 Develop 2016 0509 0030 (#33111)
* Disallow negative value for fib number

Fibonacci number is supposed to be nonnegative. Add this new feature to
disallow negative value to be passed in for fib number.

* Minimize code duplication

* Use /etc/adjtime for Gentoo

* Add integration test for timezone module
2016-05-09 10:06:44 -07:00
rallytime
ced033c0a4 Merge branch '2016.3' into 'develop'
Conflicts:
  - doc/topics/releases/2016.3.0.rst
  - salt/scripts.py
  - salt/states/glusterfs.py
2016-05-06 16:05:58 -06:00
rallytime
0fd5e9d157 Merge branch '2015.5' into '2015.8'
Conflits:
  - salt/minion.py
  - tests/integration/states/file.py
2016-05-06 12:04:06 -06:00
rallytime
180c03ca24 Merge branch '2015.8' into '2016.3'
Conflicts:
  - salt/cli/salt.py
  - salt/modules/zypper.py
  - salt/scripts.py
  - salt/states/boto_elb.py
  - tests/integration/states/user.py
  - tests/unit/states/file_test.py
2016-05-06 09:20:05 -06:00
Megan Wilhite
2c6326f14a fix tests for file.blockplace to remove newline (#33082) 2016-05-06 08:44:20 -06:00
Aditya Kulkarni
df6296e3ce Replace args and kwargs (plural) by arg and kwarg (singular) for `RunnerClient` (#32938)
* Replace args and kwargs (plural) by arg and kwarg (singular)

* Add test and deprecation warning

* Add deprecation warning
2016-05-05 07:31:08 -07:00
Megan Wilhite
61d126cb98 add test for installing package while using salt-call --local (#33025)
* add test for installing package while using salt-call --local

* fix pylint
2016-05-05 07:17:12 -07:00
Mike Place
e9c94a4141 Skip Unicode test if the system does not have a filesystem encoding set (#33057)
In the case where a user does not have the LANG env set,
Python can't figure out how to encode Unicode during a popen call.

I could not find any combination of tricks, including setting the encoding
or the locale or the environment variable itself in the call to popen that
would mitigate this issue. This may well be a bug in the Python stdlib itself.
2016-05-05 07:06:07 -07:00
Nicole Thomas
111701c8bb [2015.8] Merge forward from 2015.5 to 2015.8 (#33054)
* Add run_on_start docs to schedule.rst (#32958)

Fixes #22580

* Backport #33021 manually to 2015.5 (#33044)

* Saltfile with pillar tests (#33045)

* add file.managed with pillar data tests

* do not require git for other tests

* Whitespace...
2016-05-05 07:05:55 -07:00
Justin Anderson
1066063a19 File and User test fixes for 2015.8 on Fedora23 (#33056)
* Fix failing user present test

* Fix file_test.test_symlink failure on 2015.8
2016-05-05 07:05:10 -07:00
Justin Anderson
6d3e4e8935 File and User test fixes for 2015.5 on Fedora23 (#33055)
* Fix file_test.test_symlink on 2015.5

* Fix failing user present test
2016-05-05 07:00:59 -07:00