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.
- checksums.yaml +4 -4
- data/bin/onevm +1 -1
- data/lib/command_parser.rb +134 -125
- data/lib/load_opennebula_paths.rb +5 -0
- data/lib/ods_helper.rb +541 -0
- data/lib/one_helper/oneacct_helper.rb +116 -108
- data/lib/one_helper/onedatastore_helper.rb +86 -79
- data/lib/one_helper/onemarket_helper.rb +58 -57
- data/lib/one_helper/onequota_helper.rb +239 -189
- data/lib/one_helper/onesecgroup_helper.rb +86 -84
- data/lib/one_helper/onetemplate_helper.rb +63 -63
- data/lib/one_helper/onevdc_helper.rb +44 -44
- data/lib/one_helper/onevm_helper.rb +5 -7
- data/lib/one_helper/onevmgroup_helper.rb +64 -62
- data/lib/one_helper/onevntemplate_helper.rb +42 -39
- data/lib/one_helper/onevrouter_helper.rb +85 -86
- data/lib/one_helper/onezone_helper.rb +97 -100
- data/lib/one_helper.rb +88 -69
- data/share/schemas/xsd/acct.xsd +3 -104
- data/share/schemas/xsd/cluster.xsd +4 -21
- data/share/schemas/xsd/datastore.xsd +4 -29
- data/share/schemas/xsd/document.xsd +3 -25
- data/share/schemas/xsd/group.xsd +2 -14
- data/share/schemas/xsd/group_pool.xsd +2 -14
- data/share/schemas/xsd/hook.xsd +2 -0
- data/share/schemas/xsd/host.xsd +5 -7
- data/share/schemas/xsd/image.xsd +2 -25
- data/share/schemas/xsd/marketplace.xsd +3 -22
- data/share/schemas/xsd/marketplaceapp.xsd +3 -25
- data/share/schemas/xsd/opennebula_configuration.xsd +1 -0
- data/share/schemas/xsd/requirements.xsd +3 -21
- data/share/schemas/xsd/security_group.xsd +6 -43
- data/share/schemas/xsd/shared.xsd +3 -3
- data/share/schemas/xsd/vdc.xsd +2 -7
- data/share/schemas/xsd/vm_group.xsd +3 -25
- data/share/schemas/xsd/vm_pool.xsd +2 -0
- data/share/schemas/xsd/vmtemplate.xsd +3 -25
- data/share/schemas/xsd/vnet.xsd +9 -67
- data/share/schemas/xsd/vnet_pool.xsd +8 -57
- data/share/schemas/xsd/vntemplate.xsd +3 -25
- data/share/schemas/xsd/vrouter.xsd +4 -32
- metadata +6 -4
|
@@ -18,24 +18,26 @@ require 'one_helper'
|
|
|
18
18
|
require 'opennebula/marketplace'
|
|
19
19
|
require 'opennebula/marketplace_pool'
|
|
20
20
|
|
|
21
|
+
# Helper class for Marketplace commands
|
|
21
22
|
class OneMarketPlaceHelper < OpenNebulaHelper::OneHelper
|
|
23
|
+
|
|
22
24
|
MARKETPLACE = {
|
|
23
|
-
:name =>
|
|
24
|
-
:short =>
|
|
25
|
-
:large =>
|
|
26
|
-
:description =>
|
|
25
|
+
:name => 'marketplace',
|
|
26
|
+
:short => '-m id|name',
|
|
27
|
+
:large => '--marketplace id|name',
|
|
28
|
+
:description => 'Selects the marketplace',
|
|
27
29
|
:format => String,
|
|
28
|
-
:proc => lambda {
|
|
29
|
-
OpenNebulaHelper.rname_to_id(o,
|
|
30
|
+
:proc => lambda {|o, _options|
|
|
31
|
+
OpenNebulaHelper.rname_to_id(o, 'MARKETPLACE')
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
def self.rname
|
|
34
|
-
|
|
36
|
+
'MARKETPLACE'
|
|
35
37
|
end
|
|
36
38
|
|
|
37
39
|
def self.conf_file
|
|
38
|
-
|
|
40
|
+
'onemarket.yaml'
|
|
39
41
|
end
|
|
40
42
|
|
|
41
43
|
def self.state_to_str(id)
|
|
@@ -47,51 +49,51 @@ class OneMarketPlaceHelper < OpenNebulaHelper::OneHelper
|
|
|
47
49
|
def format_pool(options)
|
|
48
50
|
config_file = self.class.table_conf
|
|
49
51
|
|
|
50
|
-
|
|
51
|
-
column :ID,
|
|
52
|
-
d[
|
|
52
|
+
CLIHelper::ShowTable.new(config_file, self) do
|
|
53
|
+
column :ID, 'ONE identifier for the Marketplace', :size=>4 do |d|
|
|
54
|
+
d['ID']
|
|
53
55
|
end
|
|
54
56
|
|
|
55
|
-
column :USER,
|
|
56
|
-
|
|
57
|
+
column :USER, 'Username of the Marketplace owner', :left,
|
|
58
|
+
:size=>10 do |d|
|
|
57
59
|
helper.user_name(d, options)
|
|
58
60
|
end
|
|
59
61
|
|
|
60
|
-
column :GROUP,
|
|
61
|
-
|
|
62
|
+
column :GROUP, 'Group of the Marketplace', :left,
|
|
63
|
+
:size=>10 do |d|
|
|
62
64
|
helper.group_name(d, options)
|
|
63
65
|
end
|
|
64
66
|
|
|
65
|
-
column :NAME,
|
|
66
|
-
d[
|
|
67
|
+
column :NAME, 'Name of the Marketplace', :left, :size=>30 do |d|
|
|
68
|
+
d['NAME']
|
|
67
69
|
end
|
|
68
70
|
|
|
69
|
-
column :SIZE,
|
|
71
|
+
column :SIZE, 'Marketplace total size', :size =>10 do |d|
|
|
70
72
|
OpenNebulaHelper.unit_to_str(d['TOTAL_MB'].to_i, {}, 'M')
|
|
71
73
|
end
|
|
72
74
|
|
|
73
|
-
column :AVAIL,
|
|
75
|
+
column :AVAIL, 'Marketplace free size', :left, :size =>10 do |d|
|
|
74
76
|
if d['TOTAL_MB'].to_i == 0
|
|
75
|
-
|
|
77
|
+
'-'
|
|
76
78
|
else
|
|
77
|
-
"#{((d['FREE_MB'].to_f/d['TOTAL_MB'].to_f) * 100).round
|
|
79
|
+
"#{((d['FREE_MB'].to_f/d['TOTAL_MB'].to_f) * 100).round}%"
|
|
78
80
|
end
|
|
79
81
|
end
|
|
80
82
|
|
|
81
|
-
column :APPS,
|
|
82
|
-
if d[
|
|
83
|
-
|
|
83
|
+
column :APPS, 'Number of marketplace apps', :size=>6 do |d|
|
|
84
|
+
if d['MARKETPLACEAPPS']['ID'].nil?
|
|
85
|
+
'0'
|
|
84
86
|
else
|
|
85
|
-
[d[
|
|
87
|
+
[d['MARKETPLACEAPPS']['ID']].flatten.size
|
|
86
88
|
end
|
|
87
89
|
end
|
|
88
90
|
|
|
89
|
-
column :MAD,
|
|
90
|
-
d[
|
|
91
|
+
column :MAD, 'Marketplace driver', :left, :size=>7 do |d|
|
|
92
|
+
d['MARKET_MAD']
|
|
91
93
|
end
|
|
92
94
|
|
|
93
|
-
column :ZONE,
|
|
94
|
-
d[
|
|
95
|
+
column :ZONE, 'Zone ID', :size=>4 do |d|
|
|
96
|
+
d['ZONE_ID']
|
|
95
97
|
end
|
|
96
98
|
|
|
97
99
|
column :STAT, 'Markeplace status', :left, :size => 4 do |d|
|
|
@@ -100,13 +102,11 @@ class OneMarketPlaceHelper < OpenNebulaHelper::OneHelper
|
|
|
100
102
|
|
|
101
103
|
default :ID, :NAME, :SIZE, :AVAIL, :APPS, :MAD, :ZONE, :STAT
|
|
102
104
|
end
|
|
103
|
-
|
|
104
|
-
table
|
|
105
105
|
end
|
|
106
106
|
|
|
107
107
|
private
|
|
108
108
|
|
|
109
|
-
def factory(id=nil)
|
|
109
|
+
def factory(id = nil)
|
|
110
110
|
if id
|
|
111
111
|
OpenNebula::MarketPlace.new_with_id(id, @client)
|
|
112
112
|
else
|
|
@@ -115,51 +115,52 @@ class OneMarketPlaceHelper < OpenNebulaHelper::OneHelper
|
|
|
115
115
|
end
|
|
116
116
|
end
|
|
117
117
|
|
|
118
|
-
def factory_pool(
|
|
118
|
+
def factory_pool(_user_flag = -2)
|
|
119
119
|
OpenNebula::MarketPlacePool.new(@client)
|
|
120
120
|
end
|
|
121
121
|
|
|
122
|
-
def format_resource(market,
|
|
123
|
-
str=
|
|
124
|
-
str_h1=
|
|
122
|
+
def format_resource(market, _options = {})
|
|
123
|
+
str='%-15s: %-20s'
|
|
124
|
+
str_h1='%-80s'
|
|
125
125
|
|
|
126
126
|
CLIHelper.print_header(str_h1 % "MARKETPLACE #{market['ID']} INFORMATION")
|
|
127
|
-
puts str
|
|
128
|
-
puts str
|
|
129
|
-
puts str
|
|
130
|
-
puts str
|
|
131
|
-
puts str
|
|
127
|
+
puts format(str, 'ID', market.id.to_s)
|
|
128
|
+
puts format(str, 'NAME', market.name)
|
|
129
|
+
puts format(str, 'USER', market['UNAME'])
|
|
130
|
+
puts format(str, 'GROUP', market['GNAME'])
|
|
131
|
+
puts format(str, 'STATE', market.state_str)
|
|
132
132
|
|
|
133
|
-
puts str
|
|
133
|
+
puts format(str, 'MARKET_MAD', market['MARKET_MAD'])
|
|
134
134
|
puts
|
|
135
135
|
|
|
136
|
-
CLIHelper.print_header(str_h1 %
|
|
136
|
+
CLIHelper.print_header(str_h1 % 'MARKETPLACE CAPACITY', false)
|
|
137
137
|
|
|
138
|
-
puts str
|
|
139
|
-
puts str
|
|
140
|
-
puts str
|
|
138
|
+
puts format(str, 'TOTAL:', OpenNebulaHelper.unit_to_str(market['TOTAL_MB'].to_i, {}, 'M'))
|
|
139
|
+
puts format(str, 'FREE:', OpenNebulaHelper.unit_to_str(market['FREE_MB'].to_i, {}, 'M'))
|
|
140
|
+
puts format(str, 'USED: ', OpenNebulaHelper.unit_to_str(market['USED_MB'].to_i, {}, 'M'))
|
|
141
141
|
puts
|
|
142
142
|
|
|
143
|
-
CLIHelper.print_header(str_h1 %
|
|
143
|
+
CLIHelper.print_header(str_h1 % 'PERMISSIONS', false)
|
|
144
144
|
|
|
145
|
-
[
|
|
146
|
-
mask =
|
|
147
|
-
mask[0] =
|
|
148
|
-
mask[1] =
|
|
149
|
-
mask[2] =
|
|
145
|
+
['OWNER', 'GROUP', 'OTHER'].each do |e|
|
|
146
|
+
mask = '---'
|
|
147
|
+
mask[0] = 'u' if market["PERMISSIONS/#{e}_U"] == '1'
|
|
148
|
+
mask[1] = 'm' if market["PERMISSIONS/#{e}_M"] == '1'
|
|
149
|
+
mask[2] = 'a' if market["PERMISSIONS/#{e}_A"] == '1'
|
|
150
150
|
|
|
151
|
-
puts str
|
|
152
|
-
|
|
151
|
+
puts format(str, e, mask)
|
|
152
|
+
end
|
|
153
153
|
puts
|
|
154
154
|
|
|
155
|
-
CLIHelper.print_header(str_h1 %
|
|
155
|
+
CLIHelper.print_header(str_h1 % 'MARKETPLACE TEMPLATE', false)
|
|
156
156
|
puts market.template_str
|
|
157
157
|
|
|
158
158
|
puts
|
|
159
159
|
|
|
160
|
-
CLIHelper.print_header(
|
|
160
|
+
CLIHelper.print_header(format('%-15s', 'MARKETAPPS'))
|
|
161
161
|
market.marketapp_ids.each do |id|
|
|
162
|
-
puts
|
|
162
|
+
puts format('%-15s', id)
|
|
163
163
|
end
|
|
164
164
|
end
|
|
165
|
+
|
|
165
166
|
end
|