oneacct-export 0.2.7 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.rspec +1 -0
- data/.travis.yml +1 -21
- data/bin/oneacct-export +7 -6
- data/config/conf.yml +25 -7
- data/lib/data_validators/apel_data_validator.rb +99 -0
- data/lib/data_validators/data_compute.rb +57 -0
- data/lib/data_validators/data_validator.rb +12 -0
- data/lib/data_validators/data_validator_helper.rb +15 -0
- data/lib/data_validators/logstash_data_validator.rb +82 -0
- data/lib/data_validators/pbs_data_validator.rb +86 -0
- data/lib/errors/not_implemented_error.rb +3 -0
- data/lib/errors/validation_error.rb +3 -0
- data/lib/errors.rb +2 -0
- data/lib/input_validator.rb +12 -2
- data/lib/one_data_accessor.rb +11 -10
- data/lib/one_worker.rb +109 -137
- data/lib/oneacct_exporter/version.rb +1 -1
- data/lib/oneacct_exporter.rb +9 -7
- data/lib/oneacct_opts.rb +36 -13
- data/lib/output_types.rb +5 -0
- data/lib/redis_conf.rb +2 -2
- data/lib/settings.rb +3 -3
- data/lib/templates/apel-0.2.erb +6 -6
- data/lib/templates/logstash-0.1.erb +3 -0
- data/lib/templates/pbs-0.1.erb +6 -0
- data/mock/{one_worker_vm8.xml → one_worker_vm_dn01.xml} +76 -74
- data/mock/one_worker_vm_dn02.xml +174 -0
- data/mock/{one_worker_DISK_missing.xml → one_worker_vm_empty_disk_records.xml} +10 -6
- data/mock/one_worker_vm_empty_history_records.xml +131 -0
- data/mock/one_worker_vm_image_name01.xml +175 -0
- data/mock/{one_worker_valid_machine.xml → one_worker_vm_image_name02.xml} +35 -7
- data/mock/one_worker_vm_image_name03.xml +167 -0
- data/mock/{one_worker_vm2.xml → one_worker_vm_image_name04.xml} +38 -9
- data/mock/{one_worker_vm1.xml → one_worker_vm_image_name05.xml} +36 -8
- data/mock/{one_worker_vm9.xml → one_worker_vm_image_name06.xml} +8 -5
- data/oneacct-export.gemspec +1 -0
- data/spec/data_validators/apel_data_validator_spec.rb +497 -0
- data/spec/data_validators/data_compute_spec.rb +193 -0
- data/spec/data_validators/data_validator_helper_spec.rb +66 -0
- data/spec/data_validators/data_validator_spec.rb +14 -0
- data/spec/data_validators/logstash_data_validator_spec.rb +469 -0
- data/spec/data_validators/pbs_data_validator_spec.rb +353 -0
- data/spec/one_worker_spec.rb +234 -542
- data/spec/oneacct_exporter_spec.rb +1 -41
- data/spec/oneacct_opts_spec.rb +135 -32
- data/spec/spec_helper.rb +18 -1
- metadata +51 -52
- data/mock/one_worker_DEPLOY_ID_missing.xml +0 -136
- data/mock/one_worker_DISK_SIZE_nan.xml +0 -147
- data/mock/one_worker_ETIME_0.xml +0 -137
- data/mock/one_worker_ETIME_missing.xml +0 -136
- data/mock/one_worker_ETIME_nan.xml +0 -137
- data/mock/one_worker_GID_missing.xml +0 -136
- data/mock/one_worker_GNAME_missing.xml +0 -136
- data/mock/one_worker_HISTORY_RECORDS_missing.xml +0 -91
- data/mock/one_worker_HISTORY_many.xml +0 -137
- data/mock/one_worker_HISTORY_missing.xml +0 -93
- data/mock/one_worker_HISTORY_one.xml +0 -115
- data/mock/one_worker_IMAGE_ID_missing.xml +0 -136
- data/mock/one_worker_MEMORY_0.xml +0 -137
- data/mock/one_worker_MEMORY_missing.xml +0 -135
- data/mock/one_worker_MEMORY_nan.xml +0 -137
- data/mock/one_worker_NET_RX_0.xml +0 -137
- data/mock/one_worker_NET_RX_missing.xml +0 -136
- data/mock/one_worker_NET_RX_nan.xml +0 -137
- data/mock/one_worker_NET_TX_0.xml +0 -137
- data/mock/one_worker_NET_TX_missing.xml +0 -136
- data/mock/one_worker_NET_TX_nan.xml +0 -137
- data/mock/one_worker_RETIME_0_RUNNING.xml +0 -115
- data/mock/one_worker_RETIME_0_STOPPED.xml +0 -115
- data/mock/one_worker_RETIME_missing.xml +0 -114
- data/mock/one_worker_RSTIME_0.xml +0 -115
- data/mock/one_worker_RSTIME_>_RETIME.xml +0 -115
- data/mock/one_worker_RSTIME_missing.xml +0 -114
- data/mock/one_worker_STATE_missing.xml +0 -136
- data/mock/one_worker_STATE_out_of_range.xml +0 -137
- data/mock/one_worker_STIME_>_ETIME.xml +0 -137
- data/mock/one_worker_STIME_missing.xml +0 -136
- data/mock/one_worker_STIME_nan.xml +0 -137
- data/mock/one_worker_TEMPLATE_missing.xml +0 -79
- data/mock/one_worker_UID_missing.xml +0 -136
- data/mock/one_worker_VCPU_0.xml +0 -137
- data/mock/one_worker_VCPU_missing.xml +0 -136
- data/mock/one_worker_VCPU_nan.xml +0 -137
- data/mock/one_worker_malformed_vm.xml +0 -136
- data/mock/one_worker_vm3.xml +0 -137
- data/mock/one_worker_vm4.xml +0 -106
- data/mock/one_worker_vm5.xml +0 -106
- data/mock/one_worker_vm6.xml +0 -107
- data/mock/one_worker_vm7.xml +0 -147
@@ -119,24 +119,7 @@ describe OneacctExporter do
|
|
119
119
|
end
|
120
120
|
end
|
121
121
|
|
122
|
-
context 'with
|
123
|
-
before :example do
|
124
|
-
FileUtils.touch("#{testdir_path}/aa")
|
125
|
-
FileUtils.touch("#{testdir_path}/11")
|
126
|
-
FileUtils.touch("#{testdir_path}/aa11")
|
127
|
-
FileUtils.touch("#{testdir_path}/11aa")
|
128
|
-
FileUtils.touch("#{testdir_path}/0")
|
129
|
-
FileUtils.touch("#{testdir_path}/01")
|
130
|
-
FileUtils.touch("#{testdir_path}/0000000000001")
|
131
|
-
end
|
132
|
-
|
133
|
-
it 'keeps non-related files in the directory' do
|
134
|
-
subject.clean_output_dir
|
135
|
-
expect(Dir.entries(testdir_path).count).to eq(9)
|
136
|
-
end
|
137
|
-
end
|
138
|
-
|
139
|
-
context 'with related files' do
|
122
|
+
context 'with files in output directory' do
|
140
123
|
before :example do
|
141
124
|
FileUtils.touch("#{testdir_path}/00000000000001")
|
142
125
|
FileUtils.touch("#{testdir_path}/00000000000002")
|
@@ -151,29 +134,6 @@ describe OneacctExporter do
|
|
151
134
|
expect(Dir.entries(testdir_path).count).to eq(2)
|
152
135
|
end
|
153
136
|
end
|
154
|
-
|
155
|
-
context 'with both related and on-related files' do
|
156
|
-
before :example do
|
157
|
-
FileUtils.touch("#{testdir_path}/00000000000001")
|
158
|
-
FileUtils.touch("#{testdir_path}/00000000000002")
|
159
|
-
FileUtils.touch("#{testdir_path}/00000000000003")
|
160
|
-
FileUtils.touch("#{testdir_path}/00000000000004")
|
161
|
-
FileUtils.touch("#{testdir_path}/00000000000005")
|
162
|
-
FileUtils.touch("#{testdir_path}/00000000000006")
|
163
|
-
FileUtils.touch("#{testdir_path}/aa")
|
164
|
-
FileUtils.touch("#{testdir_path}/11")
|
165
|
-
FileUtils.touch("#{testdir_path}/aa11")
|
166
|
-
FileUtils.touch("#{testdir_path}/11aa")
|
167
|
-
FileUtils.touch("#{testdir_path}/0")
|
168
|
-
FileUtils.touch("#{testdir_path}/01")
|
169
|
-
FileUtils.touch("#{testdir_path}/0000000000001")
|
170
|
-
end
|
171
|
-
|
172
|
-
it 'removes all related files and keeps all non-related files' do
|
173
|
-
subject.clean_output_dir
|
174
|
-
expect(Dir.entries(testdir_path).count).to eq(9)
|
175
|
-
end
|
176
|
-
end
|
177
137
|
end
|
178
138
|
|
179
139
|
describe '.all_workers_done?' do
|
data/spec/oneacct_opts_spec.rb
CHANGED
@@ -118,96 +118,199 @@ describe OneacctOpts do
|
|
118
118
|
|
119
119
|
describe '#check_settings_restrictions' do
|
120
120
|
before :example do
|
121
|
-
Settings['site_name'] = 'Hogwarts'
|
122
|
-
Settings['cloud_type'] = 'OpenNebula'
|
123
|
-
Settings['endpoint'] = 'machine.hogwarts.co.uk'
|
124
121
|
Settings.output['output_dir'] = '/some/output/dir'
|
125
122
|
Settings.output['output_type'] = 'apel-v0.2'
|
126
123
|
Settings.logging['log_type'] = 'file'
|
127
124
|
Settings.logging['log_file'] = '/var/log/oneacct.log'
|
128
125
|
end
|
129
126
|
|
130
|
-
context 'with missing mandatory
|
131
|
-
context '
|
127
|
+
context 'with missing mandatory parameter' do
|
128
|
+
context 'output_dir' do
|
132
129
|
before :example do
|
133
|
-
Settings['
|
130
|
+
Settings.output['output_dir'] = nil
|
134
131
|
end
|
135
132
|
|
136
|
-
it '
|
133
|
+
it 'fails with ArgumentError' do
|
137
134
|
expect { OneacctOpts.check_settings_restrictions }.to raise_error(ArgumentError)
|
138
135
|
end
|
139
136
|
end
|
140
137
|
|
141
|
-
context '
|
138
|
+
context 'output_type' do
|
142
139
|
before :example do
|
143
|
-
Settings['
|
140
|
+
Settings.output['output_type'] = nil
|
144
141
|
end
|
145
142
|
|
146
|
-
it '
|
143
|
+
it 'fails with ArgumentError' do
|
147
144
|
expect { OneacctOpts.check_settings_restrictions }.to raise_error(ArgumentError)
|
148
145
|
end
|
149
146
|
end
|
147
|
+
end
|
150
148
|
|
151
|
-
|
149
|
+
context 'with logging set to file without file specified' do
|
150
|
+
before :example do
|
151
|
+
Settings.logging['log_type'] = 'file'
|
152
|
+
Settings.logging['log_file'] = nil
|
153
|
+
end
|
154
|
+
|
155
|
+
it 'fails with ArgumentError' do
|
156
|
+
expect { OneacctOpts.check_settings_restrictions }.to raise_error(ArgumentError)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
context 'with non existing template' do
|
161
|
+
before :example do
|
162
|
+
allow(OneWriter).to receive(:template_filename) { 'nonexisting_file' }
|
163
|
+
end
|
164
|
+
|
165
|
+
it 'fails with ArgumentError' do
|
166
|
+
expect { OneacctOpts.check_settings_restrictions }.to raise_error(ArgumentError)
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
context 'with all settings correct' do
|
171
|
+
it 'finishes without any failure' do
|
172
|
+
OneacctOpts.check_settings_restrictions
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
describe '#check_output_type_specific_settings' do
|
178
|
+
before :example do
|
179
|
+
Settings.output['output_dir'] = '/some/output/dir'
|
180
|
+
Settings.output['output_type'] = 'pbs-v0.2'
|
181
|
+
Settings.output.pbs['realm'] = 'REALM'
|
182
|
+
Settings.output.pbs['queue'] = 'queue'
|
183
|
+
Settings.output.pbs['scratch_type'] = 'local'
|
184
|
+
Settings.output.pbs['host_identifier'] = 'on_localhost'
|
185
|
+
Settings.logging['log_type'] = 'file'
|
186
|
+
Settings.logging['log_file'] = '/var/log/oneacct.log'
|
187
|
+
end
|
188
|
+
|
189
|
+
context 'with missing mandatory parameter of Apel output type' do
|
190
|
+
before :example do
|
191
|
+
Settings.output['output_type'] = 'apel-0.2'
|
192
|
+
end
|
193
|
+
|
194
|
+
context 'site_name' do
|
152
195
|
before :example do
|
153
|
-
Settings['
|
196
|
+
Settings.output.apel['site_name'] = nil
|
154
197
|
end
|
155
198
|
|
156
|
-
it '
|
199
|
+
it 'fails with ArgumentError' do
|
157
200
|
expect { OneacctOpts.check_settings_restrictions }.to raise_error(ArgumentError)
|
158
201
|
end
|
159
202
|
end
|
160
203
|
|
161
|
-
context '
|
204
|
+
context 'cloud_type' do
|
162
205
|
before :example do
|
163
|
-
Settings.output['
|
206
|
+
Settings.output.apel['cloud_type'] = nil
|
164
207
|
end
|
165
208
|
|
166
|
-
it '
|
209
|
+
it 'fails with ArgumentError' do
|
167
210
|
expect { OneacctOpts.check_settings_restrictions }.to raise_error(ArgumentError)
|
168
211
|
end
|
169
212
|
end
|
170
213
|
|
171
|
-
context '
|
214
|
+
context 'endpoint' do
|
172
215
|
before :example do
|
173
|
-
Settings.output['
|
216
|
+
Settings.output.apel['endpoint'] = nil
|
174
217
|
end
|
175
218
|
|
176
|
-
it '
|
219
|
+
it 'fails with ArgumentError' do
|
177
220
|
expect { OneacctOpts.check_settings_restrictions }.to raise_error(ArgumentError)
|
178
221
|
end
|
179
222
|
end
|
180
223
|
end
|
181
224
|
|
182
|
-
context 'with
|
225
|
+
context 'with missing mandatory parameter of PBS output type' do
|
183
226
|
before :example do
|
184
|
-
Settings.
|
185
|
-
Settings.logging['log_file'] = nil
|
227
|
+
Settings.output['output_type'] = 'pbs-0.1'
|
186
228
|
end
|
187
229
|
|
188
|
-
|
189
|
-
|
230
|
+
context 'realm' do
|
231
|
+
before :example do
|
232
|
+
Settings.output.pbs['realm'] = nil
|
233
|
+
end
|
234
|
+
|
235
|
+
it 'replaces it with default value "META"' do
|
236
|
+
OneacctOpts.check_settings_restrictions
|
237
|
+
expect(Settings.output.pbs['realm']).to eq('META')
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
241
|
+
context 'queue' do
|
242
|
+
before :example do
|
243
|
+
Settings.output.pbs['queue'] = nil
|
244
|
+
end
|
245
|
+
|
246
|
+
it 'replaces it with default value "cloud"' do
|
247
|
+
OneacctOpts.check_settings_restrictions
|
248
|
+
expect(Settings.output.pbs['queue']).to eq('cloud')
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
context 'scratch_type' do
|
253
|
+
before :example do
|
254
|
+
Settings.output.pbs['scratch_type'] = nil
|
255
|
+
end
|
256
|
+
|
257
|
+
it 'replaces it with default value "local"' do
|
258
|
+
OneacctOpts.check_settings_restrictions
|
259
|
+
expect(Settings.output.pbs['scratch_type']).to eq('local')
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
context 'host_identifier' do
|
264
|
+
before :example do
|
265
|
+
Settings.output.pbs['host_identifier'] = nil
|
266
|
+
end
|
267
|
+
|
268
|
+
it 'replaces it with default value "on_localhost"' do
|
269
|
+
OneacctOpts.check_settings_restrictions
|
270
|
+
expect(Settings.output.pbs['host_identifier']).to eq('on_localhost')
|
271
|
+
end
|
190
272
|
end
|
191
273
|
end
|
192
274
|
|
193
|
-
context 'with
|
275
|
+
context 'with missing mandatory parameter of logstash output type' do
|
194
276
|
before :example do
|
195
|
-
|
277
|
+
Settings.output['output_type'] = 'logstash-0.1'
|
196
278
|
end
|
197
279
|
|
198
|
-
|
199
|
-
|
280
|
+
context 'host' do
|
281
|
+
before :example do
|
282
|
+
Settings.output.logstash['host'] = nil
|
283
|
+
end
|
284
|
+
|
285
|
+
it 'fails with ArgumentError' do
|
286
|
+
expect { OneacctOpts.check_settings_restrictions }.to raise_error(ArgumentError)
|
287
|
+
end
|
200
288
|
end
|
201
|
-
end
|
202
289
|
|
203
|
-
|
204
|
-
|
205
|
-
|
290
|
+
context 'port' do
|
291
|
+
before :example do
|
292
|
+
Settings.output.logstash['port'] = nil
|
293
|
+
end
|
294
|
+
|
295
|
+
it 'fails with ArgumentError' do
|
296
|
+
expect { OneacctOpts.check_settings_restrictions }.to raise_error(ArgumentError)
|
297
|
+
end
|
206
298
|
end
|
207
299
|
end
|
208
300
|
end
|
209
301
|
|
210
302
|
describe '#parse' do
|
303
|
+
before :example do
|
304
|
+
Settings.output['output_dir'] = '/some/output/dir'
|
305
|
+
Settings.output['output_type'] = 'pbs-v0.2'
|
306
|
+
Settings.output.pbs['realm'] = 'REALM'
|
307
|
+
Settings.output.pbs['queue'] = 'queue'
|
308
|
+
Settings.output.pbs['scratch_type'] = 'local'
|
309
|
+
Settings.output.pbs['host_identifier'] = 'on_localhost'
|
310
|
+
Settings.logging['log_type'] = 'file'
|
311
|
+
Settings.logging['log_file'] = '/var/log/oneacct.log'
|
312
|
+
end
|
313
|
+
|
211
314
|
let(:args) { ['--records-from', '01.01.2014', '--records-to', '01.07.2014', '--include-groups', 'aaa,bbb,ccc', '-b', '-t', '50', '-c'] }
|
212
315
|
|
213
316
|
it 'returns correctly parsed options' do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,11 +1,28 @@
|
|
1
1
|
require 'simplecov'
|
2
|
-
SimpleCov.start
|
2
|
+
SimpleCov.start do
|
3
|
+
add_filter "/vendor/"
|
4
|
+
end
|
3
5
|
|
4
6
|
ENV['RAILS_ENV'] = 'test'
|
7
|
+
|
5
8
|
require 'one_writer'
|
6
9
|
require 'redis_conf'
|
7
10
|
require 'one_data_accessor'
|
8
11
|
require 'oneacct_exporter'
|
9
12
|
require 'sidekiq/testing'
|
10
13
|
require 'oneacct_opts'
|
14
|
+
require 'data_validators/data_validator'
|
15
|
+
require 'data_validators/apel_data_validator'
|
16
|
+
require 'data_validators/data_compute'
|
17
|
+
require 'data_validators/data_validator_helper'
|
18
|
+
require 'data_validators/pbs_data_validator'
|
19
|
+
|
20
|
+
Sidekiq::Logging.logger = nil
|
21
|
+
|
11
22
|
GEM_DIR = File.realdirpath("#{File.dirname(__FILE__)}/..")
|
23
|
+
|
24
|
+
RSpec.configure do |config|
|
25
|
+
config.color = true
|
26
|
+
config.tty = true
|
27
|
+
config.order = 'random'
|
28
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oneacct-export
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michal Kimle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 3.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: fuubar
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.0.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.0.0
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: simplecov
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -145,6 +159,7 @@ extensions: []
|
|
145
159
|
extra_rdoc_files: []
|
146
160
|
files:
|
147
161
|
- ".gitignore"
|
162
|
+
- ".rspec"
|
148
163
|
- ".travis.yml"
|
149
164
|
- ".yardopts"
|
150
165
|
- Gemfile
|
@@ -158,12 +173,20 @@ files:
|
|
158
173
|
- examples/etc/init.d/oneacct-export-cron
|
159
174
|
- examples/etc/init.d/oneacct-export-sidekiq
|
160
175
|
- examples/usr/bin/oneacct-export-cron
|
176
|
+
- lib/data_validators/apel_data_validator.rb
|
177
|
+
- lib/data_validators/data_compute.rb
|
178
|
+
- lib/data_validators/data_validator.rb
|
179
|
+
- lib/data_validators/data_validator_helper.rb
|
180
|
+
- lib/data_validators/logstash_data_validator.rb
|
181
|
+
- lib/data_validators/pbs_data_validator.rb
|
161
182
|
- lib/errors.rb
|
162
183
|
- lib/errors/authentication_error.rb
|
184
|
+
- lib/errors/not_implemented_error.rb
|
163
185
|
- lib/errors/resource_not_found_error.rb
|
164
186
|
- lib/errors/resource_retrieval_error.rb
|
165
187
|
- lib/errors/resource_state_error.rb
|
166
188
|
- lib/errors/user_not_authorized_error.rb
|
189
|
+
- lib/errors/validation_error.rb
|
167
190
|
- lib/input_validator.rb
|
168
191
|
- lib/one_data_accessor.rb
|
169
192
|
- lib/one_worker.rb
|
@@ -172,61 +195,31 @@ files:
|
|
172
195
|
- lib/oneacct_exporter/log.rb
|
173
196
|
- lib/oneacct_exporter/version.rb
|
174
197
|
- lib/oneacct_opts.rb
|
198
|
+
- lib/output_types.rb
|
175
199
|
- lib/redis_conf.rb
|
176
200
|
- lib/settings.rb
|
177
201
|
- lib/sidekiq_conf.rb
|
178
202
|
- lib/templates/apel-0.2.erb
|
179
|
-
-
|
180
|
-
-
|
181
|
-
- mock/
|
182
|
-
- mock/
|
183
|
-
- mock/
|
184
|
-
- mock/
|
185
|
-
- mock/
|
186
|
-
- mock/
|
187
|
-
- mock/
|
188
|
-
- mock/
|
189
|
-
- mock/
|
190
|
-
- mock/
|
191
|
-
- mock/one_worker_IMAGE_ID_missing.xml
|
192
|
-
- mock/one_worker_MEMORY_0.xml
|
193
|
-
- mock/one_worker_MEMORY_missing.xml
|
194
|
-
- mock/one_worker_MEMORY_nan.xml
|
195
|
-
- mock/one_worker_NET_RX_0.xml
|
196
|
-
- mock/one_worker_NET_RX_missing.xml
|
197
|
-
- mock/one_worker_NET_RX_nan.xml
|
198
|
-
- mock/one_worker_NET_TX_0.xml
|
199
|
-
- mock/one_worker_NET_TX_missing.xml
|
200
|
-
- mock/one_worker_NET_TX_nan.xml
|
201
|
-
- mock/one_worker_RETIME_0_RUNNING.xml
|
202
|
-
- mock/one_worker_RETIME_0_STOPPED.xml
|
203
|
-
- mock/one_worker_RETIME_missing.xml
|
204
|
-
- mock/one_worker_RSTIME_0.xml
|
205
|
-
- mock/one_worker_RSTIME_>_RETIME.xml
|
206
|
-
- mock/one_worker_RSTIME_missing.xml
|
207
|
-
- mock/one_worker_STATE_missing.xml
|
208
|
-
- mock/one_worker_STATE_out_of_range.xml
|
209
|
-
- mock/one_worker_STIME_>_ETIME.xml
|
210
|
-
- mock/one_worker_STIME_missing.xml
|
211
|
-
- mock/one_worker_STIME_nan.xml
|
212
|
-
- mock/one_worker_TEMPLATE_missing.xml
|
213
|
-
- mock/one_worker_UID_missing.xml
|
214
|
-
- mock/one_worker_VCPU_0.xml
|
215
|
-
- mock/one_worker_VCPU_missing.xml
|
216
|
-
- mock/one_worker_VCPU_nan.xml
|
217
|
-
- mock/one_worker_malformed_vm.xml
|
218
|
-
- mock/one_worker_valid_machine.xml
|
219
|
-
- mock/one_worker_vm1.xml
|
220
|
-
- mock/one_worker_vm2.xml
|
221
|
-
- mock/one_worker_vm3.xml
|
222
|
-
- mock/one_worker_vm4.xml
|
223
|
-
- mock/one_worker_vm5.xml
|
224
|
-
- mock/one_worker_vm6.xml
|
225
|
-
- mock/one_worker_vm7.xml
|
226
|
-
- mock/one_worker_vm8.xml
|
227
|
-
- mock/one_worker_vm9.xml
|
203
|
+
- lib/templates/logstash-0.1.erb
|
204
|
+
- lib/templates/pbs-0.1.erb
|
205
|
+
- mock/one_worker_vm_dn01.xml
|
206
|
+
- mock/one_worker_vm_dn02.xml
|
207
|
+
- mock/one_worker_vm_empty_disk_records.xml
|
208
|
+
- mock/one_worker_vm_empty_history_records.xml
|
209
|
+
- mock/one_worker_vm_image_name01.xml
|
210
|
+
- mock/one_worker_vm_image_name02.xml
|
211
|
+
- mock/one_worker_vm_image_name03.xml
|
212
|
+
- mock/one_worker_vm_image_name04.xml
|
213
|
+
- mock/one_worker_vm_image_name05.xml
|
214
|
+
- mock/one_worker_vm_image_name06.xml
|
228
215
|
- mock/one_writer_testfile
|
229
216
|
- oneacct-export.gemspec
|
217
|
+
- spec/data_validators/apel_data_validator_spec.rb
|
218
|
+
- spec/data_validators/data_compute_spec.rb
|
219
|
+
- spec/data_validators/data_validator_helper_spec.rb
|
220
|
+
- spec/data_validators/data_validator_spec.rb
|
221
|
+
- spec/data_validators/logstash_data_validator_spec.rb
|
222
|
+
- spec/data_validators/pbs_data_validator_spec.rb
|
230
223
|
- spec/one_data_accessor_spec.rb
|
231
224
|
- spec/one_worker_spec.rb
|
232
225
|
- spec/one_writer_spec.rb
|
@@ -254,11 +247,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
254
247
|
version: '0'
|
255
248
|
requirements: []
|
256
249
|
rubyforge_project:
|
257
|
-
rubygems_version: 2.
|
250
|
+
rubygems_version: 2.4.4
|
258
251
|
signing_key:
|
259
252
|
specification_version: 4
|
260
253
|
summary: Exporting OpenNebula accounting data.
|
261
254
|
test_files:
|
255
|
+
- spec/data_validators/apel_data_validator_spec.rb
|
256
|
+
- spec/data_validators/data_compute_spec.rb
|
257
|
+
- spec/data_validators/data_validator_helper_spec.rb
|
258
|
+
- spec/data_validators/data_validator_spec.rb
|
259
|
+
- spec/data_validators/logstash_data_validator_spec.rb
|
260
|
+
- spec/data_validators/pbs_data_validator_spec.rb
|
262
261
|
- spec/one_data_accessor_spec.rb
|
263
262
|
- spec/one_worker_spec.rb
|
264
263
|
- spec/one_writer_spec.rb
|
@@ -1,136 +0,0 @@
|
|
1
|
-
<VM>
|
2
|
-
<ID>36551</ID>
|
3
|
-
<UID>120</UID>
|
4
|
-
<GID>0</GID>
|
5
|
-
<UNAME>uname</UNAME>
|
6
|
-
<GNAME>gname</GNAME>
|
7
|
-
<NAME>one-36551</NAME>
|
8
|
-
<PERMISSIONS>
|
9
|
-
<OWNER_U>1</OWNER_U>
|
10
|
-
<OWNER_M>1</OWNER_M>
|
11
|
-
<OWNER_A>0</OWNER_A>
|
12
|
-
<GROUP_U>0</GROUP_U>
|
13
|
-
<GROUP_M>0</GROUP_M>
|
14
|
-
<GROUP_A>0</GROUP_A>
|
15
|
-
<OTHER_U>0</OTHER_U>
|
16
|
-
<OTHER_M>0</OTHER_M>
|
17
|
-
<OTHER_A>0</OTHER_A>
|
18
|
-
</PERMISSIONS>
|
19
|
-
<LAST_POLL>1383741679</LAST_POLL>
|
20
|
-
<STATE>6</STATE>
|
21
|
-
<LCM_STATE>0</LCM_STATE>
|
22
|
-
<RESCHED>0</RESCHED>
|
23
|
-
<STIME>1383741160</STIME>
|
24
|
-
<ETIME>1383742270</ETIME>
|
25
|
-
<MEMORY>1736960</MEMORY>
|
26
|
-
<CPU>0</CPU>
|
27
|
-
<NET_TX>0</NET_TX>
|
28
|
-
<NET_RX>0</NET_RX>
|
29
|
-
<TEMPLATE>
|
30
|
-
<CONTEXT>
|
31
|
-
<DISK_ID><![CDATA[1]]></DISK_ID>
|
32
|
-
<FILES><![CDATA[https://somewhere.com/init.sh]]></FILES>
|
33
|
-
<HOSTNAME><![CDATA[DebianVM]]></HOSTNAME>
|
34
|
-
<PUBLIC_IP><![CDATA[123.123.5.5]]></PUBLIC_IP>
|
35
|
-
<SSH_KEY><![CDATA[ssh-rsa AAAAB3NzaC1yc2EAAAADAQABasdgsdfhfgjhxhcHPNFthrHT5/+9lfrQCorJy5YjMJEGBC22dfgjghkDjSDFgjdhgKd54645dfJKd39LdlyzlEaCnjGUeD4C6tZdAISLSDfghSDFgSJ54sSFGJ5RTHARJIRJcX8QRVH46Zq02AeTgrty567ss34tqaa8Pt user@machine1.somewhere.com]]></SSH_KEY>
|
36
|
-
<TARGET><![CDATA[xvdb]]></TARGET>
|
37
|
-
</CONTEXT>
|
38
|
-
<CPU><![CDATA[0.5]]></CPU>
|
39
|
-
<DISK>
|
40
|
-
<BUS><![CDATA[ide]]></BUS>
|
41
|
-
<CLONE><![CDATA[YES]]></CLONE>
|
42
|
-
<CLUSTER_ID><![CDATA[100]]></CLUSTER_ID>
|
43
|
-
<DATASTORE><![CDATA[default]]></DATASTORE>
|
44
|
-
<DATASTORE_ID><![CDATA[1]]></DATASTORE_ID>
|
45
|
-
<DEV_PREFIX><![CDATA[xvd]]></DEV_PREFIX>
|
46
|
-
<DISK_ID><![CDATA[0]]></DISK_ID>
|
47
|
-
<DRIVER><![CDATA[tap2:tapdisk:aio:]]></DRIVER>
|
48
|
-
<IMAGE><![CDATA[debian6]]></IMAGE>
|
49
|
-
<IMAGE_ID><![CDATA[31]]></IMAGE_ID>
|
50
|
-
<READONLY><![CDATA[NO]]></READONLY>
|
51
|
-
<SAVE><![CDATA[NO]]></SAVE>
|
52
|
-
<SOURCE><![CDATA[/opt/opennebula/var/datastores/1/bc8db254875412f417ac745b7d47820]]></SOURCE>
|
53
|
-
<TARGET><![CDATA[xvda]]></TARGET>
|
54
|
-
<TM_MAD><![CDATA[ssh]]></TM_MAD>
|
55
|
-
<TYPE><![CDATA[FILE]]></TYPE>
|
56
|
-
</DISK>
|
57
|
-
<ERROR>
|
58
|
-
<MESSAGE><![CDATA[Error executing image transfer script: Path https://somewhere.com/init.sh is not allowed!]]></MESSAGE>
|
59
|
-
<TIMESTAMP><![CDATA[Wed Nov 6 13:34:19 2013]]></TIMESTAMP>
|
60
|
-
</ERROR>
|
61
|
-
<FEATURES>
|
62
|
-
<ACPI><![CDATA[no]]></ACPI>
|
63
|
-
</FEATURES>
|
64
|
-
<MEMORY>1736960</MEMORY>
|
65
|
-
<NAME><![CDATA[one-36551]]></NAME>
|
66
|
-
<NIC>
|
67
|
-
<BRIDGE><![CDATA[xenbr0]]></BRIDGE>
|
68
|
-
<CLUSTER_ID><![CDATA[100]]></CLUSTER_ID>
|
69
|
-
<IP><![CDATA[123.123.5.5]]></IP>
|
70
|
-
<MAC><![CDATA[01:23:45:67:89:ab]]></MAC>
|
71
|
-
<NETWORK><![CDATA[public]]></NETWORK>
|
72
|
-
<NETWORK_ID><![CDATA[4]]></NETWORK_ID>
|
73
|
-
<VLAN><![CDATA[NO]]></VLAN>
|
74
|
-
<WHITE_PORTS_TCP><![CDATA[22]]></WHITE_PORTS_TCP>
|
75
|
-
<WHITE_PORTS_UDP><![CDATA[67,68]]></WHITE_PORTS_UDP>
|
76
|
-
</NIC>
|
77
|
-
<OS>
|
78
|
-
<BOOTLOADER><![CDATA[pygrub]]></BOOTLOADER>
|
79
|
-
</OS>
|
80
|
-
<RAW>
|
81
|
-
<TYPE><![CDATA[xen]]></TYPE>
|
82
|
-
</RAW>
|
83
|
-
<TEMPLATE_ID><![CDATA[66]]></TEMPLATE_ID>
|
84
|
-
<VCPU><![CDATA[1]]></VCPU>
|
85
|
-
<VMID><![CDATA[36551]]></VMID>
|
86
|
-
</TEMPLATE>
|
87
|
-
<USER_TEMPLATE>
|
88
|
-
<SCHED_REQUIREMENTS><![CDATA[CLUSTER_ID = 100]]></SCHED_REQUIREMENTS>
|
89
|
-
</USER_TEMPLATE>
|
90
|
-
<HISTORY_RECORDS>
|
91
|
-
<HISTORY>
|
92
|
-
<OID>36551</OID>
|
93
|
-
<SEQ>0</SEQ>
|
94
|
-
<HOSTNAME>supermachine1.somewhere.com</HOSTNAME>
|
95
|
-
<HID>11</HID>
|
96
|
-
<CID>100</CID>
|
97
|
-
<STIME>1383741169</STIME>
|
98
|
-
<ETIME>1383741259</ETIME>
|
99
|
-
<VMMMAD>vmm_xen</VMMMAD>
|
100
|
-
<VNMMAD>fw</VNMMAD>
|
101
|
-
<TMMAD>ssh</TMMAD>
|
102
|
-
<DS_LOCATION>/opt/opennebula/var/datastores</DS_LOCATION>
|
103
|
-
<DS_ID>0</DS_ID>
|
104
|
-
<PSTIME>1383741169</PSTIME>
|
105
|
-
<PETIME>1383741259</PETIME>
|
106
|
-
<RSTIME>0</RSTIME>
|
107
|
-
<RETIME>0</RETIME>
|
108
|
-
<ESTIME>0</ESTIME>
|
109
|
-
<EETIME>0</EETIME>
|
110
|
-
<REASON>1</REASON>
|
111
|
-
<ACTION>0</ACTION>
|
112
|
-
</HISTORY>
|
113
|
-
<HISTORY>
|
114
|
-
<OID>36551</OID>
|
115
|
-
<SEQ>1</SEQ>
|
116
|
-
<HOSTNAME>supermachine1.somewhere.com</HOSTNAME>
|
117
|
-
<HID>11</HID>
|
118
|
-
<CID>100</CID>
|
119
|
-
<STIME>1383741589</STIME>
|
120
|
-
<ETIME>1383742270</ETIME>
|
121
|
-
<VMMMAD>vmm_xen</VMMMAD>
|
122
|
-
<VNMMAD>fw</VNMMAD>
|
123
|
-
<TMMAD>ssh</TMMAD>
|
124
|
-
<DS_LOCATION>/opt/opennebula/var/datastores</DS_LOCATION>
|
125
|
-
<DS_ID>0</DS_ID>
|
126
|
-
<PSTIME>1383741589</PSTIME>
|
127
|
-
<PETIME>1383741674</PETIME>
|
128
|
-
<RSTIME>1383741674</RSTIME>
|
129
|
-
<RETIME>1383742270</RETIME>
|
130
|
-
<ESTIME>1383742270</ESTIME>
|
131
|
-
<EETIME>1383742270</EETIME>
|
132
|
-
<REASON>0</REASON>
|
133
|
-
<ACTION>0</ACTION>
|
134
|
-
</HISTORY>
|
135
|
-
</HISTORY_RECORDS>
|
136
|
-
</VM>
|