cwp 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDExZmI2NGM5ZmZiNDFjNzIyZmU4Yjg2MjlmNTgwYTQ4N2Q1NTlhYw==
4
+ YWI0MTM5ZTEzOTBjOTQ5NTZhOTBjYjNjMTM5Y2VjMGU3MjhhNWY1Yg==
5
5
  data.tar.gz: !binary |-
6
- MjIzNGUzZWU5Yjg5Yzk2YTIyNjM4YjZlNGZkNWY1OTNkODdiNjA5Mw==
6
+ ZjBmMjJjMDQ2NjdmZDczYzNjNDY1NmExZThkMTUzNzZiYmVlMDMxOA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NjhiODJmMDVjMjRmNGViMWQ0MTE1ODI0MmJhYWYwOTM1YjNlNWFiYThmODZi
10
- NTA2Y2MzNDlkYjM2NTM2NDI3NjUwMzJlOGY5YzYwMmIwODBkYzc2ZGI0NWI2
11
- ZWE0YTU5OTE3YzM5MTc5MTBlZWI4ZDBhYWRiZGY4M2JjYTRmMGQ=
9
+ MzY2NWI0MWNjZTM2MjEwMzhiZjVhMGIwOThiNzJiMWI5M2FmNGEzZmRhMWU3
10
+ ZDFjNWNhMjRjMWEwYTdmNmQ4YTM4YzFjYmIwMzA1ODg2YjJmZDAwMDYxNGZl
11
+ M2IwYjlmMmUxOWI4M2RhMWY3YTc1MDRjYjE2MjU5NDBlYzYxNTI=
12
12
  data.tar.gz: !binary |-
13
- MDFkY2RjZGMyNjU5ZTIzMzFkYmRiMTVhMzcyZGYyNThlN2U1NGM3ZmZkYTZi
14
- NTAxMzJiYmY4YzFhOTBjMmQ3MDQxOTJiOGU4NTdlMzdjYzczYzMxN2ZlNGMz
15
- ZGZjNTg1MGM1M2VjYmEzZTYyMmVjMjcxM2U5OTAyNTk2NTQ5NGI=
13
+ NGJjMWUzMDk5NzQwMjA0ZmRhZjg3MzRmOGQ2NWRlNWYxMzEwODNlMDZjYjdj
14
+ YTY4MmI2MGNmZTMzMDY4YjMyMzIzY2Q5YTI0MTIyZTkxY2ViOWQyMjc3Y2Rh
15
+ MTkwNWEwNGNhZTQ5YjNiMzFhYzY5YTFiOTg2OGFlZWNkZGIxNDk=
data/Gemfile CHANGED
@@ -1,4 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
  gem 'colorize', '~> 0.7.3'
3
+ gem 'json'
3
4
  # Specify your gem's dependencies in cwp.gemspec
4
5
  gemspec
data/bin/cwp CHANGED
@@ -9,7 +9,7 @@ if !ARGV[0].nil?
9
9
  if RUBY_PLATFORM =~ /linux/
10
10
  [ "/etc/cwp.conf", "#{File.expand_path('~')}/.cwp/cwp.conf", "#{File.expand_path('.')}/cwp.conf"]
11
11
  else
12
- []
12
+ [ "#{File.expand_path('~')}/.cwp/cwp.conf", "#{File.expand_path('.')}/cwp.conf"]
13
13
  end
14
14
  # populate all the command line parameters in arr
15
15
  arr = []
@@ -16,6 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.executables = ["cwp"]
17
17
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
18
18
  s.require_paths = ["lib"]
19
+ s.add_dependency "json"
19
20
  s.add_dependency "colorize","~> 0.7.3"
20
21
  # s.add_development_dependency "bundler", "~> 1.6"
21
22
  # s.add_development_dependency "rake"
@@ -66,12 +66,28 @@ module Platform
66
66
  exit
67
67
  end
68
68
  begin
69
+ if response.body["error"]
70
+ error = JSON.parse(response.body)["error"]
71
+ errors = JSON.parse(response.body)["error"]["errors"]
72
+ unless errors.nil?
73
+ errors.each do |key,value|
74
+ puts "INFO ".colorize(:yellow)+"#{value.join(',')}".colorize(:red)
75
+ end
76
+ end
77
+ puts "INFO ".colorize(:yellow)+"#{error['message']}".colorize(:red) unless error["message"].nil?
78
+ else
79
+ puts "INFO ".colorize(:yellow)+" Data were successfully sent to Cloud Portal. Please check deployment status ".colorize(:white)
80
+ end
69
81
  # Pretty print response json from API
