onering-client 0.0.76 → 0.0.77

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,14 +14,16 @@ Usage:
14
14
 
15
15
  Options:
16
16
  EOS
17
- opt :id, "Override the autodetected Hardware ID for this node", :short => '-I', :type => :string
18
- opt :fields, "Set the named FIELD to equal VALUE in the format FIELD=VALUE. Can be specified multiple times", :short => '-o', :type => :string, :multi => true
19
- opt :save, "Save the report output to the configured Onering server"
17
+ opt :id, "Override the autodetected Hardware ID for this node", :short => '-I', :type => :string
18
+ opt :fields, "Set the named FIELD to equal VALUE in the format FIELD=VALUE. Can be specified multiple times", :short => '-o', :type => :string, :multi => true
19
+ opt :save, "Save the report output to the configured Onering server"
20
+ opt :timeout, "The maximum amount of time to wait for a report to be generated", :type => :integer
20
21
  end
21
22
 
22
23
  # initialize report generator with user options
23
24
  Onering::Reporter.setup({
24
- :id => @opts[:id]
25
+ :id => @opts[:id],
26
+ :timeout => @opts[:timeout]
25
27
  }.compact)
26
28
  end
27
29
 
@@ -1,5 +1,5 @@
1
1
  module Onering
2
2
  module CLI
3
- VERSION = "0.0.76"
3
+ VERSION = "0.0.77"
4
4
  end
5
5
  end
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rubygems'
3
+ require 'timeout'
3
4
  require 'optparse'
4
5
  require 'hashlib'
5
6
 
@@ -100,22 +101,24 @@ module Onering
100
101
  @id = (@options[:id] || Onering::Util.fact('hardwareid', nil))
101
102
 
102
103
  if not @id.nil?
103
- hostname = (Facter.value('fqdn') rescue %x{hostname -f}.strip.chomp)
104
-
105
- @_report = {
106
- :id => @id,
107
- :name => hostname,
108
- :aliases => @options[:aliases],
109
- :tags => @options[:tags],
110
- :status => (@options[:status] || 'online'),
111
- :inventory => true,
112
- :properties => {}
113
- }
114
-
115
- # loads plugins and populates @_report
116
- load_plugins
117
-
118
- return @_report.stringify_keys()
104
+ Timeout.timeout((@options[:timeout] || 60).to_i) do
105
+ hostname = (Facter.value('fqdn') rescue %x{hostname -f}.strip.chomp)
106
+
107
+ @_report = {
108
+ :id => @id,
109
+ :name => hostname,
110
+ :aliases => @options[:aliases],
111
+ :tags => @options[:tags],
112
+ :status => (@options[:status] || 'online'),
113
+ :inventory => true,
114
+ :properties => {}
115
+ }
116
+
117
+ # loads plugins and populates @_report
118
+ load_plugins
119
+
120
+ return @_report.stringify_keys()
121
+ end
119
122
  else
120
123
  raise "Cannot generate report without a hardware ID"
121
124
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onering-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.76
4
+ version: 0.0.77
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-01-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: facter
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &13246140 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: 1.7.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: 1.7.2
24
+ version_requirements: *13246140
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: deep_merge
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &13245100 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: '0'
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
35
+ version_requirements: *13245100
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: addressable
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &13244140 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ! '>='
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: '0'
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
46
+ version_requirements: *13244140
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: httparty
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &13242580 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ! '>='
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: '0'
70
55
  type: :runtime
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
57
+ version_requirements: *13242580
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: hashlib
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &13226000 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ! '>='
@@ -85,15 +65,10 @@ dependencies:
85
65
  version: 0.0.19
86
66
  type: :runtime
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: 0.0.19
68
+ version_requirements: *13226000
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: multi_json
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &13223680 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
74
  - - ! '>='
@@ -101,15 +76,10 @@ dependencies:
101
76
  version: '0'
102
77
  type: :runtime
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
79
+ version_requirements: *13223680
110
80
  - !ruby/object:Gem::Dependency
111
81
  name: rainbow
112
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &13220880 !ruby/object:Gem::Requirement
113
83
  none: false
114
84
  requirements:
115
85
  - - ! '>='
@@ -117,15 +87,10 @@ dependencies:
117
87
  version: '0'
118
88
  type: :runtime
119
89
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
90
+ version_requirements: *13220880
126
91
  - !ruby/object:Gem::Dependency
127
92
  name: trollop
128
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &13218940 !ruby/object:Gem::Requirement
129
94
  none: false
130
95
  requirements:
131
96
  - - ! '>='
@@ -133,12 +98,7 @@ dependencies:
133
98
  version: '0'
134
99
  type: :runtime
135
100
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
101
+ version_requirements: *13218940
142
102
  description: A Ruby wrapper for Onering
143
103
  email: ghetzel@outbrain.com
144
104
  executables:
@@ -146,21 +106,21 @@ executables:
146
106
  extensions: []
147
107
  extra_rdoc_files: []
148
108
  files:
109
+ - lib/onering.rb
149
110
  - lib/onering/cli.rb
150
- - lib/onering/plugins/devices.rb
151
- - lib/onering/plugins/reporter.rb
111
+ - lib/onering/api.rb
112
+ - lib/onering/util.rb
152
113
  - lib/onering/plugins/authentication.rb
114
+ - lib/onering/plugins/reporter.rb
115
+ - lib/onering/plugins/devices.rb
153
116
  - lib/onering/plugins/automation.rb
154
- - lib/onering/cli/devices.rb
155
117
  - lib/onering/cli/reporter.rb
156
- - lib/onering/cli/config.rb
157
- - lib/onering/cli/fact.rb
158
118
  - lib/onering/cli/version.rb
119
+ - lib/onering/cli/devices.rb
120
+ - lib/onering/cli/config.rb
159
121
  - lib/onering/cli/automation.rb
122
+ - lib/onering/cli/fact.rb
160
123
  - lib/onering/cli/call.rb
161
- - lib/onering/api.rb
162
- - lib/onering/util.rb
163
- - lib/onering.rb
164
124
  - bin/onering
165
125
  homepage: https://github.com/outbrain/onering-ruby
166
126
  licenses: []
@@ -182,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
142
  version: '0'
183
143
  requirements: []
184
144
  rubyforge_project:
185
- rubygems_version: 1.8.23
145
+ rubygems_version: 1.8.11
186
146
  signing_key:
187
147
  specification_version: 3
188
148
  summary: Onering client API and utilities