Commit Graph

36 Commits

Author SHA1 Message Date
Mike Place
7b43d4322c
Merge branch '2016.3' into 2016_3_carbon 2016-09-27 16:44:42 +09:00
Mike Place
3a83b0bd16
Remove tests which no longer apply
The point of these tests originally was to verify the proper location
of a log file. Checking return codes is just spurious and ties the test
too closely with the shutdown behavior of the daemons which are tracked and tested
in other places more closely and with more accuracy.
2016-09-27 16:36:24 +09:00
plastikos
dde85e1144 Various fixes for MacOS X (#36085)
* Change "unknown" user to "some_unknown_user_xyz" since "unknown"
  *is* a valid user

* Add timeout to proxy test_exit_status_no_proxyid() since a known
  failure case is to infinitely loop with an error.

* Always force the source code tree under test to be the first entry
  in PYTHONPATH (excluding verbatim_env)
2016-09-06 16:30:08 -06:00
Pedro Algarvio
f7693f306c
Apply child processes cleanup counter measure on testprogram too.
Additionally, avoid timeout exceptions with registered atexit calls for testprogram(s)
2016-08-22 00:36:53 +01:00
Mike Place
59dbb05db6 Disable init script test temporarily
This will be re-enabled later on.
2016-08-03 07:40:30 +09:00
rallytime
d787140861 Make some adjustments after resolving merge conflict 2016-08-01 18:32:28 -06:00
rallytime
f47e2f9399 PY3: Fix byte string encoding issues when running shell.minion int tests 2016-08-01 18:03:48 -06:00
Thayne Harbaugh
c37bafaca1 Appease the pylint gods. 2016-07-28 14:50:53 -06:00
Thayne Harbaugh
1a6a10e8da Improvements to salt-minion integration tests:
* Ensure current user is used to start minions
* Better logging strategy
* Start up multiple minions for SysV init script test (had been previously disabled)
* Track pid files for all minions running
2016-07-28 12:12:47 -06:00
Thayne Harbaugh
c79fe3d83a Programs may require multiple config files.
* Change the .config attribute to .config_base and .configs as a dictionary of configs
* A config has multiple parts

  :name: the key in the .configs dictionary
  :path: the path where the config is written (when absent defaults to .config_dir and config name)
  :map:  the contents of the config (for salt programs this is a dictionary)

* Values can be substituted into the config contents using standard python string formatting labels
* Add a .config_attrs which maps object attributes into config space
* Directories for make_dirtree() can reference object attributes using leading '&'
2016-06-28 15:10:07 -06:00
Erik Johnson
20ed2c6bcf Remove repr formatting flag in places where it is used solely for quoting (#34183)
* salt/cloud/__init__.py: remove repr formatting

* salt/cloud/clouds/azurearm.py: remove repr formatting

* salt/cloud/clouds/ec2.py: remove repr formatting

* salt/cloud/clouds/profitbricks.py: remove repr formatting

* salt/loader.py: remove repr formatting

* salt/modules/win_file.py: remove repr formatting

* salt/modules/zypper.py: remove repr formatting

* salt/pillar/consul_pillar.py: remove repr formatting

* salt/renderers/pyobjects.py: remove repr formatting

* salt/returners/sentry_return.py: remove repr formatting

* salt/states/bower.py: remove repr formatting

* salt/states/cabal.py: remove repr formatting

* salt/states/cmd.py: remove repr formatting

* salt/states/composer.py: remove repr formatting

* salt/states/win_network.py: remove repr formatting

* salt/states/eselect.py: remove repr formatting

* salt/states/file.py: remove repr formatting

* salt/states/htpasswd.py: remove repr formatting

* salt/states/memcached.py: remove repr formatting

* salt/states/npm.py: remove repr formatting

* salt/states/pip_state.py: remove repr formatting

* salt/states/pkg.py: remove repr formatting

* salt/states/pkgrepo.py: remove repr formatting

* salt/states/supervisord.py: remove repr formatting

* salt/states/timezone.py: remove repr formatting

* salt/states/virtualenv_mod.py: remove repr formatting

* salt/states/dockerio.py: remove repr formatting

* salt/states/win_system.py: remove repr formatting

* salt/utils/nb_popen.py: remove repr formatting

* salt/utils/cloud.py: remove repr formatting

* Add pylint disable due to legit usage of repr flag

See https://github.com/saltstack/salt-pylint/pull/6

* Fix composer tests

These tests needed to be updated because quoting was changed in the
state module in 9dc9146. There was an unnecessary !r used for the
exception class there, which means that instead of the exception class
being passed through the formatter and coming out with the equivalent
value of err.__str__(), we get a repr'ed instance of the exception class
(i.e.  SaltException('',)) in the state output.

The unit test was asserting that we have that repr'ed instance of
SaltException in the output, a case of writing the test to confirm the
badly-conceived output in the state. This has also been corrected.

* salt/cloud/clouds/azurearm.py: lint fixes

* salt/modules/boto_s3_bucket.py: lint fixes

* salt/modules/minion.py: lint fixes

* salt/modules/reg.py: lint fixes

* salt/modules/testinframod.py: lint fixes

* salt/modules/win_iis.py: lint fixes

* salt/pillar/csvpillar.py: lint fixes

* salt/utils/win_functions.py: lint fixes

* salt/states/nxos.py: lint fixes

* salt/returners/mongo_future_return.py: lint fixes

* tests/integration/__init__.py: lint fixes

* tests/unit/context_test.py: lint fixes

* tests/integration/states/file.py: lint fixes

* tests/integration/utils/test_reactor.py: lint fixes

* tests/integration/utils/testprogram.py: lint fixes

* tests/unit/__init__.py: lint fixes

* tests/integration/shell/minion.py: lint fixes

* tests/unit/modules/boto_apigateway_test.py: lint fixes

* tests/unit/modules/boto_cognitoidentity_test.py: lint fixes

* tests/unit/modules/boto_elasticsearch_domain_test.py: lint fixes

* tests/unit/modules/k8s_test.py: lint fixes

* tests/unit/modules/reg_win_test.py: lint fixes

* tests/unit/states/boto_apigateway_test.py: lint fixes

* tests/unit/states/boto_cognitoidentity_test.py: lint fixes

* tests/unit/states/boto_elasticsearch_domain_test.py: lint fixes
2016-06-29 16:30:18 -04:00
Thayne Harbaugh
b8b74fcbe0 Remove unused code 2016-06-03 14:47:23 -06:00
Thayne Harbaugh
68a9912d3a Refactor `testprogram` framework to minimize explicit setup and improve reuse.
* Add a ``testprogram.TestProgramCase()`` to simplify test classes

  + Has ``setUp()`` and ``tearDown()`` to create ephemeral test directory
    (really should be moved to salttesting.TestCase)

  + Common ``assert_exit_status()`` for validating and reporting failures in
    exit status.

* Add missing ``testprogram.TestDaemonSaltProxy`` class

* Remove specific setting of ``program`` parameter in initialization of
  ``TestDaemonSaltMinion`` since ``testprogram.TestSaltProgramMeta`` already
  handles that unless a specific override is required.

* Automatically set ``user`` in config for master, minion and proxy test
  classes if a specific user is not specified.

* Automatically set ``PYTHONPATH`` as ``sys.path`` unless it is specified.
2016-06-02 16:51:54 -06:00
Thayne Harbaugh
1fdb232af3 Test that correct salt-minion start-up exits with EX_OK 2016-06-01 18:21:49 -06:00
Thayne Harbaugh
920f062193 Test that an unknown argument to salt-minion exits with EX_USAGE 2016-06-01 18:21:49 -06:00
Thayne Harbaugh
b5e66ad853 Test that a non-existent user for salt-minion exits with EX_NOUSER
Add common exit status assert function.
2016-06-01 18:21:49 -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
Pedro Algarvio
e7681f7c75 Try to overcome a failure to get cwd in Cent tests 2015-07-28 12:07:04 +01:00
Pedro Algarvio
60f215f191 Add from __future__ import absolute_import 2015-01-30 22:25:04 +00:00
Pedro Algarvio
733b31da23 Merge branch '2014.7' into develop
Conflicts:
	tests/unit/modules/hashutil_test.py
	tests/unit/templates/jinja_test.py
2014-11-27 03:59:40 +00:00
Pedro Algarvio
d957d2e911 Switch open() for salt.utils.fopen() 2014-11-26 23:36:26 +00:00
Pedro Algarvio
bfe99dbb3f Merge branch '2014.7' into develop
Conflicts:
	salt/cloud/__init__.py
	salt/modules/file.py
	salt/modules/zcbuildout.py
	salt/runners/lxc.py
	salt/runners/manage.py
2014-11-26 20:14:56 +00:00
Pedro Algarvio
46ea34b4f5 Switch open() for salt.utils.fopen() 2014-11-26 17:55:30 +00:00
steverweber
bf8f936fa4 fix issues with keepalive minion 2014-07-25 15:13:05 -04:00
Pedro Algarvio
4d7ca91424 Remove unnecessary ©️ and :license: from file headers 2014-05-26 19:26:15 +01:00
Pedro Algarvio
1c399660a9 Provide a path which should fail. 2014-01-20 13:12:57 +00:00
Pedro Algarvio
a9429d8b18 Fix unit test expected results since we now exit with an error code. 2014-01-19 16:16:49 +00:00
Pedro Algarvio
db670d1357 Don't fail if process already killed. 2013-10-16 23:27:19 +01:00
Pedro Algarvio
e72b4a3492 Fix syslog logic checks for file://, tcp:// and udp://. Fixes #7754. 2013-10-15 22:09:37 +01:00
Pedro Algarvio
e18ba0758b Don't include authorship in generated documentation, the Sphinx way. 2013-09-16 17:24:00 +01:00
Pedro Algarvio
331dc6d936 Updated integration.shell.minion test suite to use salttesting.helpers.ensure_in_syspath() 2013-06-28 00:13:02 +01:00
Pedro Algarvio
e772f0d8b6 Re-use salt-testing mixin. 2013-06-28 00:12:58 +01:00
Pedro Algarvio
663f54ef9f Update copyright years of changed files. Added __main__ execution to tests/integration/states/pip.py. 2013-06-28 00:12:57 +01:00
Pedro Algarvio
222be7b446 Make sure every test module is runnable by __main__.
* Double to single quotes
2013-06-28 00:12:56 +01:00
Pedro Algarvio
7c5a5d0bd3 Header updates. More copyright to the SaltSatck team. Code author to me(where applicable). 2012-12-11 10:23:37 +00:00
Pedro Algarvio
d776705e49 Parsers(master, minion, syndic) cleanup code.
Moved the minion, master and syndic parsers to use mixins to clean up, reuse, and automate some of the required procedures.
2012-08-04 19:58:32 +01:00