ey_enzyme 0.9.44.c21 → 0.9.44.pre

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.
@@ -1,19 +1,9 @@
1
- require 'logglier'
2
-
3
1
  module EY::Enzyme
4
2
  class MultiLogger
5
3
 
6
- def self.loggly_url
7
- 'https://logs.engineyard.loggly.com/inputs/7d877a85-c36a-4e60-a6ba-1d55185e2b91'
8
- end
9
-
10
4
  def initialize(log_file)
11
5
  @enzyme_log = Logger.new(log_file)
12
6
  @stderr_log = Logger.new($stderr)
13
- begin
14
- @loggly_log = Logglier.new(self.class.loggly_url, :verify_mode => OpenSSL::SSL::VERIFY_NONE)
15
- rescue
16
- end
17
7
  end
18
8
 
19
9
  def debug(message)
@@ -37,10 +27,6 @@ module EY::Enzyme
37
27
  def log(level, message)
38
28
  @stderr_log.send(level, message)
39
29
  @enzyme_log.send(level, message)
40
- begin
41
- @loggly_log.send(level, message) if @loggly_log
42
- rescue
43
- end
44
30
  end
45
31
  end
46
32
  end
@@ -1,5 +1,5 @@
1
1
  module EY
2
2
  module Enzyme
3
- VERSION = "0.9.44.c21"
3
+ VERSION = "0.9.44.pre"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,171 +1,112 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ey_enzyme
3
- version: !ruby/object:Gem::Version
4
- hash: 427
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.44.pre
5
5
  prerelease: 7
6
- segments:
7
- - 0
8
- - 9
9
- - 44
10
- - c
11
- - 21
12
- version: 0.9.44.c21
13
6
  platform: ruby
14
- authors:
7
+ authors:
15
8
  - Engine Yard Inc.
16
9
  autorequire:
17
10
  bindir: bin
18
11
  cert_chain: []
19
-
20
- date: 2010-02-25 00:00:00 Z
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
12
+ date: 2010-02-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
23
15
  name: json
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70297366943200 !ruby/object:Gem::Requirement
26
17
  none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 3
31
- segments:
32
- - 0
33
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
34
22
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rest-client
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70297366943200
25
+ - !ruby/object:Gem::Dependency
26
+ name: rest-client
27
+ requirement: &70297366942680 !ruby/object:Gem::Requirement
40
28
  none: false
41
- requirements:
29
+ requirements:
42
30
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 13
45
- segments:
46
- - 1
47
- - 6
48
- - 1
31
+ - !ruby/object:Gem::Version
49
32
  version: 1.6.1
50
33
  type: :runtime
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: chef
54
34
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70297366942680
36
+ - !ruby/object:Gem::Dependency
37
+ name: chef
38
+ requirement: &70297366942200 !ruby/object:Gem::Requirement
56
39
  none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: -3806225206
61
- segments:
62
- - 0
63
- - 10
64
- - 8
65
- - patch
66
- - 3
67
- version: 0.10.8.patch3
40
+ requirements:
41
+ - - =
42
+ - !ruby/object:Gem::Version
43
+ version: 0.6.0.2
68
44
  type: :runtime
69
- version_requirements: *id003
70
- - !ruby/object:Gem::Dependency
71
- name: chef-deploy
72
45
  prerelease: false
73
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *70297366942200
47
+ - !ruby/object:Gem::Dependency
48
+ name: chef-deploy
49
+ requirement: &70297366941720 !ruby/object:Gem::Requirement
74
50
  none: false
75
- requirements:
76
- - - "="
77
- - !ruby/object:Gem::Version
78
- hash: 29
79
- segments:
80
- - 0
81
- - 2
82
- - 5
51
+ requirements:
52
+ - - =
53
+ - !ruby/object:Gem::Version
83
54
  version: 0.2.5
84
55
  type: :runtime
