kitchen_hooks 1.5.3 → 1.5.4

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: bc604b1b2abab2073d9e568aaa74126476eca24e
4
- data.tar.gz: 6f8dab7e189d19fd33a4fa15c4e590b15c831b44
3
+ metadata.gz: 0fcd91cc1571abd32219e6c42c434d363ecdd6b6
4
+ data.tar.gz: 2ecee3e126267b8886eafa3913aab9d2b8bb1bdb
5
5
  SHA512:
6
- metadata.gz: e31f2ac0f8bb6d0e152ace39709ba420b56484f8e3ce22de3ea1d03e9697a352100eb29ff8853d1ccce9e92bc001b1403505df716cc2e8f8527c3048e25ff5cf
7
- data.tar.gz: e1ed91030b09ec8dee1a399f316c46c193dd8d6cf9670528ed4f376dc2426cbfea227dcf08e4fd00a95cc568f0b7235e94394a547bb0e611d7c46d5e5e2f6728
6
+ metadata.gz: bcbff46645c76cec5afd65ffe4af351fb54907eeebdd473b2ba3085d0f049c8ecd0c6cf006cdb315167656de967086fc28e185f9a9f8fa17a6502f99f594cc2b
7
+ data.tar.gz: d67edc3b6818bdd3dc6524b1a672dbac2a7687b6351022a1584ad52d602315bfe887dd6c2eb156a521f6a921846bfbf2476eb6c2b43cf518d7cd7e3bf4e98806
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.3
1
+ 1.5.4
data/etc/commit.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "before": "08f20548e398f634979047d0c8114260bcc2949a",
3
3
  "after": "7b238ce9c6cff250db5a0b727b9661b618b82e1d",
4
- "ref": "refs/tags/v1.5.1",
4
+ "ref": "refs/tags/bjn_test",
5
5
  "user_id": 645,
6
6
  "user_name": "Sean Clemmer",
