opennebula-cli 7.2.0 → 7.2.1

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/bin/onevm +1 -1
  3. data/lib/command_parser.rb +134 -125
  4. data/lib/load_opennebula_paths.rb +5 -0
  5. data/lib/ods_helper.rb +541 -0
  6. data/lib/one_helper/oneacct_helper.rb +116 -108
  7. data/lib/one_helper/onedatastore_helper.rb +86 -79
  8. data/lib/one_helper/onemarket_helper.rb +58 -57
  9. data/lib/one_helper/onequota_helper.rb +239 -189
  10. data/lib/one_helper/onesecgroup_helper.rb +86 -84
  11. data/lib/one_helper/onetemplate_helper.rb +63 -63
  12. data/lib/one_helper/onevdc_helper.rb +44 -44
  13. data/lib/one_helper/onevm_helper.rb +5 -7
  14. data/lib/one_helper/onevmgroup_helper.rb +64 -62
  15. data/lib/one_helper/onevntemplate_helper.rb +42 -39
  16. data/lib/one_helper/onevrouter_helper.rb +85 -86
  17. data/lib/one_helper/onezone_helper.rb +97 -100
  18. data/lib/one_helper.rb +88 -69
  19. data/share/schemas/xsd/acct.xsd +3 -104
  20. data/share/schemas/xsd/cluster.xsd +4 -21
  21. data/share/schemas/xsd/datastore.xsd +4 -29
  22. data/share/schemas/xsd/document.xsd +3 -25
  23. data/share/schemas/xsd/group.xsd +2 -14
  24. data/share/schemas/xsd/group_pool.xsd +2 -14
  25. data/share/schemas/xsd/hook.xsd +2 -0
  26. data/share/schemas/xsd/host.xsd +5 -7
  27. data/share/schemas/xsd/image.xsd +2 -25
  28. data/share/schemas/xsd/marketplace.xsd +3 -22
  29. data/share/schemas/xsd/marketplaceapp.xsd +3 -25
  30. data/share/schemas/xsd/opennebula_configuration.xsd +1 -0
  31. data/share/schemas/xsd/requirements.xsd +3 -21
  32. data/share/schemas/xsd/security_group.xsd +6 -43
  33. data/share/schemas/xsd/shared.xsd +3 -3
  34. data/share/schemas/xsd/vdc.xsd +2 -7
  35. data/share/schemas/xsd/vm_group.xsd +3 -25
  36. data/share/schemas/xsd/vm_pool.xsd +2 -0
  37. data/share/schemas/xsd/vmtemplate.xsd +3 -25
  38. data/share/schemas/xsd/vnet.xsd +9 -67
  39. data/share/schemas/xsd/vnet_pool.xsd +8 -57
  40. data/share/schemas/xsd/vntemplate.xsd +3 -25
  41. data/share/schemas/xsd/vrouter.xsd +4 -32
  42. metadata +6 -4
@@ -19,242 +19,249 @@ require 'optparse/time'
19
19
  require 'opennebula/virtual_machine'
20
20
  require 'opennebula/virtual_machine_pool'
21
21
 
22
+ # Helper class for accounting commands
22
23
  class AcctHelper < OpenNebulaHelper::OneHelper
24
+
23
25
  TIME_ZONE_CUR = {
24
- :name => "timezone",
25
- :short => "-t TZ",
26
- :large => "--timezone TZ",
27
- :description => "User defined Time Zone",
26
+ :name => 'timezone',
27
+ :short => '-t TZ',
28
+ :large => '--timezone TZ',
29
+ :description => 'User defined Time Zone',
28
30
  :format => String
29
31
  }
30
32
 
31
33
  START_TIME_ACCT = {
32
- :name => "start_time",
33
- :short => "-s TIME",
34
- :large => "--start TIME" ,
35
- :description => "First day of the data to retrieve",
34
+ :name => 'start_time',
35
+ :short => '-s TIME',
36
+ :large => '--start TIME',
37
+ :description => 'First day of the data to retrieve',
36
38
  :format => Time
37
39
  }
38
40
 
39
41
  END_TIME_ACCT = {
40
- :name => "end_time",
41
- :short => "-e TIME",
42
- :large => "--end TIME" ,
43
- :description => "Last day of the data to retrieve",
42
+ :name => 'end_time',
43
+ :short => '-e TIME',
44
+ :large => '--end TIME',
45
+ :description => 'Last day of the data to retrieve',
44
46
  :format => Time
45
47
  }
46
48
 
47
49
  START_TIME_SHOWBACK = {
48
- :name => "start_time",
49
- :short => "-s TIME",
50
- :large => "--start TIME" ,
51
- :description => "First month of the data",
50
+ :name => 'start_time',
51
+ :short => '-s TIME',
52
+ :large => '--start TIME',
53
+ :description => 'First month of the data',
52
54
  :format => Time
53
55
  }
54
56
 
55
57
  END_TIME_SHOWBACK = {
56
- :name => "end_time",
57
- :short => "-e TIME",
58
- :large => "--end TIME" ,
59
- :description => "Last month of the data",
58
+ :name => 'end_time',
59
+ :short => '-e TIME',
60
+ :large => '--end TIME',
61
+ :description => 'Last month of the data',
60
62
  :format => Time
61
63
  }
62
64
 
63
65
  USERFILTER = {
64
- :name => "userfilter",
65
- :short => "-u user",
66
- :large => "--userfilter user" ,
67
- :description => "User name or id to filter the results",
66
+ :name => 'userfilter',
67
+ :short => '-u user',
68
+ :large => '--userfilter user',
69
+ :description => 'User name or id to filter the results',
68
70
  :format => String,
69
- :proc => lambda { |o, options|
70
- OpenNebulaHelper.rname_to_id(o, "USER")
71
+ :proc => lambda {|o, _options|
72
+ OpenNebulaHelper.rname_to_id(o, 'USER')
71
73
  }
72
74
  }
73
75
 
74
76
  GROUP = {
75
- :name => "group",
76
- :short => "-g group",
77
- :large => "--group group" ,
78
- :description => "Group name or id to filter the results",
77
+ :name => 'group',
78
+ :short => '-g group',
79
+ :large => '--group group',
80
+ :description => 'Group name or id to filter the results',
79
81
  :format => String,
80
- :proc => lambda { |o, options|
81
- OpenNebulaHelper.rname_to_id(o, "GROUP")
82
+ :proc => lambda {|o, _options|
83
+ OpenNebulaHelper.rname_to_id(o, 'GROUP')
82
84
  }
83
85
  }
84
86
 
85
87
  HOST = {
86
- :name => "host",
87
- :short => "-H HOST",
88
- :large => "--host HOST" ,
89
- :description => "Host name or id to filter the results",
88
+ :name => 'host',
89
+ :short => '-H HOST',
90
+ :large => '--host HOST',
91
+ :description => 'Host name or id to filter the results',
90
92
  :format => String,
91
- :proc => lambda { |o, options|
92
- OpenNebulaHelper.rname_to_id(o, "HOST")
93
+ :proc => lambda {|o, _options|
94
+ OpenNebulaHelper.rname_to_id(o, 'HOST')
93
95
  }
94
96
  }
95
97
 
96
98
  XPATH = {
97
- :name => "xpath",
98
- :large => "--xpath XPATH_EXPRESSION" ,
99
+ :name => 'xpath',
100
+ :large => '--xpath XPATH_EXPRESSION',
99
101
  :description => "Xpath expression to filter the results. \
100
102
  For example: oneacct --xpath 'HISTORY[ETIME>0]'",
101
103
  :format => String
102
104
  }
103
105
 
104
106
  SPLIT={
105
- :name => "split",
106
- :large => "--split",
107
- :description => "Split the output in a table for each VM"
107
+ :name => 'split',
108
+ :large => '--split',
109
+ :description => 'Split the output in a table for each VM'
108
110
  }
109
111
 
110
- ACCT_OPTIONS = [TIME_ZONE_CUR, START_TIME_ACCT, END_TIME_ACCT, USERFILTER, GROUP, HOST, XPATH, SPLIT]
112
+ ACCT_OPTIONS = [TIME_ZONE_CUR, START_TIME_ACCT, END_TIME_ACCT, USERFILTER, GROUP, HOST,
113
+ XPATH, SPLIT]
111
114
  SHOWBACK_OPTIONS = [START_TIME_SHOWBACK, END_TIME_SHOWBACK, USERFILTER, GROUP, OpenNebulaHelper::FORMAT]
112
115
 
113
116
  ACCT_OPTIONS << OpenNebulaHelper::XML
114
117
  ACCT_OPTIONS << OpenNebulaHelper::JSON
115
118
 
116
- ACCT_TABLE = CLIHelper::ShowTable.new(self.table_conf("oneacct.yaml"), nil) do
117
- column :UID, "User ID", :size=>4 do |d|
118
- d["UID"]
119
+ ACCT_TABLE = CLIHelper::ShowTable.new(table_conf('oneacct.yaml'), nil) do
120
+ column :UID, 'User ID', :size=>4 do |d|
121
+ d['UID']
119
122
  end
120
123
 
121
- column :VID, "Virtual Machine ID", :size=>4 do |d|
122
- d["OID"]
124
+ column :VID, 'Virtual Machine ID', :size=>4 do |d|
125
+ d['OID']
123
126
  end
124
127
 
125
- column :SEQ, "History record sequence number", :size=>3 do |d|
126
- d["SEQ"]
128
+ column :SEQ, 'History record sequence number', :size=>3 do |d|
129
+ d['SEQ']
127
130
  end
128
131
 
129
- column :HOSTNAME, "Host name", :left, :size=>15 do |d|
130
- d["HOSTNAME"]
132
+ column :HOSTNAME, 'Host name', :left, :size=>15 do |d|
133
+ d['HOSTNAME']
131
134
  end
132
135
 
133
- column :"ACTION", "VM state change action", :left, :size=>16 do |d|
134
- VirtualMachine.get_history_action d["ACTION"]
136
+ column :ACTION, 'VM state change action', :left, :size=>16 do |d|
137
+ VirtualMachine.get_history_action d['ACTION']
135
138
  end
136
139
 
137
- column :START_TIME, "Start time", :size=>14 do |d|
140
+ column :START_TIME, 'Start time', :size=>14 do |d|
138
141
  OpenNebulaHelper.time_to_str(d['STIME'])
139
142
  end
140
143
 
141
- column :END_TIME, "End time", :size=>14 do |d|
144
+ column :END_TIME, 'End time', :size=>14 do |d|
142
145
  OpenNebulaHelper.time_to_str(d['ETIME'])
143
146
  end
144
147
 
145
- column :MEMORY, "Assigned memory", :size=>6 do |d|
146
- OpenNebulaHelper.unit_to_str(d["VM"]["TEMPLATE"]["MEMORY"].to_i, {}, 'M') rescue "-"
148
+ column :MEMORY, 'Assigned memory', :size=>6 do |d|
149
+ OpenNebulaHelper.unit_to_str(d['VM']['TEMPLATE']['MEMORY'].to_i, {}, 'M') rescue '-'
147
150
  end
148
151
 
149
- column :CPU, "Number of CPUs", :size=>3 do |d|
150
- d["VM"]["TEMPLATE"]["CPU"] rescue "-"
152
+ column :CPU, 'Number of CPUs', :size=>3 do |d|
153
+ d['VM']['TEMPLATE']['CPU'] rescue '-'
151
154
  end
152
155
 
153
- column :NETRX, "Data received from the network", :size=>6 do |d|
156
+ column :NETRX, 'Data received from the network', :size=>6 do |d|
154
157
  # NET is measured in bytes, unit_to_str expects KBytes
155
- OpenNebulaHelper.unit_to_str(d["VM"]["MONITORING"]["NETRX"].to_i / 1024.0, {}) rescue "-"
158
+ OpenNebulaHelper.unit_to_str(d['VM']['MONITORING']['NETRX'].to_i / 1024.0,
159
+ {}) rescue '-'
156
160
  end
157
161
 
158
- column :NETTX, "Data sent to the network", :size=>6 do |d|
162
+ column :NETTX, 'Data sent to the network', :size=>6 do |d|
159
163
  # NET is measured in bytes, unit_to_str expects KBytes
160
- OpenNebulaHelper.unit_to_str(d["VM"]["MONITORING"]["NETTX"].to_i / 1024.0, {}) rescue "-"
164
+ OpenNebulaHelper.unit_to_str(d['VM']['MONITORING']['NETTX'].to_i / 1024.0,
165
+ {}) rescue '-'
161
166
  end
162
167
 
163
- column :DISK, "Total disk size used", :size=>6 do |d|
168
+ column :DISK, 'Total disk size used', :size=>6 do |d|
164
169
  # DISK size is measured in mb, unit_to_str expects KBytes
165
170
  begin
166
171
  total_disk_size = 0
167
172
 
168
- vm_id = d["VM"]["ID"].to_i
173
+ d['VM']['ID'].to_i
169
174
 
170
- disks_all = [d["VM"]["TEMPLATE"]["DISK"]].flatten.compact rescue []
175
+ disks_all = [d['VM']['TEMPLATE']['DISK']].flatten.compact rescue []
171
176
  disks_all.each do |disk|
172
- total_disk_size += disk["SIZE"].to_i
177
+ total_disk_size += disk['SIZE'].to_i
173
178
  end
174
179
 
175
- snapshots_all = [d["VM"]["SNAPSHOTS"]].flatten.compact rescue []
180
+ snapshots_all = [d['VM']['SNAPSHOTS']].flatten.compact rescue []
176
181
  snapshots_all.each do |snapshot|
177
- snapshot_disk = [snapshot["SNAPSHOT"]].flatten.compact rescue []
178
- snapshot_disk.each do |snapshot|
179
- total_disk_size += snapshot["SIZE"].to_i
182
+ snapshot_disk = [snapshot['SNAPSHOT']].flatten.compact rescue []
183
+ snapshot_disk.each do |s|
184
+ total_disk_size += s['SIZE'].to_i
180
185
  end
181
186
  end
182
187
 
183
188
  OpenNebulaHelper.unit_to_str(total_disk_size * 1024.0, {})
184
- rescue
185
- "-"
189
+ rescue StandardError
190
+ '-'
186
191
  end
187
192
  end
188
193
 
189
- default :VID, :HOSTNAME, :ACTION, :START_TIME, :END_TIME, :MEMORY, :CPU, :NETRX, :NETTX, :DISK
194
+ default :VID, :HOSTNAME, :ACTION, :START_TIME, :END_TIME, :MEMORY, :CPU, :NETRX, :NETTX,
195
+ :DISK
190
196
  end
191
197
 
192
- SHOWBACK_TABLE = CLIHelper::ShowTable.new(self.table_conf("oneshowback.yaml"), nil) do
193
- column :UID, "User ID", :size=>4 do |d|
194
- d["UID"]
198
+ SHOWBACK_TABLE = CLIHelper::ShowTable.new(table_conf('oneshowback.yaml'), nil) do
199
+ column :UID, 'User ID', :size=>4 do |d|
200
+ d['UID']
195
201
  end
196
202
 
197
- column :USER_NAME, "User name", :left, :size=>12 do |d|
198
- d["UNAME"]
203
+ column :USER_NAME, 'User name', :left, :size=>12 do |d|
204
+ d['UNAME']
199
205
  end
200
206
 
201
- column :GID, "Group ID", :size=>4 do |d|
202
- d["GID"]
207
+ column :GID, 'Group ID', :size=>4 do |d|
208
+ d['GID']
203
209
  end
204
210
 
205
- column :GROUP_NAME, "Group name", :left, :size=>12 do |d|
206
- d["GNAME"]
211
+ column :GROUP_NAME, 'Group name', :left, :size=>12 do |d|
212
+ d['GNAME']
207
213
  end
208
214
 
209
- column :VM_ID, "Virtual Machine ID", :size=>6 do |d|
210
- d["VMID"]
215
+ column :VM_ID, 'Virtual Machine ID', :size=>6 do |d|
216
+ d['VMID']
211
217
  end
212
218
 
213
- column :VM_NAME, "Virtual Machine name", :left, :size=>12 do |d|
214
- d["VMNAME"]
219
+ column :VM_NAME, 'Virtual Machine name', :left, :size=>12 do |d|
220
+ d['VMNAME']
215
221
  end
216
222
 
217
- column :MONTH, "Month", :size=>5 do |d|
218
- d["MONTH"]
223
+ column :MONTH, 'Month', :size=>5 do |d|
224
+ d['MONTH']
219
225
  end
220
226
 
221
- column :YEAR, "Year", :size=>5 do |d|
222
- d["YEAR"]
227
+ column :YEAR, 'Year', :size=>5 do |d|
228
+ d['YEAR']
223
229
  end
224
230
 
225
- column :HOURS, "Hours", :size=>6 do |d|
226
- d["HOURS"]
231
+ column :HOURS, 'Hours', :size=>6 do |d|
232
+ d['HOURS']
227
233
  end
228
234
 
229
- column :RUNNING_HOURS, "Running hours", :size=>7 do |d|
230
- d["RHOURS"] || '-'
235
+ column :RUNNING_HOURS, 'Running hours', :size=>7 do |d|
236
+ d['RHOURS'] || '-'
231
237
  end
232
238
 
233
- column :COST, "Cost", :size=>15 do |d|
234
- d["TOTAL_COST"]
239
+ column :COST, 'Cost', :size=>15 do |d|
240
+ d['TOTAL_COST']
235
241
  end
236
242
 
237
- default :USER_NAME, :GROUP_NAME, :VM_ID, :VM_NAME, :MONTH, :YEAR, :HOURS, :RUNNING_HOURS, :COST
243
+ default :USER_NAME, :GROUP_NAME, :VM_ID, :VM_NAME, :MONTH, :YEAR, :HOURS, :RUNNING_HOURS,
244
+ :COST
238
245
  end
239
246
 
240
247
  def self.print_start_end_time_header(start_time, end_time)
241
- print "Showing active history records from "
248
+ print 'Showing active history records from '
242
249
 
243
250
  CLIHelper.scr_bold
244
- if ( start_time != -1 )
245
- print Time.at(start_time).to_s
251
+ if start_time != -1
252
+ print Time.at(start_time)
246
253
  else
247
- print "-"
254
+ print '-'
248
255
  end
249
256
 
250
257
  CLIHelper.scr_restore
251
- print " to "
258
+ print ' to '
252
259
 
253
260
  CLIHelper.scr_bold
254
- if ( end_time != -1 )
255
- print Time.at(end_time).to_s
261
+ if end_time != -1
262
+ print Time.at(end_time)
256
263
  else
257
- print "-"
264
+ print '-'
258
265
  end
259
266
 
260
267
  CLIHelper.scr_restore
@@ -277,4 +284,5 @@ class AcctHelper < OpenNebulaHelper::OneHelper
277
284
  CLIHelper.scr_restore
278
285
  puts
279
286
  end
287
+
280
288
  end
@@ -19,115 +19,115 @@ require 'opennebula/datastore'
19
19
  require 'opennebula/datastore_pool'
20
20
  require 'opennebula/image'
21
21
 
22
+ # Helper class for Datastore commands
22
23
  class OneDatastoreHelper < OpenNebulaHelper::OneHelper
24
+
23
25
  DATASTORE = {
24
- :name => "datastore",
25
- :short => "-d id|name",
26
- :large => "--datastore id|name" ,
27
- :description => "Selects the datastore",
26
+ :name => 'datastore',
27
+ :short => '-d id|name',
28
+ :large => '--datastore id|name',
29
+ :description => 'Selects the datastore',
28
30
  :format => String,
29
- :proc => lambda { |o, options|
30
- OpenNebulaHelper.rname_to_id(o, "DATASTORE")
31
+ :proc => lambda {|o, _options|
32
+ OpenNebulaHelper.rname_to_id(o, 'DATASTORE')
31
33
  }
32
34
  }
33
35
 
34
36
  FILE_DATASTORE = {
35
- :name => "file_datastore",
36
- :large => "--file-datastore id|name" ,
37
- :description => "Selects the file datastore",
37
+ :name => 'file_datastore',
38
+ :large => '--file-datastore id|name',
39
+ :description => 'Selects the file datastore',
38
40
  :format => String,
39
- :proc => lambda { |o, options|
40
- OpenNebulaHelper.rname_to_id(o, "DATASTORE")
41
+ :proc => lambda {|o, _options|
42
+ OpenNebulaHelper.rname_to_id(o, 'DATASTORE')
41
43
  }
42
44
  }
43
45
 
44
46
  def self.rname
45
- "DATASTORE"
47
+ 'DATASTORE'
46
48
  end
47
49
 
48
50
  def self.conf_file
49
- "onedatastore.yaml"
51
+ 'onedatastore.yaml'
50
52
  end
51
53
 
52
54
  def format_pool(options)
53
55
  config_file = self.class.table_conf
54
56
 
55
- table = CLIHelper::ShowTable.new(config_file, self) do
56
- column :ID, "ONE identifier for the Datastore", :size=>4 do |d|
57
- d["ID"]
57
+ CLIHelper::ShowTable.new(config_file, self) do
58
+ column :ID, 'ONE identifier for the Datastore', :size=>4 do |d|
59
+ d['ID']
58
60
  end
59
61
 
60
- column :USER, "Username of the Datastore owner", :left,
61
- :size=>10 do |d|
62
+ column :USER, 'Username of the Datastore owner', :left,
63
+ :size=>10 do |d|
62
64
  helper.user_name(d, options)
63
65
  end
64
66
 
65
- column :GROUP, "Group of the Datastore", :left,
66
- :size=>10 do |d|
67
+ column :GROUP, 'Group of the Datastore', :left,
68
+ :size=>10 do |d|
67
69
  helper.group_name(d, options)
68
70
  end
69
71
 
70
- column :NAME, "Name of the Datastore", :left, :size=>13 do |d|
71
- d["NAME"]
72
+ column :NAME, 'Name of the Datastore', :left, :size=>13 do |d|
73
+ d['NAME']
72
74
  end
73
75
 
74
- column :SIZE, "Datastore total size", :size =>10 do |d|
76
+ column :SIZE, 'Datastore total size', :size =>10 do |d|
75
77
  shared = d['TEMPLATE']['SHARED']
76
- if shared != nil && shared.upcase == 'NO'
77
- "-"
78
+ if !shared.nil? && shared.upcase == 'NO'
79
+ '-'
78
80
  else
79
81
  OpenNebulaHelper.unit_to_str(d['TOTAL_MB'].to_i, {}, 'M')
80
82
  end
81
83
  end
82
84
 
83
- column :AVAIL, "Datastore free size", :left, :size =>5 do |d|
85
+ column :AVAIL, 'Datastore free size', :left, :size =>5 do |d|
84
86
  if d['TOTAL_MB'].to_i == 0
85
- "-"
87
+ '-'
86
88
  else
87
- "#{((d['FREE_MB'].to_f/d['TOTAL_MB'].to_f) * 100).round()}%"
89
+ "#{((d['FREE_MB'].to_f/d['TOTAL_MB'].to_f) * 100).round}%"
88
90
  end
89
91
  end
90
92
 
91
- column :CLUSTERS, "Cluster IDs", :left, :size=>12 do |d|
92
- OpenNebulaHelper.clusters_str(d["CLUSTERS"]["ID"])
93
+ column :CLUSTERS, 'Cluster IDs', :left, :size=>12 do |d|
94
+ OpenNebulaHelper.clusters_str(d['CLUSTERS']['ID'])
93
95
  end
94
96
 
95
- column :IMAGES, "Number of Images", :size=>6 do |d|
96
- if d["IMAGES"]["ID"].nil?
97
- "0"
97
+ column :IMAGES, 'Number of Images', :size=>6 do |d|
98
+ if d['IMAGES']['ID'].nil?
99
+ '0'
98
100
  else
99
- [d["IMAGES"]["ID"]].flatten.size
101
+ [d['IMAGES']['ID']].flatten.size
100
102
  end
101
103
  end
102
104
 
103
- column :TYPE, "Datastore type", :left, :size=>4 do |d|
104
- type = OpenNebula::Datastore::DATASTORE_TYPES[d["TYPE"].to_i]
105
+ column :TYPE, 'Datastore type', :left, :size=>4 do |d|
106
+ type = OpenNebula::Datastore::DATASTORE_TYPES[d['TYPE'].to_i]
105
107
  OpenNebula::Datastore::SHORT_DATASTORE_TYPES[type]
106
108
  end
107
109
 
108
- column :DS, "Datastore driver", :left, :size=>7 do |d|
109
- d["DS_MAD"]
110
+ column :DS, 'Datastore driver', :left, :size=>7 do |d|
111
+ d['DS_MAD']
110
112
  end
111
113
 
112
- column :TM, "Transfer driver", :left, :size=>7 do |d|
113
- d["TM_MAD"]
114
+ column :TM, 'Transfer driver', :left, :size=>7 do |d|
115
+ d['TM_MAD']
114
116
  end
115
117
 
116
- column :STAT, "State of the Datastore", :left, :size=>3 do |d|
117
- state = OpenNebula::Datastore::DATASTORE_STATES[d["STATE"].to_i]
118
+ column :STAT, 'State of the Datastore', :left, :size=>3 do |d|
119
+ state = OpenNebula::Datastore::DATASTORE_STATES[d['STATE'].to_i]
118
120
  OpenNebula::Datastore::SHORT_DATASTORE_STATES[state]
119
121
  end
120
122
 
121
123
  default :ID, :USER, :GROUP, :NAME, :SIZE, :AVAIL, :CLUSTERS, :IMAGES,
122
124
  :TYPE, :DS, :TM, :STAT
123
125
  end
124
-
125
- table
126
126
  end
127
127
 
128
128
  private
129
129
 
130
- def factory(id=nil)
130
+ def factory(id = nil)
131
131
  if id
132
132
  OpenNebula::Datastore.new_with_id(id, @client)
133
133
  else
@@ -136,62 +136,69 @@ class OneDatastoreHelper < OpenNebulaHelper::OneHelper
136
136
  end
137
137
  end
138
138
 
139
- def factory_pool(user_flag=-2)
139
+ def factory_pool(_user_flag = -2)
140
140
  OpenNebula::DatastorePool.new(@client)
141
141
  end
142
142
 
143
- def format_resource(datastore, options = {})
144
- str="%-15s: %-20s"
145
- str_h1="%-80s"
143
+ def format_resource(datastore, _options = {})
144
+ str='%-15s: %-20s'
145
+ str_h1='%-80s'
146
146
 
147
147
  CLIHelper.print_header(str_h1 % "DATASTORE #{datastore['ID']} INFORMATION")
148
- puts str % ["ID", datastore.id.to_s]
149
- puts str % ["NAME", datastore.name]
150
- puts str % ["USER", datastore['UNAME']]
151
- puts str % ["GROUP", datastore['GNAME']]
152
- puts str % ["CLUSTERS",
153
- OpenNebulaHelper.clusters_str(datastore.retrieve_elements("CLUSTERS/ID"))]
154
-
155
- puts str % ["TYPE", datastore.type_str]
156
- puts str % ["DS_MAD", datastore['DS_MAD']]
157
- puts str % ["TM_MAD", datastore['TM_MAD']]
158
- puts str % ["BASE PATH",datastore['BASE_PATH']]
159
- puts str % ["DISK_TYPE",Image::DISK_TYPES[datastore['DISK_TYPE'].to_i]]
160
- puts str % ["STATE", datastore.state_str]
148
+ puts format(str, 'ID', datastore.id.to_s)
149
+ puts format(str, 'NAME', datastore.name)
150
+ puts format(str, 'USER', datastore['UNAME'])
151
+ puts format(str, 'GROUP', datastore['GNAME'])
152
+ puts format(str, 'CLUSTERS',
153
+ OpenNebulaHelper.clusters_str(datastore.retrieve_elements('CLUSTERS/ID')))
154
+
155
+ puts format(str, 'TYPE', datastore.type_str)
156
+ puts format(str, 'DS_MAD', datastore['DS_MAD'])
157
+ puts format(str, 'TM_MAD', datastore['TM_MAD'])
158
+ puts format(str, 'BASE PATH', datastore['BASE_PATH'])
159
+ puts format(str, 'DISK_TYPE', Image::DISK_TYPES[datastore['DISK_TYPE'].to_i])
160
+ puts format(str, 'STATE', datastore.state_str)
161
161
  puts
162
162
 
163
- CLIHelper.print_header(str_h1 % "DATASTORE CAPACITY", false)
163
+ CLIHelper.print_header(str_h1 % 'DATASTORE CAPACITY', false)
164
164
 
165
165
  shared = datastore['TEMPLATE/SHARED']
166
- local = shared != nil && shared.upcase == 'NO'
166
+ local = !shared.nil? && shared.upcase == 'NO'
167
167
  limit_mb = datastore['TEMPLATE/LIMIT_MB']
168
168
 
169
- puts str % ["TOTAL:", local ? '-' : OpenNebulaHelper.unit_to_str(datastore['TOTAL_MB'].to_i, {},'M')]
170
- puts str % ["FREE:", local ? '-' : OpenNebulaHelper.unit_to_str(datastore['FREE_MB'].to_i, {},'M')]
171
- puts str % ["USED: ", local ? '-' : OpenNebulaHelper.unit_to_str(datastore['USED_MB'].to_i, {},'M')]
172
- puts str % ["LIMIT:", local || limit_mb.nil? ? '-' : OpenNebulaHelper.unit_to_str(limit_mb.to_i, {},'M')]
169
+ puts format(str, 'TOTAL:',
170
+ local ? '-' : OpenNebulaHelper.unit_to_str(datastore['TOTAL_MB'].to_i, {}, 'M'))
171
+ puts format(str, 'FREE:',
172
+ local ? '-' : OpenNebulaHelper.unit_to_str(datastore['FREE_MB'].to_i, {}, 'M'))
173
+ puts format(str, 'USED: ',
174
+ local ? '-' : OpenNebulaHelper.unit_to_str(datastore['USED_MB'].to_i, {}, 'M'))
175
+ puts format(str, 'LIMIT:',
176
+ local || limit_mb.nil? ? '-' : OpenNebulaHelper.unit_to_str(
177
+ limit_mb.to_i, {}, 'M'
178
+ ))
173
179
  puts
174
180
 
175
- CLIHelper.print_header(str_h1 % "PERMISSIONS",false)
181
+ CLIHelper.print_header(str_h1 % 'PERMISSIONS', false)
176
182
 
177
- ["OWNER", "GROUP", "OTHER"].each { |e|
178
- mask = "---"
179
- mask[0] = "u" if datastore["PERMISSIONS/#{e}_U"] == "1"
180
- mask[1] = "m" if datastore["PERMISSIONS/#{e}_M"] == "1"
181
- mask[2] = "a" if datastore["PERMISSIONS/#{e}_A"] == "1"
183
+ ['OWNER', 'GROUP', 'OTHER'].each do |e|
184
+ mask = '---'
185
+ mask[0] = 'u' if datastore["PERMISSIONS/#{e}_U"] == '1'
186
+ mask[1] = 'm' if datastore["PERMISSIONS/#{e}_M"] == '1'
187
+ mask[2] = 'a' if datastore["PERMISSIONS/#{e}_A"] == '1'
182
188
 
183
- puts str % [e, mask]
184
- }
189
+ puts format(str, e, mask)
190
+ end
185
191
  puts
186
192
 
187
- CLIHelper.print_header(str_h1 % "DATASTORE TEMPLATE", false)
193
+ CLIHelper.print_header(str_h1 % 'DATASTORE TEMPLATE', false)
188
194
  puts datastore.template_str
189
195
 
190
196
  puts
191
197
 
192
- CLIHelper.print_header("%-15s" % "IMAGES")
198
+ CLIHelper.print_header(format('%-15s', 'IMAGES'))
193
199
  datastore.img_ids.each do |id|
194
- puts "%-15s" % [id]
200
+ puts format('%-15s', id)
195
201
  end
196
202
  end
203
+
197
204
  end