85
- version_requirements: *id004
86
- - !ruby/object:Gem::Dependency
87
- name: logglier
88
56
  prerelease: false
89
- requirement: &id005 !ruby/object:Gem::Requirement
90
- none: false
91
- requirements:
92
- - - ~>
93
- - !ruby/object:Gem::Version
94
- hash: 29
95
- segments:
96
- - 0
97
- - 2
98
- - 5
99
- version: 0.2.5
100
- type: :runtime
101
- version_requirements: *id005
102
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *70297366941720
58
+ - !ruby/object:Gem::Dependency
103
59
  name: rake
104
- prerelease: false
105
- requirement: &id006 !ruby/object:Gem::Requirement
60
+ requirement: &70297366941240 !ruby/object:Gem::Requirement
106
61
  none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- hash: 3
111
- segments:
112
- - 0
113
- version: "0"
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
114
66
  type: :development
115
- version_requirements: *id006
116
- - !ruby/object:Gem::Dependency
117
- name: rspec
118
67
  prerelease: false
119
- requirement: &id007 !ruby/object:Gem::Requirement
68
+ version_requirements: *70297366941240
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: &70297366940760 !ruby/object:Gem::Requirement
120
72
  none: false
121
- requirements:
73
+ requirements:
122
74
  - - ~>
123
- - !ruby/object:Gem::Version
124
- hash: 11
125
- segments:
126
- - 1
127
- - 2
128
- version: "1.2"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.2'
129
77
  type: :development
130
- version_requirements: *id007
131
- - !ruby/object:Gem::Dependency
132
- name: fakeweb
133
78
  prerelease: false
134
- requirement: &id008 !ruby/object:Gem::Requirement
79
+ version_requirements: *70297366940760
80
+ - !ruby/object:Gem::Dependency
81
+ name: fakeweb
82
+ requirement: &70297366940280 !ruby/object:Gem::Requirement
135
83
  none: false
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- hash: 3
140
- segments:
141
- - 0
142
- version: "0"
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
143
88
  type: :development
144
- version_requirements: *id008
145
- - !ruby/object:Gem::Dependency
146
- name: fakeweb-matcher
147
89
  prerelease: false
148
- requirement: &id009 !ruby/object:Gem::Requirement
90
+ version_requirements: *70297366940280
91
+ - !ruby/object:Gem::Dependency
92
+ name: fakeweb-matcher
93
+ requirement: &70297366939800 !ruby/object:Gem::Requirement
149
94
  none: false
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- hash: 3
154
- segments:
155
- - 0
156
- version: "0"
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
157
99
  type: :development
158
- version_requirements: *id009
100
+ prerelease: false
101
+ version_requirements: *70297366939800
159
102
  description: Gem for kicking off chef recipes
160
103
  email: ninja@engineyard.com
161
- executables:
104
+ executables:
162
105
  - ey-enzyme
163
106
  - ey-recipes
164
107
  extensions: []
165
-
166
108
  extra_rdoc_files: []
167
-
168
- files:
109
+ files:
169
110
  - lib/ey_enzyme/api.rb
170
111
  - lib/ey_enzyme/cli.rb
171
112
  - lib/ey_enzyme/cookbook_set.rb
@@ -175,49 +116,28 @@ files:
175
116
  - lib/ey_enzyme.rb
176
117
  - bin/ey-enzyme
177
118
  - bin/ey-recipes
178
- - spec/api_spec.rb
179
- - spec/log_upload_error_notify_spec.rb
180
- - spec/logging_spec.rb
181
- - spec/retry_report_and_notify_success_spec.rb
182
- - spec/spec_helper.rb
183
119
  homepage: http://github.com/engineyard/ey_enzyme
184
120
  licenses: []
185
-
186
121
  post_install_message:
187
122
  rdoc_options: []
188
-
189
- require_paths:
123
+ require_paths:
190
124
  - lib
191
- required_ruby_version: !ruby/object:Gem::Requirement
125
+ required_ruby_version: !ruby/object:Gem::Requirement
192
126
  none: false