7
7
  "repository": {
@@ -117,14 +117,6 @@ module KitchenHooks
117
117
  end
118
118
 
119
119
 
120
- def err_out e, msg
121
- logger.error msg
122
- logger.error e.message
123
- logger.error e.backtrace.inspect
124
- msg
125
- end
126
-
127
-
128
120
  def process event
129
121
  if event.nil? # JSON parse failed
130
122
  mark event, 'failure', 'Could not parse WebHook payload'
@@ -133,9 +125,9 @@ module KitchenHooks
133
125
 
134
126
  if commit_to_kitchen?(event)
135
127
  possible_error = begin
136
- perform_kitchen_upload(event, knives)
128
+ perform_kitchen_upload event, knives
137
129
  rescue Exception => e
138
- err_out e, 'Could not perform kitchen upload'
130
+ report_error e, 'Could not perform kitchen upload'
139
131
  end
140
132
  mark event, 'kitchen upload', possible_error
141
133
  end
@@ -143,9 +135,9 @@ module KitchenHooks
143
135
  if tagged_commit_to_cookbook?(event) &&
144
136
  tag_name(event) =~ /^v\d+/ # Cookbooks tagged with a version
145
137
  possible_error = begin
146
- perform_cookbook_upload(event, knives)
138
+ perform_cookbook_upload event, knives
147
139
  rescue Exception => e
148
- err_out e, 'Could not perform cookbook upload'
140
+ report_error e, 'Could not perform cookbook upload'
149
141
  end
150
142
  mark event, 'cookbook upload', possible_error
151
143
  end
@@ -153,9 +145,9 @@ module KitchenHooks
153
145
  if tagged_commit_to_realm?(event) &&
154
146
  tag_name(event) =~ /^bjn_/ # Realms tagged with an environment
155
147
  possible_error = begin
156
- perform_constraint_application(event, knives)
148
+ perform_constraint_application event, knives
157
149
  rescue Exception => e
158
- err_out e, 'Could not apply constraints'
150
+ report_error e, 'Could not apply constraints'
159
151
  end
160
152
  mark event, 'constraint application', possible_error
161
153
  end
@@ -13,7 +13,19 @@ Berkshelf.logger = Logger.new $stdout
13
13
  module KitchenHooks
14
14
  module Helpers
15
15
 
16
+ def report_error e, msg=nil
17
+ msg = e.message if msg.nil?
18
+ logger.error msg
19
+ logger.error e.message
20
+ logger.error e.backtrace.inspect
21
+ msg
22
+ end
23
+
24
+
16
25
  def perform_constraint_application event, knives
26
+ logger.debug 'started perform_constraint_application event=%s, knives=%s' % [
27
+ event.inspect, knives.inspect
28
+ ]
17
29
  tmp_clone event, :tagged_commit do |clone|
18
30
  Dir.chdir clone do
19
31
  logger.info 'Applying constraints'
@@ -25,13 +37,16 @@ module KitchenHooks
25
37
  end
26
38
  end
27
39
 
28
- logger.info "finished perform_constraint_application: #{event['after']}"
29
- return true # no error
40
+ logger.debug "finished perform_constraint_application: #{event['after']}"
41
+ return # no error
30
42
  end
31
43
 
32
44
 
33
45
  def perform_kitchen_upload event, knives
34
46
  return false unless commit_to_master?(event)
47
+ logger.debug 'started perform_kitchen_upload event=%s, knives=%s' % [
48
+ event.inspect, knives.inspect
49
+ ]
35
50
 
36
51
  tmp_clone event, :latest_commit do |clone|
37
52
  Dir.chdir clone do
@@ -50,12 +65,16 @@ module KitchenHooks
50
65
  end
51
66
  end
52
67
 
53
- logger.info "finished perform_kitchen_upload: #{event['after']}"
54
- return true # no error
68
+ logger.debug "finished perform_kitchen_upload: #{event['after']}"
69
+ return # no error
55
70
  end
56
71
 
57
72
 
58
73
  def perform_cookbook_upload event, knives
74
+ logger.debug 'started perform_cookbook_upload event=%s, knives=%s' % [
75
+ event.inspect, knives.inspect
76
+ ]
77
+
59
78
  tmp_clone event, :tagged_commit do |clone|
60
79
  Dir.chdir clone do
61
80
  tagged_version = tag_name(event).delete('v')
@@ -79,12 +98,15 @@ module KitchenHooks
79
98
  end
80
99
  end
81
100
 
82
- logger.info "finished cookbook_upload: #{event['after']}"
83
- return true # no error
101
+ logger.debug "finished cookbook_upload: #{event['after']}"
102
+ return # no error
84
103
  end
85
104
 
86
105
 
87
106
  def berks_upload berksfile, knife, options={}
107
+ logger.debug 'started berks_upload berksfile=%s, knife=%s' % [
108
+ berksfile.inspect, knife.inspect
109
+ ]
88
110
  ridley = Ridley::from_chef_config knife
89
111
  options.merge! \
90
112
  berksfile: berksfile,
@@ -97,24 +119,31 @@ module KitchenHooks
97
119
  berksfile = Berkshelf::Berksfile.from_options(options)
98
120
  berksfile.install
99
121
  berksfile.upload [], options
122
+ logger.debug 'finished berks_upload: %s' % berksfile
100
123
  end
101
124
 
102
125
 
103
126
  def tmp_clone event, commit_method, &block
127
+ logger.debug 'started tmp_clone event=%s, commit_method=%s' % [
128
+ event.inspect, commit_method.inspect
129
+ ]
104
130
  Dir.mktmpdir do |tmp|
105
- dir = File::join tmp, cookbook_name(event)
131
+ dir = File::join tmp, Time.now.to_f.to_s, cookbook_name(event)
132
+ FileUtils.mkdir_p dir
106
133
  repo = Git.clone git_daemon_style_url(event), dir, log: $stdout
107
134
  commit = self.send(commit_method, event)
108
135
  repo.checkout commit
109
136
  yield dir
110
- FileUtils.rm_rf dir
111
137
  end
138
+ logger.debug 'finished tmp_clone'
112
139
  end
113
140
 
114
141
 
115
142
  def with_each_knife command, knives
116
143
  knives.map do |k|
117
- `knife #{command} --config #{Shellwords::escape k}`
144
+ cmd = "knife #{command} --config #{Shellwords::escape k}"
145
+ logger.debug 'with_each_knife: %s' % cmd
146
+ `#{cmd}`
118
147
  end
119
148
  end
120
149
 
@@ -123,12 +152,16 @@ module KitchenHooks
123
152
  # Ripped from Berkshelf::Cli::apply and Berkshelf::Lockfile::apply
124
153
  # https://github.com/berkshelf/berkshelf/blob/master/lib/berkshelf/cli.rb
125
154
  # https://github.com/berkshelf/berkshelf/blob/master/lib/berkshelf/lockfile.rb
155
+ logger.debug 'started apply_constraints constraints=%s, environment=%s, knife=%s' % [
156
+ constraints.inspect, environment.inspect, knife.inspect
157
+ ]
126
158
  Celluloid.logger = nil
127
159
  ridley = Ridley::from_chef_config knife
128
160
  chef_environment = ridley.environment.find(environment)
129
- raise if chef_environment.nil?
161
+ raise 'Could not find environment "%s"' % environment if chef_environment.nil?
130
162
  chef_environment.cookbook_versions = constraints
131
163
  chef_environment.save
164
+ logger.debug 'finished apply_constraints: %s' % environment
132
165
  end
133
166
 
134
167
 
@@ -137,14 +170,19 @@ module KitchenHooks
137
170
  # https://github.com/berkshelf/berkshelf/blob/master/lib/berkshelf/cli.rb
138
171
  # https://github.com/berkshelf/berkshelf/blob/master/lib/berkshelf/lockfile.rb
139
172
  lockfile = Berkshelf::Lockfile.from_file lockfile_path
140
- lockfile.graph.locks.inject({}) do |hash, (name, dependency)|
173
+ constraints = lockfile.graph.locks.inject({}) do |hash, (name, dependency)|
141
174
  hash[name] = "= #{dependency.locked_version.to_s}"
142
175
  hash
143
176
  end
177
+ logger.debug 'constraints: %s -> %s' % [ lockfile_path, constraints ]
178
+ return constraints
144
179
  end
145
180
 
146
181
 
147
182
  def upload_environment environment, knife
183
+ logger.debug 'started upload_environment environment=%s, knife=%s' % [
184
+ environment.inspect, knife.inspect
185
+ ]
148
186
  # Load the local environment from a JSON file
149
187
  local_environment = JSON::parse File.read(environment)
150
188
  local_environment.delete 'chef_type'
@@ -168,6 +206,7 @@ module KitchenHooks
168
206
 
169
207
  # Make it so!
170
208
  chef_environment.save
209
+ logger.debug 'finished upload_environment: %s' % environment
171
210
  end
172
211
 
173
212
 
@@ -1,3 +1,5 @@
1
+ require 'logger'
2
+
1
3
  require 'thor'
2
4
 
3
5
  require_relative 'app'
@@ -62,6 +64,7 @@ module KitchenHooks
62
64
  App.set :raise_errors, true
63
65
  App.set :dump_errors, true
64
66
  App.set :show_exceptions, true
67
+ App.set :logging, ::Logger::DEBUG
65
68
  App.run!
66
69
 
67
70
  at_exit do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen_hooks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3
4
+ version: 1.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kelly Wong