oneacct-export 0.3.0 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -1
  3. data/bin/oneacct-export +15 -3
  4. data/config/conf.yml +1 -0
  5. data/examples/usr/bin/oneacct-export-cron +31 -7
  6. data/lib/data_validators/apel_data_validator.rb +17 -5
  7. data/lib/data_validators/data_validator_helper.rb +1 -0
  8. data/lib/input_validator.rb +5 -0
  9. data/lib/one_data_accessor.rb +62 -10
  10. data/lib/one_worker.rb +89 -10
  11. data/lib/one_writer.rb +3 -1
  12. data/lib/oneacct_exporter.rb +3 -5
  13. data/lib/oneacct_exporter/version.rb +1 -1
  14. data/lib/oneacct_opts.rb +13 -3
  15. data/lib/output_types.rb +3 -3
  16. data/lib/templates/apel-0.2.erb +1 -1
  17. data/lib/templates/apel-0.4.erb +34 -0
  18. data/mock/one_data_accessor_cluster_01.xml +27 -0
  19. data/mock/one_data_accessor_cluster_02.xml +23 -0
  20. data/mock/one_data_accessor_host_01.xml +65 -0
  21. data/mock/one_data_accessor_host_02.xml +66 -0
  22. data/mock/one_data_accessor_host_03.xml +63 -0
  23. data/mock/one_data_accessor_host_04.xml +63 -0
  24. data/mock/one_data_accessor_host_05.xml +63 -0
  25. data/mock/one_worker_vm_number_of_public_ips_01.xml +275 -0
  26. data/mock/one_worker_vm_number_of_public_ips_02.xml +164 -0
  27. data/mock/one_worker_vm_number_of_public_ips_03.xml +189 -0
  28. data/mock/one_worker_vm_search_benchmark_01.xml +175 -0
  29. data/mock/one_worker_vm_search_benchmark_02.xml +175 -0
  30. data/oneacct-export.gemspec +6 -5
  31. data/spec/data_validators/apel_data_validator_spec.rb +72 -0
  32. data/spec/one_data_accessor_spec.rb +114 -43
  33. data/spec/one_worker_spec.rb +148 -18
  34. data/spec/oneacct_exporter_spec.rb +3 -13
  35. data/spec/oneacct_opts_spec.rb +22 -0
  36. data/spec/spec_helper.rb +2 -1
  37. metadata +40 -13
@@ -3,6 +3,7 @@ require 'tempfile'
3
3
  require 'fileutils'
4
4
  require 'settings'
5
5
  require 'logger'
6
+ require 'output_types'
6
7
 
7
8
  # Class responsible for writing data into files in specific format
8
9
  #
@@ -10,6 +11,7 @@ require 'logger'
10
11
  # @attr_reader [String] output path to the output file
11
12
  # @attr_reader [any logger] logger
12
13
  class OneWriter
14
+ include OutputTypes
13
15
  APEL_FILENAME_FORMAT = '%014d'
14
16
 
15
17
  attr_reader :data, :output, :log
@@ -25,7 +27,7 @@ class OneWriter
25
27
  @log = log
26
28
 
27
29
  filename = file_number.to_s
28
- filename = APEL_FILENAME_FORMAT % file_number if output_type == 'apel-0.2'
30
+ filename = APEL_FILENAME_FORMAT % file_number if APEL_OT.include?(output_type)
29
31
  @output = "#{Settings.output['output_dir']}/#{filename}"
30
32
  end
31
33
 
@@ -33,19 +33,17 @@ class OneacctExporter
33
33
  clean_output_dir
34
34
 
35
35
  new_file_number = 1
36
- batch_number = 0
37
36
  oda = OneDataAccessor.new(@compatibility, @log)
38
37
 
39
38
  vms = []
40
39
  # load records of virtual machines in batches
41
- while vms = oda.vms(batch_number, @range, @groups)
42
- @log.info("Starting worker with batch number: #{batch_number}.")
40
+ while vms = oda.vms(@range, @groups)
43
41
  unless vms.empty?
42
+ @log.info("Starting worker with next batch.")
44
43
  # add a new job for every batch to the Sidekiq's queue
45
44
  OneWorker.perform_async(vms.join('|'), new_file_number)
46
45
  new_file_number += 1
47
46
  end
48
- batch_number += 1
49
47
  end
50
48
 
51
49
  @log.info('No more records to read.')
@@ -56,7 +54,7 @@ class OneacctExporter
56
54
  rescue Errors::AuthenticationError, Errors::UserNotAuthorizedError,\
57
55
  Errors::ResourceNotFoundError, Errors::ResourceStateError,\
58
56
  Errors::ResourceRetrievalError => e
59
- @log.error("Virtual machine retrieval for batch number #{batch_number} "\
57
+ @log.error("Virtual machine retrieval "\
60
58
  "failed with error: #{e.message}. Exiting.")
61
59
  end
62
60
 
@@ -1,3 +1,3 @@
1
1
  class OneacctExporter
2
- VERSION = '0.3.0'
2
+ VERSION = '0.4.2'
3
3
  end
@@ -29,6 +29,11 @@ class OneacctOpts
29
29
  options.records_to = time
30
30
  end
31
31
 
32
+ opts.on('--records-for PERIOD',
33
+ 'Retrieves only records within the time PERIOD') do |period|
34
+ options.records_for = period
35
+ end
36
+
32
37
  opts.on('--include-groups [GROUP1,GROUP2,...]', Array,
33
38
  'Retrieves only records of virtual machines which '\
34
39
  'belong to the specified groups') do |groups|
@@ -97,6 +102,11 @@ class OneacctOpts
97
102
 
98
103
  # Make sure command line parameters are sane
99
104
  def self.check_options_restrictions(options)
105
+ # make sure only one time option is used
106
+ if (options.records_from || options.records_to) && options.records_for
107
+ fail ArgumentError, 'Cannot use both time period and time range options.'
108
+ end
109
+
100
110
  # make sure date range make sense
101
111
  if options.records_from && options.records_to && options.records_from >= options.records_to
102
112
  fail ArgumentError, 'Wrong time range for records retrieval.'
@@ -143,21 +153,21 @@ class OneacctOpts
143
153
  end
144
154
 
145
155
  def self.check_output_type_specific_settings
146
- if Settings.output['output_type'] == APEL_OT
156
+ if APEL_OT.include?(Settings.output['output_type'])
147
157
  unless Settings.output['apel'] && Settings.output.apel['site_name'] &&
148
158
  Settings.output.apel['cloud_type'] && Settings.output.apel['endpoint']
149
159
  fail ArgumentError, 'Missing some mandatory parameters for APEL output type. Check your configuration file.'
150
160
  end
151
161
  end
152
162
 
153
- if Settings.output['output_type'] == PBS_OT && Settings.output['pbs']
163
+ if PBS_OT.include?(Settings.output['output_type']) && Settings.output['pbs']
154
164
  Settings.output.pbs['realm'] ||= 'META'
155
165
  Settings.output.pbs['queue'] ||= 'cloud'
156
166
  Settings.output.pbs['scratch_type'] ||= 'local'
157
167
  Settings.output.pbs['host_identifier'] ||= 'on_localhost'
158
168
  end
159
169
 
160
- if Settings.output['output_type'] == LOGSTASH_OT
170
+ if LOGSTASH_OT.include?(Settings.output['output_type'])
161
171
  unless Settings.output['logstash'] && Settings.output.logstash['host'] && Settings.output.logstash['port']
162
172
  fail ArgumentError, 'Missing some mandatory parameters for logstash output type. Check your configuration file.'
163
173
  end
@@ -1,5 +1,5 @@
1
1
  module OutputTypes
2
- APEL_OT = 'apel-0.2'
3
- PBS_OT = 'pbs-0.1'
4
- LOGSTASH_OT = 'logstash-0.1'
2
+ APEL_OT = %w(apel-0.2 apel-0.4)
3
+ PBS_OT = %w(pbs-0.1)
4
+ LOGSTASH_OT = %w(logstash-0.1)
5
5
  end
@@ -25,6 +25,6 @@ Memory: <%= vm['memory']%>
25
25
  Disk: <%= vm['disk_size'].to_i != 0 ? (vm['disk_size']/1000.0).ceil : vm['disk_size']%>
26
26
  StorageRecordId: NULL
27
27
  ImageId: <%= vm['image_name']%>
28
- CloudType: OpenNebula
28
+ CloudType: <%= vm['cloud_type']%>
29
29
  %%
30
30
  <% end -%>
@@ -0,0 +1,34 @@
1
+ APEL-cloud-message: v0.4
2
+ <% for vm in @data -%>
3
+ VMUUID: <%= vm['endpoint'] %>/compute/<%= vm['vm_uuid'] %> <%= vm['start_time'].strftime('%F %T%:z') %>
4
+ SiteName: <%= vm['site_name']%>
5
+ CloudComputeService: <%= vm['cloud_compute_service']%>
6
+ MachineName: <%= vm['machine_name']%>
7
+ LocalUserId: <%= vm['user_id']%>
8
+ LocalGroupId: <%= vm['group_id']%>
9
+ GlobalUserName: <%= vm['user_dn']%>
10
+ <% if vm['group_name']-%>
11
+ FQAN: /<%= vm['group_name']%>/Role=NULL/Capability=NULL
12
+ <% else -%>
13
+ FQAN: NULL
14
+ <% end -%>
15
+ Status: <%= vm['status']%>
16
+ StartTime: <%= vm['start_time'].to_i%>
17
+ EndTime: <%= vm['end_time'].to_s == vm['end_time'] ? vm['end_time'] : vm['end_time'].to_i%>
18
+ SuspendDuration: <%= vm['suspend']%>
19
+ WallDuration: <%= vm['duration'].to_i != 0 ? vm['duration'].to_i : 'NULL'%>
20
+ CpuDuration: <%= vm['duration'].to_i != 0 ? vm['duration'].to_i : 'NULL'%>
21
+ CpuCount: <%= vm['cpu_count']%>
22
+ NetworkType: NULL
23
+ NetworkInbound: <%= vm['network_inbound']%>
24
+ NetworkOutbound: <%= vm['network_outbound']%>
25
+ PublicIPCount: <%= vm['number_of_public_ips']%>
26
+ Memory: <%= vm['memory']%>
27
+ Disk: <%= vm['disk_size'].to_i != 0 ? (vm['disk_size']/1000.0).ceil : vm['disk_size']%>
28
+ StorageRecordId: NULL
29
+ ImageId: <%= vm['image_name']%>
30
+ CloudType: <%= vm['cloud_type']%> oneacct-export/<%= vm['oneacct_export_version']%>
31
+ BenchmarkType: <%= vm['benchmark_type']%>
32
+ Benchmark: <%= vm['benchmark_value']%>
33
+ %%
34
+ <% end -%>
@@ -0,0 +1,27 @@
1
+ <CLUSTER>
2
+ <ID>1</ID>
3
+ <NAME>cluster-number-one</NAME>
4
+ <HOSTS>
5
+ <ID>1</ID>
6
+ <ID>2</ID>
7
+ <ID>3</ID>
8
+ </HOSTS>
9
+ <DATASTORES>
10
+ <ID>101</ID>
11
+ <ID>102</ID>
12
+ <ID>103</ID>
13
+ </DATASTORES>
14
+ <VNETS>
15
+ <ID>6</ID>
16
+ <ID>8</ID>
17
+ <ID>17</ID>
18
+ <ID>21</ID>
19
+ <ID>24</ID>
20
+ </VNETS>
21
+ <TEMPLATE>
22
+ <BENCHMARK_TYPE>bench_type_cluster_1</BENCHMARK_TYPE>
23
+ <BENCHMARK_VALUES>mixin1 21.7</BENCHMARK_VALUES>
24
+ <RESERVED_CPU><![CDATA[]]></RESERVED_CPU>
25
+ <RESERVED_MEM><![CDATA[8388608]]></RESERVED_MEM>
26
+ </TEMPLATE>
27
+ </CLUSTER>
@@ -0,0 +1,23 @@
1
+ <CLUSTER>
2
+ <ID>2</ID>
3
+ <NAME>cluster-number-two</NAME>
4
+ <HOSTS>
5
+ <ID>4</ID>
6
+ </HOSTS>
7
+ <DATASTORES>
8
+ <ID>101</ID>
9
+ <ID>102</ID>
10
+ <ID>103</ID>
11
+ </DATASTORES>
12
+ <VNETS>
13
+ <ID>6</ID>
14
+ <ID>8</ID>
15
+ <ID>17</ID>
16
+ <ID>21</ID>
17
+ <ID>24</ID>
18
+ </VNETS>
19
+ <TEMPLATE>
20
+ <RESERVED_CPU><![CDATA[]]></RESERVED_CPU>
21
+ <RESERVED_MEM><![CDATA[8388608]]></RESERVED_MEM>
22
+ </TEMPLATE>
23
+ </CLUSTER>
@@ -0,0 +1,65 @@
1
+ <HOST>
2
+ <ID>1</ID>
3
+ <NAME>whatever.in.czech.republic.cz</NAME>
4
+ <STATE>5</STATE>
5
+ <IM_MAD><![CDATA[kvm]]></IM_MAD>
6
+ <VM_MAD><![CDATA[kvm]]></VM_MAD>
7
+ <VN_MAD><![CDATA[802.1Q]]></VN_MAD>
8
+ <LAST_MON_TIME>1447930638</LAST_MON_TIME>
9
+ <CLUSTER_ID>1</CLUSTER_ID>
10
+ <CLUSTER>fedcloud-warg</CLUSTER>
11
+ <HOST_SHARE>
12
+ <DISK_USAGE>0</DISK_USAGE>
13
+ <MEM_USAGE>50331648</MEM_USAGE>
14
+ <CPU_USAGE>2000</CPU_USAGE>
15
+ <MAX_DISK>19686</MAX_DISK>
16
+ <MAX_MEM>57674040</MAX_MEM>
17
+ <MAX_CPU>3200</MAX_CPU>
18
+ <FREE_DISK>13945</FREE_DISK>
19
+ <FREE_MEM>30670728</FREE_MEM>
20
+ <FREE_CPU>3196</FREE_CPU>
21
+ <USED_DISK>4742</USED_DISK>
22
+ <USED_MEM>35391920</USED_MEM>
23
+ <USED_CPU>3</USED_CPU>
24
+ <RUNNING_VMS>11</RUNNING_VMS>
25
+ <DATASTORES>
26
+ <DS>
27
+ <FREE_MB><![CDATA[3037509]]></FREE_MB>
28
+ <ID><![CDATA[101]]></ID>
29
+ <TOTAL_MB><![CDATA[3338205]]></TOTAL_MB>
30
+ <USED_MB><![CDATA[122933]]></USED_MB>
31
+ <VMS_ALLOCATED_MB><![CDATA[122733]]></VMS_ALLOCATED_MB>
32
+ <VMS_REQUIRED_MB><![CDATA[130925]]></VMS_REQUIRED_MB>
33
+ </DS>
34
+ </DATASTORES>
35
+ </HOST_SHARE>
36
+ <VMS>
37
+ <ID>51575</ID>
38
+ <ID>53988</ID>
39
+ <ID>54035</ID>
40
+ <ID>54553</ID>
41
+ <ID>55276</ID>
42
+ <ID>56251</ID>
43
+ <ID>56288</ID>
44
+ <ID>56291</ID>
45
+ <ID>59948</ID>
46
+ <ID>60163</ID>
47
+ <ID>60173</ID>
48
+ </VMS>
49
+ <TEMPLATE>
50
+ <ARCH><![CDATA[x86_64]]></ARCH>
51
+ <BENCHMARK_TYPE>bench_type_1</BENCHMARK_TYPE>
52
+ <BENCHMARK_VALUES>mixin1 36.9</BENCHMARK_VALUES>
53
+ <CPUSPEED><![CDATA[1200]]></CPUSPEED>
54
+ <ERROR><![CDATA[Thu Nov 19 11:56:06 2015 : Error monitoring Host whatever.in.czech.republic.cz (21): -]]></ERROR>
55
+ <HOSTNAME><![CDATA[whatever.in.czech.republic.cz]]></HOSTNAME>
56
+ <HYPERVISOR><![CDATA[kvm]]></HYPERVISOR>
57
+ <MODELNAME><![CDATA[Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz]]></MODELNAME>
58
+ <NETRX><![CDATA[518778988428]]></NETRX>
59
+ <NETTX><![CDATA[761175714938]]></NETTX>
60
+ <PRIORITY><![CDATA[990]]></PRIORITY>
61
+ <RESERVED_CPU><![CDATA[]]></RESERVED_CPU>
62
+ <RESERVED_MEM><![CDATA[]]></RESERVED_MEM>
63
+ <VERSION><![CDATA[4.10.1]]></VERSION>
64
+ </TEMPLATE>
65
+ </HOST>
@@ -0,0 +1,66 @@
1
+ <HOST>
2
+ <ID>2</ID>
3
+ <NAME>whatever.in.czech.republic.cz</NAME>
4
+ <STATE>5</STATE>
5
+ <IM_MAD><![CDATA[kvm]]></IM_MAD>
6
+ <VM_MAD><![CDATA[kvm]]></VM_MAD>
7
+ <VN_MAD><![CDATA[802.1Q]]></VN_MAD>
8
+ <LAST_MON_TIME>1447930638</LAST_MON_TIME>
9
+ <CLUSTER_ID>1</CLUSTER_ID>
10
+ <CLUSTER>fedcloud-warg</CLUSTER>
11
+ <HOST_SHARE>
12
+ <DISK_USAGE>0</DISK_USAGE>
13
+ <MEM_USAGE>50331648</MEM_USAGE>
14
+ <CPU_USAGE>2000</CPU_USAGE>
15
+ <MAX_DISK>19686</MAX_DISK>
16
+ <MAX_MEM>57674040</MAX_MEM>
17
+ <MAX_CPU>3200</MAX_CPU>
18
+ <FREE_DISK>13945</FREE_DISK>
19
+ <FREE_MEM>30670728</FREE_MEM>
20
+ <FREE_CPU>3196</FREE_CPU>
21
+ <USED_DISK>4742</USED_DISK>
22
+ <USED_MEM>35391920</USED_MEM>
23
+ <USED_CPU>3</USED_CPU>
24
+ <RUNNING_VMS>11</RUNNING_VMS>
25
+ <DATASTORES>
26
+ <DS>
27
+ <FREE_MB><![CDATA[3037509]]></FREE_MB>
28
+ <ID><![CDATA[101]]></ID>
29
+ <TOTAL_MB><![CDATA[3338205]]></TOTAL_MB>
30
+ <USED_MB><![CDATA[122933]]></USED_MB>
31
+ <VMS_ALLOCATED_MB><![CDATA[122733]]></VMS_ALLOCATED_MB>
32
+ <VMS_REQUIRED_MB><![CDATA[130925]]></VMS_REQUIRED_MB>
33
+ </DS>
34
+ </DATASTORES>
35
+ </HOST_SHARE>
36
+ <VMS>
37
+ <ID>51575</ID>
38
+ <ID>53988</ID>
39
+ <ID>54035</ID>
40
+ <ID>54553</ID>
41
+ <ID>55276</ID>
42
+ <ID>56251</ID>
43
+ <ID>56288</ID>
44
+ <ID>56291</ID>
45
+ <ID>59948</ID>
46
+ <ID>60163</ID>
47
+ <ID>60173</ID>
48
+ </VMS>
49
+ <TEMPLATE>
50
+ <ARCH><![CDATA[x86_64]]></ARCH>
51
+ <BENCHMARK_TYPE>bench_type_2</BENCHMARK_TYPE>
52
+ <BENCHMARK_VALUES>mixin1 788.6
53
+ mixin2 123.123</BENCHMARK_VALUES>
54
+ <CPUSPEED><![CDATA[1200]]></CPUSPEED>
55
+ <ERROR><![CDATA[Thu Nov 19 11:56:06 2015 : Error monitoring Host whatever.in.czech.republic.cz (21): -]]></ERROR>
56
+ <HOSTNAME><![CDATA[whatever.in.czech.republic.cz]]></HOSTNAME>
57
+ <HYPERVISOR><![CDATA[kvm]]></HYPERVISOR>
58
+ <MODELNAME><![CDATA[Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz]]></MODELNAME>
59
+ <NETRX><![CDATA[518778988428]]></NETRX>
60
+ <NETTX><![CDATA[761175714938]]></NETTX>
61
+ <PRIORITY><![CDATA[990]]></PRIORITY>
62
+ <RESERVED_CPU><![CDATA[]]></RESERVED_CPU>
63
+ <RESERVED_MEM><![CDATA[]]></RESERVED_MEM>
64
+ <VERSION><![CDATA[4.10.1]]></VERSION>
65
+ </TEMPLATE>
66
+ </HOST>
@@ -0,0 +1,63 @@
1
+ <HOST>
2
+ <ID>3</ID>
3
+ <NAME>whatever.in.czech.republic.cz</NAME>
4
+ <STATE>5</STATE>
5
+ <IM_MAD><![CDATA[kvm]]></IM_MAD>
6
+ <VM_MAD><![CDATA[kvm]]></VM_MAD>
7
+ <VN_MAD><![CDATA[802.1Q]]></VN_MAD>
8
+ <LAST_MON_TIME>1447930638</LAST_MON_TIME>
9
+ <CLUSTER_ID>1</CLUSTER_ID>
10
+ <CLUSTER>fedcloud-warg</CLUSTER>
11
+ <HOST_SHARE>
12
+ <DISK_USAGE>0</DISK_USAGE>
13
+ <MEM_USAGE>50331648</MEM_USAGE>
14
+ <CPU_USAGE>2000</CPU_USAGE>
15
+ <MAX_DISK>19686</MAX_DISK>
16
+ <MAX_MEM>57674040</MAX_MEM>
17
+ <MAX_CPU>3200</MAX_CPU>
18
+ <FREE_DISK>13945</FREE_DISK>
19
+ <FREE_MEM>30670728</FREE_MEM>
20
+ <FREE_CPU>3196</FREE_CPU>
21
+ <USED_DISK>4742</USED_DISK>
22
+ <USED_MEM>35391920</USED_MEM>
23
+ <USED_CPU>3</USED_CPU>
24
+ <RUNNING_VMS>11</RUNNING_VMS>
25
+ <DATASTORES>
26
+ <DS>
27
+ <FREE_MB><![CDATA[3037509]]></FREE_MB>
28
+ <ID><![CDATA[101]]></ID>
29
+ <TOTAL_MB><![CDATA[3338205]]></TOTAL_MB>
30
+ <USED_MB><![CDATA[122933]]></USED_MB>
31
+ <VMS_ALLOCATED_MB><![CDATA[122733]]></VMS_ALLOCATED_MB>
32
+ <VMS_REQUIRED_MB><![CDATA[130925]]></VMS_REQUIRED_MB>
33
+ </DS>
34
+ </DATASTORES>
35
+ </HOST_SHARE>
36
+ <VMS>
37
+ <ID>51575</ID>
38
+ <ID>53988</ID>
39
+ <ID>54035</ID>
40
+ <ID>54553</ID>
41
+ <ID>55276</ID>
42
+ <ID>56251</ID>
43
+ <ID>56288</ID>
44
+ <ID>56291</ID>
45
+ <ID>59948</ID>
46
+ <ID>60163</ID>
47
+ <ID>60173</ID>
48
+ </VMS>
49
+ <TEMPLATE>
50
+ <ARCH><![CDATA[x86_64]]></ARCH>
51
+ <CPUSPEED><![CDATA[1200]]></CPUSPEED>
52
+ <ERROR><![CDATA[Thu Nov 19 11:56:06 2015 : Error monitoring Host whatever.in.czech.republic.cz (21): -]]></ERROR>
53
+ <HOSTNAME><![CDATA[whatever.in.czech.republic.cz]]></HOSTNAME>
54
+ <HYPERVISOR><![CDATA[kvm]]></HYPERVISOR>
55
+ <MODELNAME><![CDATA[Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz]]></MODELNAME>
56
+ <NETRX><![CDATA[518778988428]]></NETRX>
57
+ <NETTX><![CDATA[761175714938]]></NETTX>
58
+ <PRIORITY><![CDATA[990]]></PRIORITY>
59
+ <RESERVED_CPU><![CDATA[]]></RESERVED_CPU>
60
+ <RESERVED_MEM><![CDATA[]]></RESERVED_MEM>
61
+ <VERSION><![CDATA[4.10.1]]></VERSION>
62
+ </TEMPLATE>
63
+ </HOST>
@@ -0,0 +1,63 @@
1
+ <HOST>
2
+ <ID>4</ID>
3
+ <NAME>whatever.in.czech.republic.cz</NAME>
4
+ <STATE>5</STATE>
5
+ <IM_MAD><![CDATA[kvm]]></IM_MAD>
6
+ <VM_MAD><![CDATA[kvm]]></VM_MAD>
7
+ <VN_MAD><![CDATA[802.1Q]]></VN_MAD>
8
+ <LAST_MON_TIME>1447930638</LAST_MON_TIME>
9
+ <CLUSTER_ID>2</CLUSTER_ID>
10
+ <CLUSTER>fedcloud-warg</CLUSTER>
11
+ <HOST_SHARE>
12
+ <DISK_USAGE>0</DISK_USAGE>
13
+ <MEM_USAGE>50331648</MEM_USAGE>
14
+ <CPU_USAGE>2000</CPU_USAGE>
15
+ <MAX_DISK>19686</MAX_DISK>
16
+ <MAX_MEM>57674040</MAX_MEM>
17
+ <MAX_CPU>3200</MAX_CPU>
18
+ <FREE_DISK>13945</FREE_DISK>
19
+ <FREE_MEM>30670728</FREE_MEM>
20
+ <FREE_CPU>3196</FREE_CPU>
21
+ <USED_DISK>4742</USED_DISK>
22
+ <USED_MEM>35391920</USED_MEM>
23
+ <USED_CPU>3</USED_CPU>
24
+ <RUNNING_VMS>11</RUNNING_VMS>
25
+ <DATASTORES>
26
+ <DS>
27
+ <FREE_MB><![CDATA[3037509]]></FREE_MB>
28
+ <ID><![CDATA[101]]></ID>
29
+ <TOTAL_MB><![CDATA[3338205]]></TOTAL_MB>
30
+ <USED_MB><![CDATA[122933]]></USED_MB>
31
+ <VMS_ALLOCATED_MB><![CDATA[122733]]></VMS_ALLOCATED_MB>
32
+ <VMS_REQUIRED_MB><![CDATA[130925]]></VMS_REQUIRED_MB>
33
+ </DS>
34
+ </DATASTORES>
35
+ </HOST_SHARE>
36
+ <VMS>
37
+ <ID>51575</ID>
38
+ <ID>53988</ID>
39
+ <ID>54035</ID>
40
+ <ID>54553</ID>
41
+ <ID>55276</ID>
42
+ <ID>56251</ID>
43
+ <ID>56288</ID>
44
+ <ID>56291</ID>
45
+ <ID>59948</ID>
46
+ <ID>60163</ID>
47
+ <ID>60173</ID>
48
+ </VMS>
49
+ <TEMPLATE>
50
+ <ARCH><![CDATA[x86_64]]></ARCH>
51
+ <CPUSPEED><![CDATA[1200]]></CPUSPEED>
52
+ <ERROR><![CDATA[Thu Nov 19 11:56:06 2015 : Error monitoring Host whatever.in.czech.republic.cz (21): -]]></ERROR>
53
+ <HOSTNAME><![CDATA[whatever.in.czech.republic.cz]]></HOSTNAME>
54
+ <HYPERVISOR><![CDATA[kvm]]></HYPERVISOR>
55
+ <MODELNAME><![CDATA[Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz]]></MODELNAME>
56
+ <NETRX><![CDATA[518778988428]]></NETRX>
57
+ <NETTX><![CDATA[761175714938]]></NETTX>
58
+ <PRIORITY><![CDATA[990]]></PRIORITY>
59
+ <RESERVED_CPU><![CDATA[]]></RESERVED_CPU>
60
+ <RESERVED_MEM><![CDATA[]]></RESERVED_MEM>
61
+ <VERSION><![CDATA[4.10.1]]></VERSION>
62
+ </TEMPLATE>
63
+ </HOST>