travis-chef 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 58f6e037c4df3d5d3f777d4cbb5d6a79616c374b
4
- data.tar.gz: ca6bf5405f941cb4ea90f301c4092e8c72299cdf
3
+ metadata.gz: c1ef6f9fb281c54d8839e62b64dfd39bfbae754e
4
+ data.tar.gz: d880e90b47cb21b9189b6cb60be31371d21ddf7d
5
5
  SHA512:
6
- metadata.gz: 80b16301febb1bbc38b2593be523c6268d6e726477b3c22c94ea753d517af7c8561859175338fbcd7cae2766a82c013a5f8e406f980ec542535b12c85e4d6312
7
- data.tar.gz: 939b626bc0c642f9a2022af40f5283fb1c6be8b245270ada408543400f723e01aa4487436eb674cdbc29cb920f87009e2c48af82be427103d2841f8011d74648
6
+ metadata.gz: 1a98c18a24fa5f83dd9495413fbdb22e14fc9c53b893bc0af2a3ac215815a6483bf26b8ed0d11fa8bf4b2a4d7c990e0d92dcd53ece5e4f1ec2fb5eb85c58cc24
7
+ data.tar.gz: 4fa512376b16019198e7ff879d1524735052726fca147349a2f013585bf9a14fd9ba38b93efc69cfadc7a35dc928b0937d61b9b09d4671757c449cead8e84cd9
data/script/travis-chef CHANGED
@@ -23,6 +23,47 @@ load_ssh_key() {
23
23
  return 0
24
24
  }
25
25
 
26
+ update_nodes() {
27
+ knife exec -E "def get_value(node, attribute);
28
+ attribute.split('.').inject(node) { |hash, key| hash[key] };
29
+ end;
30
+ def update_node(node, attribute, value);
31
+ begin;
32
+ puts \"Updating #{node.name}[#{attribute}] to #{value}\";
33
+ attribute.split('.').inject(node.normal) { |hash, key|
34
+ hash[key].is_a?(String) ? hash[key] = value : hash[key];
35
+ };
36
+ saved_node = node.save;
37
+ loaded_node = Chef::Node.load(node.name);
38
+ unless get_value(saved_node, attribute) == value
39
+ puts \"Warning: saved node value does not match #{value}\";
40
+ return false;
41
+ end;
42
+ unless get_value(loaded_node, attribute) == value
43
+ puts \"Warning: loaded node value does not match #{value}\";
44
+ return false;
45
+ end;
46
+ return true;
47
+ rescue;
48
+ end;
49
+ return false;
50
+ end;
51
+ nodes.find('${1}') { |node|
52
+ succeeded = false
53
+ (1..5).each { |try|
54
+ puts \"Attempt #{try} for #{node.name}:\";
55
+ succeeded = update_node(node, '${2}', '${3}');
56
+ break if succeeded;
57
+ };
58
+ if succeeded;
59
+ puts \"Updated #{node.name}\";
60
+ else;
61
+ fail(StandardError, \"Failed to update #{node.name}\");
62
+ end;
63
+ }"
64
+ return $?
65
+ }
66
+
26
67
  setup_chef() {
27
68
  if [ -n "${CHEF_ENVIRONMENTS}" ]; then
28
69
  setup_chef_from_env
data/travis-chef.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = 'travis-chef'
5
- gem.version = '0.0.14'
5
+ gem.version = '0.0.15'
6
6
  gem.authors = ['Matt Kasa']
7
7
  gem.email = ['mattk@granicus.com']
8
8
  gem.description = 'Script to automate Chef deployments from Travis'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: travis-chef
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Kasa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-01 00:00:00.000000000 Z
11
+ date: 2017-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh