kitchen-salt 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 79f494f3ba503351c7a4e3890f982d3b0aef0999422771af07ce99999f3dcff6
4
- data.tar.gz: e7142e9c9ec1859b247ab7828b890a88237007f93d82d19cf8caacb0c8e40cb2
3
+ metadata.gz: c37b796e056dcc14db8725ccd88b8e0e2cc9f121f114360a9a19efda8446bdc5
4
+ data.tar.gz: f1a3d9bb0207b05471a22244337ecf2a2734c022b6880dd60b2e9d7a860c19cc
5
5
  SHA512:
6
- metadata.gz: c296038cf76c93edc5879c0917a82e7322b03bd535809ea5154ae08eb725b97c4b3ef939b2f11f3b9409040ed87c1cbcd611e734f9bccf38c447f46a176cd6d5
7
- data.tar.gz: 5e139be4561ad12bfa213dfb322eed2b55c68ae7dbe1a3e651645af8248e7b3f229fd57858afcac31cb348e31d76624c7274d16e61b8dc4e4b9074318c18ac13
6
+ metadata.gz: 6e3a6116b1608d75e2136c4a2502527494b854c3ad790db928d6118130e9d1422cf6b471608ef8a37685698cc194088772984d69401899670e5f95a11c434f56
7
+ data.tar.gz: 66f41fc7628ae53f0ed402a71d6f18cf4e0ee779e3cf1d27c38c69593a9f58d94a6eee954b351a868f12d0ff2fe6d2f360d29a706dfb794cdd6c858c7dc7c71f
@@ -1,5 +1,5 @@
1
1
  module Kitchen
2
2
  module Salt
3
- VERSION = '0.2.3'.freeze
3
+ VERSION = '0.2.4'.freeze
4
4
  end
5
5
  end
@@ -39,6 +39,8 @@ then
39
39
  #{sudo('sh')} $BOOTSTRAP #{bootstrap_options}
40
40
  elif [ -z "${SALT_VERSION}" -a "#{salt_install}" = "pip" ]
41
41
  then
42
+ echo "Makesure setuptools is new enough"
43
+ #{sudo(salt_pip_bin)} install "setuptools>=30"
42
44
  echo #{sudo(salt_pip_bin)} #{salt_pip_install_command} #{salt_pip_pkg}
43
45
  #{sudo(salt_pip_bin)} #{salt_pip_install_command} #{salt_pip_pkg}
44
46
  elif [ -z "${SALT_VERSION}" -a "#{salt_install}" = "apt" ]
@@ -37,6 +37,7 @@ module Kitchen
37
37
 
38
38
  DEFAULT_CONFIG = {
39
39
  bootstrap_url: 'https://raw.githubusercontent.com/saltstack/kitchen-salt/master/assets/install.sh',
40
+ cache_commands: [],
40
41
  chef_bootstrap_url: 'https://www.chef.io/chef/install.sh',
41
42
  dependencies: [],
42
43
  dry_run: false,
@@ -197,6 +198,7 @@ module Kitchen
197
198
  prepare_grains
198
199
  prepare_states
199
200
  prepare_state_top
201
+ prepare_cache_commands
200
202
  # upload scripts, cached formulas, and setup system repositories
201
203
  prepare_dependencies
202
204
  end
@@ -268,7 +270,7 @@ module Kitchen
268
270
  cmd << " --id=#{config[:salt_minion_id]}" if config[:salt_minion_id]
269
271
  cmd << " test=#{config[:dry_run]}" if config[:dry_run]
270
272
  cmd << ' --force-color' if config[:salt_force_color]
271
- if salt_version > RETCODE_VERSION || salt_version == 'latest'
273
+ if "#{salt_version}" > RETCODE_VERSION || salt_version == 'latest'
272
274
  # hope for the best and hope it works eventually
273
275
  cmd << ' --retcode-passthrough'
274
276
  end
@@ -285,7 +287,7 @@ module Kitchen
285
287
  # https://github.com/saltstack/salt/pull/11337
286
288
  # Unless we know we have a version that supports --retcode-passthrough
287
289
  # attempt to scan the output for signs of failure
288
- if config[:salt_version] <= RETCODE_VERSION
290
+ if "#{config[:salt_version]}" <= RETCODE_VERSION
289
291
  # scan the output for signs of failure, there is a risk of false negatives
290
292
  fail_grep = 'grep -e Result.*False -e Data.failed.to.compile -e No.matching.sls.found.for'
291
293
  # capture any non-zero exit codes from the salt-call | tee pipe
@@ -416,6 +418,24 @@ module Kitchen
416
418
  dependencies_content = ERB.new(File.read(dependencies_script)).result(binding)
417
419
  write_raw_file(File.join(sandbox_path, 'dependencies.sh'), dependencies_content)
418
420
  end
421
+
422
+ def prepare_cache_commands
423
+ ctx = to_hash
424
+ config[:cache_commands].each do |cmd|
425
+ system(cmd % ctx)
426
+ if $?.exitstatus.nonzero?
427
+ raise ActionFailed,
428
+ "cache_command '#{cmd}' failed to execute (exit status #{$?.exitstatus})"
429
+ end
430
+ end
431
+ end
432
+
433
+ def to_hash
434
+ hash = Hash.new
435
+ instance_variables.each {|var| hash[var[1..-1]] = instance_variable_get(var) }
436
+ hash.map{|k,v| [k.to_s.to_sym,v]}.to_h
437
+ end
438
+
419
439
  end
420
440
  end
421
441
  end
@@ -32,7 +32,7 @@ module Kitchen
32
32
  File.join(root_path, config[:testingdir], '/tests/runtests.py'),
33
33
  '--sysinfo',
34
34
  '--output-columns=80',
35
- (config[:windows] ? "--names-file=#{root_path}\\testing\\tests\\whitelist.txt" : ''),
35
+ (config[:windows] && config[:tests].empty? ? "--names-file=#{root_path}\\testing\\tests\\whitelist.txt" : ''),
36
36
  (config[:transport] ? "--transport=#{config[:transport]}" : ''),
37
37
  (config[:verbose] ? '-vv' : '-v'),
38
38
  (config[:run_destructive] ? "--run-destructive" : ''),
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-salt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - SaltStack Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-07 00:00:00.000000000 Z
11
+ date: 2018-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashie