Was throwing a key not found in instances where the key was found but
the key/value pair inside was not found.
Use trace instead of debug to show this issue... very noisy
- lint fixes
- list_pkgs() now returns multiple versions if software installed more than once.
- list_pkgs() now returns 'Not Found' when the version is not found instead of '(value not set)' which matches the contents of the sls definitions.
- list_pkgs() has had some improvements in correctly detecting valid software entries.
- remove() replaced 1,000 loop calls of list_pkgs which runs for unknown number of seconds, with a 3 second timeout with 0.5 delay between tries. This greating increase the chance of detecting the software changes.
- remove() with a version specified which was not installed, removed any version, now no longer removes the wrong version.
- remove() handles latest as a version, and also looks for this in the sls definition if no other options available. This helps support software which auto updates.
1. Let pyzmq to correctly cleanup stream by itself
2. Don't close IOLoop that closes managed IO objects until full async
object cleanup that produces closing streams and attempts to operate to
strutures deinitialized by the closed IOLoop.
The behavior of the set union used to combine ext_nodes and top file
matches is not consistent on Python 3 (well, 3.5 at least), and this
produces flaky test results.
Since we do not change things like the state compiler in point
releases, the method used to combine the ext_nodes and top file matches
has been changed for Oxygen and is now fully deterministic. This test
will therefore be skipped for the remainder of the 2017.7 release cycle
on Python 3.
Fixes https://github.com/saltstack/salt-jenkins/issues/686.
test_exclude shares file paths with test_include, and while I can't
reproduce the failures, it is likely that improperly cleaned-up files
from test_include are causing the failures in test_exclude. This is
backed up by the fact that the state.sls return data from the
salt-runtests.log shows no trace of the "to-include-test" file
(suggesting it was excluded as expected), yet os.path.isfile() returns
True for this path, causing the test to fail.
This commit uses a distinct base dir for both tests, which should keep
this sort of failure from happening.