70
- puts "[ RESPONSE CODE ]".colorize(:blue)
71
- puts response.code.colorize(:white)
72
- puts "[ RESPONSE JSON ]".colorize(:blue)
73
- puts JSON.pretty_generate(JSON.parse(response.body)).colorize(:white)
82
+ loglevel = hash["parameters"]["loglevel"].downcase if !hash["parameters"]["loglevel"].nil?
83
+ if (loglevel == "debug")
84
+ puts "[ RESPONSE CODE ]".colorize(:blue)
85
+ puts response.code.colorize(:white)
86
+ puts "[ RESPONSE JSON ]".colorize(:blue)
87
+ puts JSON.pretty_generate(JSON.parse(response.body)).colorize(:white)
88
+ end
74
89
  rescue Exception => e
90
+ puts e.backtrace
75
91
  puts response.body
76
92
  end
77
93
  end
@@ -124,7 +140,7 @@ module Platform
124
140
  def self.validate_delete_platform(hash)
125
141
  if self.validate_delete_and_status_params(hash)
126
142
  begin
127
- url = URI.parse("#{hash['parameters']['url']}/api/platforms/#{hash['parameters']['env']} ")
143
+ url = URI.parse("#{hash['parameters']['url']}/api/platforms/#{hash['parameters']['env']}")
128
144
  http = Net::HTTP.new(url.host, url.port)
129
145
  request = Net::HTTP::Delete.new(url.request_uri)
130
146
  request.basic_auth(hash['parameters']['login'],hash['parameters']['password'])
@@ -136,21 +152,30 @@ module Platform
136
152
  exit
137
153
  end
138
154
  begin
139
- # Pretty print response json from API
140
- puts "[ RESPONSE CODE ]".colorize(:blue)
141
- puts response.code.colorize(:white)
142
- puts "[ RESPONSE JSON ]".colorize(:blue)
143
- puts JSON.pretty_generate(JSON.parse(response.body)).colorize(:white)
144
- rescue Exception => e
145
- puts response.body
146
- end
147
- end
148
- end
155
+ if response.body["error"]
156
+ msg = JSON.parse(response.body)
157
+ puts "INFO ".colorize(:yellow)+" #{msg['error']['message']}".colorize(:red)
158
+ else
159
+ puts "INFO ".colorize(:yellow)+" Successfully deleted platform".colorize(:white)
160
+ end
161
+ loglevel = hash["parameters"]["loglevel"].downcase if !hash["parameters"]["loglevel"].nil?
162
+ if (loglevel == "debug")
163
+ # Pretty print response json from API
164
+ puts "[ RESPONSE CODE ]".colorize(:blue)
165
+ puts response.code.colorize(:white)
166
+ puts "[ RESPONSE JSON ]".colorize(:blue)
167
+ puts JSON.pretty_generate(JSON.parse(response.body)).colorize(:white)
168
+ end
169
+ rescue Exception => e
170
+ puts response.body
171
+ end
172
+ end
173
+ end
149
174
  # method to return status log
150
175
  def self.validate_and_check_status(hash)
151
176
  if self.validate_delete_and_status_params(hash)
152
177
  response = self.call_status_api(hash)
153
- self.print_status(response)
178
+ self.print_status(response,hash["parameters"]["loglevel"])
154
179
  end
155
180
  end
156
181
  # wait status method
@@ -176,35 +201,35 @@ end
176
201
  rescue Exception => e
177
202
  ( 2*60 )
178
203
  end
179
- # untill custom timeout is expired.
180
- (custom_timeout+1).times do |num|
181
- if ( num == custom_timeout )
204
+
205
+ looping_time = Time.now + ( custom_timeout * 60 )
206
+ loop do
207
+ if ( Time.now >= looping_time )
182
208
  puts "[ TIMEOUT ]".colorize(:red)+" error status code 2".colorize(:white)
183
- exit
209
+ break;
184
210
  else
