brpm_module_bladelogic 0.1.39 → 0.1.41

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
- ZTlhYjkyZjQ0YTIxZmQ1NjVlNmU5NGE1NjlkN2RhYmYzYmE5MDcxNw==
4
+ OWVkYjE0NzE2YjA1YTBmMDE3ZDAwMzQwODUzYWRhNDM2MGJlODllMw==
5
5
  data.tar.gz: !binary |-
6
- MzQ0MjJhYjMwYmNkZjc5N2Q1ZWE0MTc0ZDk4MzBjNjUyN2JiODYyNQ==
6
+ M2QxZTJiNGI0YWYwZjM2OTllYjFjODg3OTljZWRkZmJlNzIzOWJiYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- M2Y0ZGVkODFhMGM1NmFlNzRmN2RhZDYzNTFlNmUwN2MzYzljMDcwMTg3Y2Fh
10
- NzAxZDZkYzlmNGMzZjA4NzUxMTdiZmJjOTM1YmU1NmZkYTZmY2E3YzlmZTMy
11
- MzcyNWViNmNlYTA1NmYzNjg5OGJlNGMzYWRjZjA5YzA2Y2JmYWQ=
9
+ NDg1OGFmYzJjNzQ3ZWI2MjI2ZTUwOTY1ZGI4NTkwMGE1Y2RmNmQyNjQ0MzRl
10
+ NmZmMzQwNGE3MGJlNGJmNGM5ZjgzODA0Y2RmZTI3MDA4YWRmZGY0MzhmY2Rj
11
+ ZGQ1NzAyNTU4ZjllZmJmYWRlNDZjNmM3ZTlkYTJlY2VlMDAzYzU=
12
12
  data.tar.gz: !binary |-
13
- NTU2MzIwMjk2YmZmNDBlMWUxMDRiN2Y2ODBhM2JmZTBjOTc2OTkyODU2YzUw
14
- NWY5MDQ0NGNmZTQ3MWI1YjEyOTExMDE2YjcyNDFkY2YxZTAxNjk4OWI4Zjdl
15
- NjczNzcxMjRmYjNlNTM1ZWFjOWY3OTUxYTdkYjM1Y2NkYjg2YzQ=
13
+ NTBhYTIxNjllZTQ0YTFiYzhhOTg2ZGUxNjYwMzE5MDc0NGUyNTcxZDE0NzYy
14
+ YTU3OGYzZjgxZDNlZmQ3OWU0YjRkM2U2MWFhOTUwN2RhNGFkMzNmNmQ3MjVk
15
+ YTI0ZTYwYTZjNWQ5OGM4NDU0YTcxMWRkNmNmOTQ1NzJlZjIwNjA=
@@ -21,7 +21,7 @@ params:
21
21
  type: out-text
22
22
  position: A2:E2
23
23
  results:
24
- name: Installs
24
+ name: Results
25
25
  type: out-table
26
26
  position: A3:E3
27
27
  results_link:
@@ -75,70 +75,106 @@ File.open(results_full_path, "w") do |f|
75
75
  end
76
76
 
77
77
  BrpmAuto.log("Parsing the results...")
78
- # As this export contains "embedded" double quotes it is not possible to parse it with the CSV library
79
- log_lines = results_content.split("\n")[6..-1]
80
- log_lines.select! { |log| !log.start_with?("run level log,") }
81
-
82
- logs = log_lines.map do |log_line|
83
- log_items = log_line.split(",",7)
84
-
85
- # 0: server
86
- # 1: phase
87
- # 2: attempt
88
- # 3: date part 1
89
- # 4: date part 2
90
- # 5: Info - Warning - Error
91
- # 6: message
92
-
93
- if log_items.count < 7 # Some lines are broken in two because of end-of-lines appearing in the message field...
94
- nil
95
- else
96
- log_items[6] = log_items[6].tr(",,","")
97
- log_items[3] = DateTime.parse("#{log_items[3]},#{log_items[4]}")
98
-
99
- log_items
78
+ if job_type == "DeployJob"
79
+ # As this export contains "embedded" double quotes it is not possible to parse it with the CSV library
80
+ log_lines = results_content.split("\n")[6..-1]
81
+ log_lines.select! { |log| !log.start_with?("run level log,") }
82
+
83
+ logs = log_lines.map do |log_line|
84
+ log_items = log_line.split(",",7)
85
+
86
+ # 0: server
87
+ # 1: phase
88
+ # 2: attempt
89
+ # 3: date part 1
90
+ # 4: date part 2
91
+ # 5: Info - Warning - Error
92
+ # 6: message
93
+
94
+ if log_items.count < 7 # Some lines are broken in two because of end-of-lines appearing in the message field...
95
+ nil
96
+ else
97
+ log_items[6] = log_items[6].tr(",,","")
98
+ log_items[3] = DateTime.parse("#{log_items[3]},#{log_items[4]}")
99
+
100
+ log_items
101
+ end
100
102
  end
101
- end
102
103
 
103
- logs = logs.compact # removing the possible nils from the array
104
+ logs = logs.compact # removing the possible nils from the array
104
105
 
105
- logs = logs.sort_by { |log| [log[0], log[1], log[3]] }
106
+ logs = logs.sort_by { |log| [log[0], log[1], log[3]] }
106
107
 
107
- servers_with_logs = logs.group_by { |log| log[0] }
108
+ servers_with_logs = logs.group_by { |log| log[0] }
108
109
 
109
- failed_servers_with_logs = servers_with_logs.select { |key, value| value.select{|log| log[5] == "Error" }.count > 0}
110
+ failed_servers_with_logs = servers_with_logs.select { |key, value| value.select{|log| log[5] == "Error" }.count > 0}
110
111
 
111
- BrpmAuto.pack_response "results_summary", "#{servers_with_logs.count - failed_servers_with_logs.count}/#{servers_with_logs.count} servers were successful"
112
+ BrpmAuto.pack_response "results_summary", "#{servers_with_logs.count - failed_servers_with_logs.count}/#{servers_with_logs.count} servers were successful"
112
113
 
113
- table_data = [[' ', 'Server', 'Simulate', 'Stage', 'Commit']]
114
- counter = 0
115
- servers_with_logs.each do |key, logs|
116
- server = key
114
+ table_data = [[' ', 'Server', 'Simulate', 'Stage', 'Commit']]
115
+ counter = 0
116
+ servers_with_logs.each do |key, logs|
117
+ server = key
117
118
 
118
- phase_with_logs = logs.group_by { |log| log[1] }
119
+ phase_with_logs = logs.group_by { |log| log[1] }
119
120
 
120
- if phase_with_logs.has_key?("Simulate")
121
- simulate = phase_with_logs["Simulate"].any? { |log| log[5] == "Error" } ? "Error" : "Succeeded"
122
- else
123
- simulate = ""
124
- end
125
- if phase_with_logs.has_key?("Stage")
126
- stage = phase_with_logs["Stage"].any? { |log| log[5] == "Error" } ? "Error" : "Succeeded"
127
- else
128
- stage = ""
121
+ if phase_with_logs.has_key?("Simulate")
122
+ simulate = phase_with_logs["Simulate"].any? { |log| log[5] == "Error" } ? "Error" : "Succeeded"
123
+ else
124
+ simulate = ""
125
+ end
126
+ if phase_with_logs.has_key?("Stage")
127
+ stage = phase_with_logs["Stage"].any? { |log| log[5] == "Error" } ? "Error" : "Succeeded"
128
+ else
129
+ stage = ""
130
+ end
131
+ if phase_with_logs.has_key?("Commit")
132
+ commit = phase_with_logs["Commit"].any? { |log| log[5] == "Error" } ? "Error" : "Succeeded"
133
+ else
134
+ commit = ""
135
+ end
136
+
137
+ counter += 1
138
+ table_data << [counter, server, simulate, stage, commit]
129
139
  end
130
- if phase_with_logs.has_key?("Commit")
131
- commit = phase_with_logs["Commit"].any? { |log| log[5] == "Error" } ? "Error" : "Succeeded"
132
- else
133
- commit = ""
140
+ else
141
+ csv_content = CSV.parse(results_content)
142
+
143
+ logs = csv_content[6..-1] # remove the headers of the csv file
144
+
145
+ logs = logs.select { |log| !log[0].start_with?("Run at") }
146
+
147
+ logs.each do |log|
148
+ log[2] = DateTime.parse(log[2])
134
149
  end
135
150
 