193
- requirements:
194
- - - ">="
195
- - !ruby/object:Gem::Version
196
- hash: 3
197
- segments:
198
- - 0
199
- version: "0"
200
- required_rubygems_version: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ! '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ required_rubygems_version: !ruby/object:Gem::Requirement
201
132
  none: false
202
- requirements:
203
- - - ">"
204
- - !ruby/object:Gem::Version
205
- hash: 25
206
- segments:
207
- - 1
208
- - 3
209
- - 1
133
+ requirements:
134
+ - - ! '>'
135
+ - !ruby/object:Gem::Version
210
136
  version: 1.3.1
211
137
  requirements: []
212
-
213
138
  rubyforge_project:
214
- rubygems_version: 1.8.6
139
+ rubygems_version: 1.8.10
215
140
  signing_key:
216
141
  specification_version: 3
217
142
  summary: Gem for kicking off chef recipes
218
- test_files:
219
- - spec/api_spec.rb
220
- - spec/log_upload_error_notify_spec.rb
221
- - spec/logging_spec.rb
222
- - spec/retry_report_and_notify_success_spec.rb
223
- - spec/spec_helper.rb
143
+ test_files: []
data/spec/api_spec.rb DELETED
@@ -1,44 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
- require 'stringio'
3
-
4
- describe "enzyme API" do
5
-
6
- before { FakeWeb.allow_net_connect = false }
7
- after { FakeWeb.allow_net_connect = true }
8
-
9
- def new_api(*args)
10
- old_stderr = $stderr
11
- $stderr = StringIO.new
12
- api = EY::Enzyme::API.new(*args)
13
- $stderr = old_stderr
14
- api
15
- end
16
-
17
- context "with an EY::Enzyme::API" do
18
- before do
19
- @enzyme_api = new_api("https://cloud.engineyard.com/dracul",
20
- "i-d8babcb5",
21
- "8c40f5769f8987489ec66a3abc944123fc0f043c",
22
- File.dirname(__FILE__) + '/../tmp/test.log')
23
- end
24
-
25
- it "should be able to post errors" do
26
- FakeWeb.register_uri(
27
- :post,
28
- "https://cloud.engineyard.com/dracul/error",
29
- :body => {}.to_json
30
- )
31
-
32
- begin
33
- raise "we fail"
34
- rescue => e
35
- #WE need to do this because the exception is expected to have a backtrace
36
- @enzyme_api.notify_error("user", e)
37
- end
38
-
39
- FakeWeb.should have_requested(:post, "https://cloud.engineyard.com/dracul/error")
40
- end
41
-
42
- end
43
-
44
- end
@@ -1,45 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe "EY::Enzyme::CookbookSet#upload" do
4
- before do
5
- FakeWeb.clean_registry
6
- @api_url = "https://cloud.engineyard.example.com/dracul"
7
-
8
- fake_cheflog_location = File.expand_path(File.dirname(__FILE__) + '/../tmp/clitestlog')
9
- logfile_location = File.expand_path(File.dirname(__FILE__) + '/../tmp/clitestlog')
10
- @cookbooks = EY::Enzyme::CLI.new(:logfile => logfile_location, :api => @api_url).main_cookbooks
11
-
12
- #HAX: (might as well be a mock)
13
- @cookbooks.instance_eval {
14
- @chef_log = fake_cheflog_location
15
- }
16
- end
17
-
18
- it "posts the log file to /store" do
19
- FakeWeb.register_uri(
20
- :post,
21
- @api_url + "/store",
22
- :body => {}.to_json
23
- )
24
- @cookbooks.upload
25
- end
26
-
27
- it "posts an error when attempt to upload logs returns 500" do
28
- FakeWeb.register_uri(
29
- :post,
30
- @api_url + "/store",
31
- :body => {}.to_json,
32
- :status => ["500", "Internal Server Error"]
33
- )
34
- FakeWeb.register_uri(
35
- :post,
36
- @api_url + "/error",
37
- :body => {}.to_json
38
- )
39
- @cookbooks.upload
40
- posted = JSON.parse(FakeWeb.last_request.body.to_s)
41
- posted["where_failed"].should == "logupload"
42
- posted["message"].should == "failed to upload main log"
43
- end
44
-
45
- end
data/spec/logging_spec.rb DELETED
@@ -1,21 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe EY::Enzyme::MultiLogger do
4
-
5
- before do
6
- FakeWeb.clean_registry
7
- FakeWeb.allow_net_connect = false
8
- end
9
-
10
- it "it should have a loggly_url" do
11
- EY::Enzyme::MultiLogger.loggly_url.should_not == nil
12
- EY::Enzyme::MultiLogger.loggly_url.should == 'https://logs.engineyard.loggly.com/inputs/7d877a85-c36a-4e60-a6ba-1d55185e2b91'
13
- end
14
-
15
- it "it should log something to loggly" do
16
- FakeWeb.register_uri(:post, EY::Enzyme::MultiLogger.loggly_url, :body => {}.to_json)
17
- logger = EY::Enzyme::MultiLogger.new($stdout)
18
- logger.debug("test")
19
- FakeWeb.should have_requested(:post, EY::Enzyme::MultiLogger.loggly_url)
20
- end
21
- end
@@ -1,62 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe "EY::Enzyme::API" do
4
- before do
5
- FakeWeb.clean_registry
6
- @api_url = "https://cloud.engineyard.example.com/dracul"
7
-
8
- logfile_location = File.expand_path(File.dirname(__FILE__) + '/../tmp/clitestlog')
9
- @cli = EY::Enzyme::CLI.new(:logfile => logfile_location, :api => @api_url)
10
- @api = @cli.instance_eval{ @api }
11
- end
12
-
13
- describe "notify_success" do
14
- it "can notify success" do
15
- FakeWeb.register_uri(
16
- :post,
17
- @api_url + "/completed",
18
- :body => {}.to_json
19
- )
20
- @api.notify_success
21
- end
22
-
23
- it "retries on 502" do
24
- FakeWeb.register_uri(
25
- :post,
26
- @api_url + "/completed",
27
- [
28
- {:body => {}.to_json, :status => ["502", "Bad Gateway"]},
29
- {:body => {}.to_json, :status => ["200", "Success"]},
30
- ]
31
- )
32
- lambda{ @api.notify_success }.should_not raise_error
33
- end
34
- end
35
-
36
- describe "report" do
37
- it "can report chef statuses" do
38
- FakeWeb.register_uri(
39
- :post,
40
- @api_url + "/report",
41
- :body => {}.to_json
42
- )
43
- @api.report 'report some status'
44
-
45
- posted = JSON.parse(FakeWeb.last_request.body.to_s)
46
- posted["message"].should == "report some status"
47
- end
48
-
49
- it "doesn't raise or retry on 502" do
50
- FakeWeb.register_uri(
51
- :post,
52
- @api_url + "/report",
53
- [
54
- {:body => {}.to_json, :status => ["502", "Bad Gateway"]},
55
- {:body => lambda{ raise "no!" }}, #bad bad hax, doesn't work the way you would hope
56
- ]
57
- )
58
- lambda{ @api.report 'some status update' }.should_not raise_error
59
- end
60
- end
61
-
62
- end
data/spec/spec_helper.rb DELETED
@@ -1,9 +0,0 @@
1
- $:.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
2
-
3
- require 'ey_enzyme'
4
- require 'fakeweb'
5
- require 'fakeweb_matcher'
6
-
7
- tmpdir = File.expand_path(File.dirname(__FILE__) + '/../tmp')
8
- FileUtils.mkdir_p tmpdir
9
- FileUtils.rm Dir.glob("#{tmpdir}/*")