185
211
  response = self.call_status_api(hash)
186
212
  begin
187
- body = JSON.parse(response.body)
213
+ body = JSON.parse(response.body, hash["loglevel"])
188
214
  if (body["deploy_status"]["status"] == "failed")
189
215
  puts "[ PLATFORM DEPLOYMENT FAILED ]".colorize(:red)+" error status code 1".colorize(:white)
190
- self.print_status(response)
216
+ self.print_status(response, hash["parameters"]["loglevel"])
191
217
  break
192
218
  else
193
219
  if (body["deploy_status"]["status"] == hash["parameters"]["status"])
194
220
  puts "[ PLATFORM DEPLOYED SUCCESSFULLY ]".colorize(:green)+" error status code 0".colorize(:white)
195
- self.print_status(response)
221
+ self.print_status(response, hash["parameters"]["loglevel"])
196
222
  break
197
223
  else
198
- self.print_status(response)
224
+ self.print_status(response, hash["parameters"]["loglevel"])
199
225
  end
200
226
  end
201
227
  rescue Exception => e
202
- self.print_status(response)
228
+ self.print_status(response, hash["parameters"]["loglevel"])
203
229
  break
204
- end
230
+ end
205
231
  end
206
- puts "[ CHECKING STATUS PLEASE WAIT ] ".colorize(:yellow)
207
- sleep(60)
232
+ sleep(10)
208
233
  end
209
234
  end
210
235
  end
@@ -246,15 +271,62 @@ end
246
271
  end
247
272
  end
248
273
  # print status check common for wait and status
249
- def self.print_status(response)
274
+ def self.print_status(response, loglevel)
275
+ log = loglevel.nil? ? "info" : loglevel.downcase
250
276
  begin
251
- # Pretty print response json from API
252
- puts "[ RESPONSE CODE ]".colorize(:blue)
253
- puts response.code.colorize(:white)
254
- puts "[ RESPONSE JSON ]".colorize(:blue)
255
- puts JSON.pretty_generate(JSON.parse(response.body)).colorize(:white)
277
+ json = JSON.parse(response.body)["deploy_status"]
278
+ if ( log == "info" )
279
+ if @old_json.nil?
280
+ if json.nil?
281
+ json = JSON.parse(response.body)
282
+ puts "INFO : ".colorize(:yellow)+json["error"]["message"].colorize(:white)
283
+ else
284
+ json.each do |key,value|
285
+ puts "INFO :".colorize(:yellow)+" #{key} : #{json[key]}".colorize(:white)
286
+ end
287
+ end
288
+ else
289
+ @old_json.each do |key,value|
290
+ if ( @old_json[key] != json[key] )
291
+ puts "INFO :".colorize(:yellow)+" #{key} : #{json[key]}".colorize(:white)
292
+ end
293
+ end
294
+ end
295
+ @old_json = json
296
+ elsif ( log == "debug" )
297
+ if @old_json.nil?
298
+ if json.nil?
299
+ json = JSON.parse(response.body)
300
+ puts "INFO : ".colorize(:yellow)+json["error"]["message"].colorize(:white)
301
+ else
302
+ json.each do |key,value|
303
+ puts "INFO :".colorize(:yellow)+" #{key} : #{json[key]}".colorize(:white)
304
+ end
305
+ end
306
+ else
307
+ @old_json.each do |key,value|
308
+ if ( @old_json[key] != json[key] )
309
+ puts "INFO :".colorize(:yellow)+" #{key} : #{json[key]}".colorize(:white)
310
+ end
311
+ end
312
+ end
313
+ @old_json = json
314
+ # "----- ABOVE IS THE INFO MODE------"
315
+ puts "[ DEBUG ]".colorize(:red)+" [ RESPONSE CODE ]".colorize(:blue)
316
+ puts response.code.colorize(:white)
317
+ puts "[ DEBUG ]".colorize(:red)+" [ RESPONSE CONTENT TYPE ]".colorize(:blue)
318
+ puts response.content_type.colorize(:white)
319
+ puts "[ DEBUG ]".colorize(:red)+" [ RESPONSE JSON ]".colorize(:blue)
320
+ puts JSON.pretty_generate(JSON.parse(response.body)).colorize(:white)
321
+ else
322
+ puts "INVALID LOG LEVEL".colorize(:red)
323
+ puts "Log Level must be either INFO or DEBUG".colorize(:white)
324
+ end
256
325
  rescue Exception => e