136
- counter += 1
137
- table_data << [counter, server, simulate, stage, commit]
151
+ logs = logs.sort_by { |log| [log[0], log[2]] }
152
+
153
+ servers_with_logs = logs.group_by {|log| log[0] }
154
+ failed_servers_with_logs = servers_with_logs.select { |key, value| value.select{|log| log[1] == "Error" }.count > 0}
155
+
156
+ BrpmAuto.pack_response "results_summary", "#{servers_with_logs.count - failed_servers_with_logs.count}/#{servers_with_logs.count} servers were successful"
157
+
158
+ table_data = [[' ', 'Server', 'Result', 'Error message']]
159
+ counter = 0
160
+ server_cache = ""
161
+ logs.each do |log|
162
+ if log[0] == server_cache
163
+ server = ""
164
+ else
165
+ server = log[0]
166
+ server_cache = log[0]
167
+ end
168
+ result = log[1]
169
+ message = log[3]
170
+
171
+ counter += 1
172
+ table_data << [counter, server, result, message]
173
+ end
138
174
  end
139
175
 
140
176
  BrpmAuto.pack_response "results", { :perPage => 10, :totalItems => table_data.count - 1, :data => table_data }
141
177
 
142
178
  BrpmAuto.pack_response "results_link", results_full_path
143
179
 
144
- raise "The Deploy job had errors!" if had_errors
180
+ raise "The job had errors!" if had_errors
data/config.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  dependencies:
2
2
  - brpm_module_brpm
3
3
 
4
- version: 0.1.39
4
+ version: 0.1.41
5
5
 
6
6
  friendly_name: Blade
7
7
  author: Niek Bartholomeus
@@ -9,26 +9,38 @@ describe 'execute job' do
9
9
  cleanup_request_params
10
10
  end
11
11
 
12
- it 'should execute a job to a list of servers in BladeLogic' do
12
+ it 'should execute an NSHScriptJob to a list of servers in BladeLogic' do
13
13
  params = get_default_params
14
14
  params = params.merge(get_integration_params_for_bladelogic)
15
15
 
16
16
  params["application"] = 'E-Finance'
17
17
  params["job_type_and_name"] = 'NSHScriptJob|echo'
18
18
  params["target_type"] = "Servers"
19
- params["server1000_name"] = "localhost"
19
+ params["server1000_name"] = "targetserver.pulsar-it.be"
20
20
 
21
21
  BrpmScriptExecutor.execute_automation_script("brpm_module_bladelogic", "execute_job", params)
22
22
  end
23
23
 
24
- it 'should execute a job to a list of custom servers in BladeLogic' do
24
+ it 'should execute an NSHScriptJob to a list of custom servers in BladeLogic' do
25
25
  params = get_default_params
26
26
  params = params.merge(get_integration_params_for_bladelogic)
27
27
 
28
28
  params["application"] = 'E-Finance'
29
29
  params["job_type_and_name"] = 'NSHScriptJob|echo'
30
30
  params["target_type"] = "Servers"
31
- params["target_path_or_servers"] = "localhost"
31
+ params["target_path_or_servers"] = "targetserver.pulsar-it.be"
32
+
33
+ BrpmScriptExecutor.execute_automation_script("brpm_module_bladelogic", "execute_job", params)
34
+ end
35
+
36
+ it 'should execute a DeployJob to a list of servers in BladeLogic' do
37
+ params = get_default_params
38
+ params = params.merge(get_integration_params_for_bladelogic)
39
+
40
+ params["application"] = 'E-Finance'
41
+ params["job_type_and_name"] = "DeployJob|Deploy EF - .NET web front end 1.0.0 in development"
42
+ params["target_type"] = "Servers"
43
+ params["server1000_name"] = "targetserver.pulsar-it.be"
32
44
 
33
45
  BrpmScriptExecutor.execute_automation_script("brpm_module_bladelogic", "execute_job", params)
34
46
  end
@@ -16,7 +16,7 @@ describe 'execute job' do
16
16
  params["application"] = 'E-Finance'
17
17
 
18
18
  result = BrpmScriptExecutor.execute_resource_automation_script("brpm_module_bladelogic", "select_job", params, nil, 0, 10)
19
- expect(result.count).to eql(1)
19
+ expect(result.count).to eql(2)
20
20
 
21
21
  result = BrpmScriptExecutor.execute_resource_automation_script("brpm_module_bladelogic", "select_job", params, "NSHScriptJob", 0, 10)
22
22
  expect(result.count).to eql(1)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brpm_module_bladelogic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.39
4
+ version: 0.1.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - Niek Bartholomeus
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-26 00:00:00.000000000 Z
11
+ date: 2015-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: brpm_content_framework