cwp 0.0.6 → 0.0.7

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.
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