257
326
  puts response.body
258
327
  end
259
328
  end
329
+
330
+
331
+
260
332
  end
data/lib/cwp.rb CHANGED
@@ -31,29 +31,20 @@ module Cwp
31
31
  puts " http://sysgit01.lab.services.ingenico.com/nhd/cloud_web_portal_cli/tree/master".colorize(:white)
32
32
  end
33
33
  def configuration_help_text
34
+ puts "Please pass configuration parameters through file by one of the below option".colorize(:white)
34
35
  if RUBY_PLATFORM =~ /linux/
35
- puts "Please pass configuration parameters through file by one of the below option".colorize(:white)
36
- puts "1 ]".colorize(:white)+" /etc/cwp.conf".colorize(:white)
37
- puts "2 ]".colorize(:white)+" /HOME_DIR/.cwp/cwp.conf".colorize(:white)
38
- puts "3 ]".colorize(:white)+" CURRENT_DIR/cwp.conf".colorize(:white)
39
- puts "4 ]".colorize(:white)+" Pass configuration file path as argument EX:".colorize(:white)+" cwp deploy config_path=PATH_TO_YOUR_CONFIGURATION_FILE".colorize(:yellow)
40
- puts "[ NOTE ]".colorize(:blue)+" File format of cwp.conf".colorize(:white)
41
- puts "parameters:".colorize(:yellow)
42
- puts " login:".colorize(:yellow)+" xxx".colorize(:white)
43
- puts " password:".colorize(:yellow)+" yyy".colorize(:white)
44
- puts " url:".colorize(:yellow)+" http://example.com".colorize(:white)
45
- puts " organization:".colorize(:yellow)+" abc".colorize(:white)
46
- puts " compute_resource:".colorize(:yellow)+" peru".colorize(:white)
47
- else
48
- puts "1 ]".colorize(:white)+" Pass configuration file path as argument EX:".colorize(:white)+" cwp deploy config_path=PATH_TO_YOUR_CONFIGURATION_FILE".colorize(:yellow)
49
- puts "[ NOTE ]".colorize(:blue)+" File format of cwp.conf".colorize(:white)
50
- puts "parameters:".colorize(:yellow)
51
- puts " login:".colorize(:yellow)+" xxx".colorize(:white)
52
- puts " password:".colorize(:yellow)+" yyy".colorize(:white)
53
- puts " url:".colorize(:yellow)+" http://example.com".colorize(:white)
54
- puts " organization:".colorize(:yellow)+" abc".colorize(:white)
55
- puts " compute_resource:".colorize(:yellow)+" peru".colorize(:white)
36
+ puts " - ".colorize(:white)+" /etc/cwp.conf".colorize(:white)
56
37
  end
38
+ puts " - ".colorize(:white)+" /HOME_DIR/.cwp/cwp.conf".colorize(:white)
39
+ puts " - ".colorize(:white)+" CURRENT_DIR/cwp.conf".colorize(:white)
40
+ puts " - ".colorize(:white)+" Pass configuration file path as argument EX:".colorize(:white)+" cwp deploy config_path=PATH_TO_YOUR_CONFIGURATION_FILE".colorize(:yellow)
41
+ puts "[ NOTE ]".colorize(:blue)+" File format of cwp.conf".colorize(:white)
42
+ puts "parameters:".colorize(:yellow)
43
+ puts " login:".colorize(:yellow)+" xxx".colorize(:white)
44
+ puts " password:".colorize(:yellow)+" yyy".colorize(:white)
45
+ puts " url:".colorize(:yellow)+" http://example.com".colorize(:white)
46
+ puts " organization:".colorize(:yellow)+" abc".colorize(:white)
47
+ puts " compute_resource:".colorize(:yellow)+" peru".colorize(:white)
57
48
  end
58
49
  end
59
50
  end
@@ -1,3 +1,3 @@
1
1
  module Cwp
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cwp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nagendra HD
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-18 00:00:00.000000000 Z
11
+ date: 2014-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: json
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: colorize
15
29
  requirement: !ruby/object:Gem::Requirement