opennebula-cli 4.14.2 → 4.90.0.beta1
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/NOTICE +1 -1
- data/bin/oneacct +1 -1
- data/bin/oneacl +1 -1
- data/bin/onecluster +4 -1
- data/bin/onedatastore +4 -1
- data/bin/oneflow +26 -1
- data/bin/oneflow-template +57 -1
- data/bin/onegroup +4 -1
- data/bin/onehost +24 -15
- data/bin/oneimage +5 -3
- data/bin/onemarket +178 -0
- data/bin/onemarketapp +282 -0
- data/bin/onesecgroup +18 -1
- data/bin/oneshowback +1 -1
- data/bin/onetemplate +30 -21
- data/bin/oneuser +12 -6
- data/bin/oneuser.backup +522 -0
- data/bin/onevcenter +287 -1
- data/bin/onevdc +4 -1
- data/bin/onevm +78 -56
- data/bin/onevnet +10 -4
- data/bin/onevrouter +305 -0
- data/bin/onezone +4 -1
- data/lib/cli_helper.rb +1 -1
- data/lib/command_parser.rb +1 -1
- data/lib/one_helper/oneacct_helper.rb +1 -1
- data/lib/one_helper/oneacl_helper.rb +11 -5
- data/lib/one_helper/onecluster_helper.rb +1 -1
- data/lib/one_helper/onedatastore_helper.rb +17 -7
- data/lib/one_helper/onegroup_helper.rb +1 -1
- data/lib/one_helper/onehost_helper.rb +2 -5
- data/lib/one_helper/oneimage_helper.rb +1 -15
- data/lib/one_helper/onemarket_helper.rb +152 -0
- data/lib/one_helper/onemarketapp_helper.rb +223 -0
- data/lib/one_helper/onequota_helper.rb +1 -1
- data/lib/one_helper/onesecgroup_helper.rb +46 -3
- data/lib/one_helper/onetemplate_helper.rb +146 -11
- data/lib/one_helper/oneuser_helper.rb +1 -1
- data/lib/one_helper/onevdc_helper.rb +1 -1
- data/lib/one_helper/onevm_helper.rb +37 -53
- data/lib/one_helper/onevnet_helper.rb +23 -11
- data/lib/one_helper/onevrouter_helper.rb +221 -0
- data/lib/one_helper/onezone_helper.rb +1 -1
- data/lib/one_helper.rb +193 -25
- metadata +21 -10
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2016, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -84,6 +84,14 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
84
84
|
}
|
85
85
|
}
|
86
86
|
|
87
|
+
IP={
|
88
|
+
:name => "ip",
|
89
|
+
:short => "-i ip",
|
90
|
+
:large => "--ip ip",
|
91
|
+
:format => String,
|
92
|
+
:description => "IP address for the new NIC"
|
93
|
+
}
|
94
|
+
|
87
95
|
FILE = {
|
88
96
|
:name => "file",
|
89
97
|
:short => "-f file",
|
@@ -131,12 +139,6 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
131
139
|
:description=> "Does not communicate with the guest OS"
|
132
140
|
}
|
133
141
|
|
134
|
-
RECREATE = {
|
135
|
-
:name => "recreate",
|
136
|
-
:large => "--recreate",
|
137
|
-
:description=> "Resubmits a fresh VM"
|
138
|
-
}
|
139
|
-
|
140
142
|
def self.rname
|
141
143
|
"VM"
|
142
144
|
end
|
@@ -170,16 +172,11 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
170
172
|
end
|
171
173
|
|
172
174
|
vm_nics.each do |nic|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
ips.push(nic["IP6_GLOBAL"])
|
179
|
-
end
|
180
|
-
|
181
|
-
if nic.has_key?("IP6_ULA")
|
182
|
-
ips.push(nic["IP6_ULA"])
|
175
|
+
["IP", "IP6_GLOBAL", "IP6_ULA",
|
176
|
+
"VROUTER_IP", "VROUTER_IP6_GLOBAL", "VROUTER_IP6_ULA"].each do |attr|
|
177
|
+
if nic.has_key?(attr)
|
178
|
+
ips.push(nic[attr])
|
179
|
+
end
|
183
180
|
end
|
184
181
|
end
|
185
182
|
|
@@ -333,6 +330,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
333
330
|
:PROLOG_MIGRATE_FAILURE => :migrate,
|
334
331
|
:PROLOG_MIGRATE_POWEROFF_FAILURE => :migrate,
|
335
332
|
:PROLOG_MIGRATE_SUSPEND_FAILURE => :migrate,
|
333
|
+
:PROLOG_MIGRATE_UNKNOWN_FAILURE => :migrate,
|
336
334
|
:PROLOG_FAILURE => :prolog,
|
337
335
|
:PROLOG_RESUME_FAILURE => :resume,
|
338
336
|
:PROLOG_UNDEPLOY_FAILURE => :resume,
|
@@ -517,6 +515,8 @@ in the frontend machine.
|
|
517
515
|
OpenNebulaHelper.time_to_str(vm['/VM/ETIME'])]
|
518
516
|
value=vm['DEPLOY_ID']
|
519
517
|
puts str % ["DEPLOY ID", value=="" ? "-" : value]
|
518
|
+
value=vm['TEMPLATE/VROUTER_ID']
|
519
|
+
puts str % ["VIRTUAL ROUTER ID", value] if value
|
520
520
|
|
521
521
|
puts
|
522
522
|
|
@@ -724,7 +724,6 @@ in the frontend machine.
|
|
724
724
|
nic_default = {"NETWORK" => "-",
|
725
725
|
"IP" => "-",
|
726
726
|
"MAC"=> "-",
|
727
|
-
"VLAN"=>"no",
|
728
727
|
"BRIDGE"=>"-"}
|
729
728
|
|
730
729
|
shown_ips = []
|
@@ -735,37 +734,31 @@ in the frontend machine.
|
|
735
734
|
|
736
735
|
next if nic.has_key?("CLI_DONE")
|
737
736
|
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
ip6_link = {"IP" => nic.delete("IP6_LINK"),
|
742
|
-
"CLI_DONE" => true,
|
743
|
-
"DOUBLE_ENTRY" => true}
|
744
|
-
vm_nics.insert(array_id+1,ip6_link)
|
737
|
+
["IP6_LINK", "IP6_ULA", "IP6_GLOBAL"].each do |attr|
|
738
|
+
if nic.has_key?(attr)
|
739
|
+
shown_ips << nic[attr]
|
745
740
|
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
shown_ips << nic["IP6_ULA"]
|
751
|
-
|
752
|
-
ip6_link = {"IP" => nic.delete("IP6_ULA"),
|
753
|
-
"CLI_DONE" => true,
|
754
|
-
"DOUBLE_ENTRY" => true}
|
755
|
-
vm_nics.insert(array_id+1,ip6_link)
|
741
|
+
ipstr = {"IP" => nic.delete(attr),
|
742
|
+
"CLI_DONE" => true,
|
743
|
+
"DOUBLE_ENTRY" => true}
|
744
|
+
vm_nics.insert(array_id+1,ipstr)
|
756
745
|
|
757
|
-
|
746
|
+
array_id += 1
|
747
|
+
end
|
758
748
|
end
|
759
749
|
|
760
|
-
|
761
|
-
|
750
|
+
["VROUTER_IP", "VROUTER_IP6_LINK",
|
751
|
+
"VROUTER_IP6_ULA", "VROUTER_IP6_GLOBAL"].each do |attr|
|
752
|
+
if nic.has_key?(attr)
|
753
|
+
shown_ips << nic[attr]
|
762
754
|
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
755
|
+
ipstr = {"IP" => nic.delete(attr) + " (VRouter)",
|
756
|
+
"CLI_DONE" => true,
|
757
|
+
"DOUBLE_ENTRY" => true}
|
758
|
+
vm_nics.insert(array_id+1,ipstr)
|
767
759
|
|
768
|
-
|
760
|
+
array_id += 1
|
761
|
+
end
|
769
762
|
end
|
770
763
|
|
771
764
|
shown_ips << nic["IP"] if nic.has_key?("IP")
|
@@ -782,8 +775,7 @@ in the frontend machine.
|
|
782
775
|
"NIC_ID" => "-",
|
783
776
|
"IP" => ip,
|
784
777
|
"NETWORK" => "Additional IP",
|
785
|
-
"BRIDGE" => "-"
|
786
|
-
"VLAN" => "-"
|
778
|
+
"BRIDGE" => "-"
|
787
779
|
}
|
788
780
|
end
|
789
781
|
|
@@ -804,14 +796,6 @@ in the frontend machine.
|
|
804
796
|
end
|
805
797
|
end
|
806
798
|
|
807
|
-
column :VLAN, "", :size=>4 do |d|
|
808
|
-
if d["DOUBLE_ENTRY"]
|
809
|
-
""
|
810
|
-
else
|
811
|
-
d["VLAN"].downcase
|
812
|
-
end
|
813
|
-
end
|
814
|
-
|
815
799
|
column :BRIDGE, "", :left, :size=>12 do |d|
|
816
800
|
if d["DOUBLE_ENTRY"]
|
817
801
|
""
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2016, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -102,10 +102,11 @@ class OneVNetHelper < OpenNebulaHelper::OneHelper
|
|
102
102
|
:description=> "Netmask in dot notation"
|
103
103
|
]
|
104
104
|
|
105
|
-
|
106
|
-
:name => "
|
107
|
-
:large => "--
|
108
|
-
:
|
105
|
+
VN_MAD = [
|
106
|
+
:name => "vn_mad",
|
107
|
+
:large => "--vn_mad mad",
|
108
|
+
:format => String,
|
109
|
+
:description=> "Use this driver for the network"
|
109
110
|
]
|
110
111
|
|
111
112
|
VLAN_ID = [
|
@@ -116,7 +117,7 @@ class OneVNetHelper < OpenNebulaHelper::OneHelper
|
|
116
117
|
]
|
117
118
|
|
118
119
|
ADDAR_OPTIONS = [
|
119
|
-
SIZE, MAC, IP, IP6_GLOBAL, IP6_ULA, GATEWAY, NETMASK,
|
120
|
+
SIZE, MAC, IP, IP6_GLOBAL, IP6_ULA, GATEWAY, NETMASK, VN_MAD, VLAN_ID ]
|
120
121
|
|
121
122
|
def self.rname
|
122
123
|
"VNET"
|
@@ -149,8 +150,8 @@ class OneVNetHelper < OpenNebulaHelper::OneHelper
|
|
149
150
|
d["NAME"]
|
150
151
|
end
|
151
152
|
|
152
|
-
column :
|
153
|
-
OpenNebulaHelper.
|
153
|
+
column :CLUSTERS, "Cluster IDs", :left, :size=>10 do |d|
|
154
|
+
OpenNebulaHelper.clusters_str(d["CLUSTERS"]["ID"])
|
154
155
|
end
|
155
156
|
|
156
157
|
column :BRIDGE, "Bridge associated to the Virtual Network", :left,
|
@@ -163,7 +164,7 @@ class OneVNetHelper < OpenNebulaHelper::OneHelper
|
|
163
164
|
d["USED_LEASES"]
|
164
165
|
end
|
165
166
|
|
166
|
-
default :ID, :USER, :GROUP, :NAME, :
|
167
|
+
default :ID, :USER, :GROUP, :NAME, :CLUSTERS, :BRIDGE, :LEASES
|
167
168
|
end
|
168
169
|
|
169
170
|
table
|
@@ -209,9 +210,10 @@ class OneVNetHelper < OpenNebulaHelper::OneHelper
|
|
209
210
|
puts str % ["NAME", vn['NAME']]
|
210
211
|
puts str % ["USER", vn['UNAME']]
|
211
212
|
puts str % ["GROUP", vn['GNAME']]
|
212
|
-
puts str % ["
|
213
|
+
puts str % ["CLUSTERS",
|
214
|
+
OpenNebulaHelper.clusters_str(vn.retrieve_elements("CLUSTERS/ID"))]
|
213
215
|
puts str % ["BRIDGE", vn["BRIDGE"]]
|
214
|
-
puts str % ["
|
216
|
+
puts str % ["VN_MAD", vn['VN_MAD']] if !vn['VN_MAD'].empty?
|
215
217
|
puts str % ["PHYSICAL DEVICE", vn["PHYDEV"]] if !vn["PHYDEV"].empty?
|
216
218
|
puts str % ["VLAN ID", vn["VLAN_ID"]] if !vn["VLAN_ID"].empty?
|
217
219
|
puts str % ["USED LEASES", vn['USED_LEASES']]
|
@@ -251,6 +253,7 @@ class OneVNetHelper < OpenNebulaHelper::OneHelper
|
|
251
253
|
str="%-15s: %-20s"
|
252
254
|
puts str % ["SIZE", ar["SIZE"]]
|
253
255
|
puts str % ["LEASES", ar["USED_LEASES"]]
|
256
|
+
puts str % ["VN_MAD", ar["VN_MAD"]] if ar["VN_MAD"]
|
254
257
|
puts
|
255
258
|
|
256
259
|
format = "%-10s %34s %34s"
|
@@ -308,6 +311,8 @@ class OneVNetHelper < OpenNebulaHelper::OneHelper
|
|
308
311
|
"V:#{d['VM']}"
|
309
312
|
elsif d['VNET']
|
310
313
|
"N:#{d['VNET']}"
|
314
|
+
elsif d['VROUTER']
|
315
|
+
"R:#{d['VROUTER']}"
|
311
316
|
end
|
312
317
|
end
|
313
318
|
|
@@ -324,6 +329,13 @@ class OneVNetHelper < OpenNebulaHelper::OneHelper
|
|
324
329
|
end
|
325
330
|
end.show(leases, {})
|
326
331
|
|
332
|
+
puts
|
333
|
+
|
334
|
+
CLIHelper.print_header("%-15s" % "VIRTUAL ROUTERS")
|
335
|
+
vn.vrouter_ids.each do |id|
|
336
|
+
puts "%-15s" % [id]
|
337
|
+
end
|
338
|
+
|
327
339
|
if options[:show_ar]
|
328
340
|
ar_list.each do |ar_id|
|
329
341
|
puts
|
@@ -0,0 +1,221 @@
|
|
1
|
+
# -------------------------------------------------------------------------- #
|
2
|
+
# Copyright 2002-2016, OpenNebula Project, OpenNebula Systems #
|
3
|
+
# #
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
|
+
# not use this file except in compliance with the License. You may obtain #
|
6
|
+
# a copy of the License at #
|
7
|
+
# #
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0 #
|
9
|
+
# #
|
10
|
+
# Unless required by applicable law or agreed to in writing, software #
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS, #
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
13
|
+
# See the License for the specific language governing permissions and #
|
14
|
+
# limitations under the License. #
|
15
|
+
#--------------------------------------------------------------------------- #
|
16
|
+
|
17
|
+
require 'one_helper'
|
18
|
+
|
19
|
+
class OneVirtualRouterHelper < OpenNebulaHelper::OneHelper
|
20
|
+
|
21
|
+
ALL_TEMPLATE = {
|
22
|
+
:name => "all",
|
23
|
+
:large => "--all",
|
24
|
+
:description => "Show all template data"
|
25
|
+
}
|
26
|
+
|
27
|
+
def self.rname
|
28
|
+
"VROUTER"
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.conf_file
|
32
|
+
"onevrouter.yaml"
|
33
|
+
end
|
34
|
+
|
35
|
+
def show_resource(id, options)
|
36
|
+
resource = retrieve_resource(id)
|
37
|
+
|
38
|
+
if !options[:extended].nil?
|
39
|
+
rc = resource.info(options[:extended])
|
40
|
+
else
|
41
|
+
rc = resource.info
|
42
|
+
end
|
43
|
+
|
44
|
+
return -1, rc.message if OpenNebula.is_error?(rc)
|
45
|
+
|
46
|
+
if options[:xml]
|
47
|
+
return 0, resource.to_xml(true)
|
48
|
+
else
|
49
|
+
format_resource(resource, options)
|
50
|
+
return 0
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def format_pool(options)
|
55
|
+
config_file = self.class.table_conf
|
56
|
+
|
57
|
+
table = CLIHelper::ShowTable.new(config_file, self) do
|
58
|
+
column :ID, "ONE identifier for the Virtual Router", :size=>4 do |d|
|
59
|
+
d["ID"]
|
60
|
+
end
|
61
|
+
|
62
|
+
column :NAME, "Name of the Virtual Router", :left, :size=>27 do |d|
|
63
|
+
d["NAME"]
|
64
|
+
end
|
65
|
+
|
66
|
+
column :USER, "Username of the Virtual Router owner", :left,
|
67
|
+
:size=>15 do |d|
|
68
|
+
helper.user_name(d, options)
|
69
|
+
end
|
70
|
+
|
71
|
+
column :GROUP, "Group of the Virtual Router", :left, :size=>15 do |d|
|
72
|
+
helper.group_name(d, options)
|
73
|
+
end
|
74
|
+
|
75
|
+
default :ID, :USER, :GROUP, :NAME
|
76
|
+
end
|
77
|
+
|
78
|
+
table
|
79
|
+
end
|
80
|
+
|
81
|
+
private
|
82
|
+
|
83
|
+
def factory(id=nil)
|
84
|
+
if id
|
85
|
+
OpenNebula::VirtualRouter.new_with_id(id, @client)
|
86
|
+
else
|
87
|
+
xml=OpenNebula::VirtualRouter.build_xml
|
88
|
+
OpenNebula::VirtualRouter.new(xml, @client)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def factory_pool(user_flag=-2)
|
93
|
+
OpenNebula::VirtualRouterPool.new(@client, user_flag)
|
94
|
+
end
|
95
|
+
|
96
|
+
def format_resource(obj, options = {})
|
97
|
+
str="%-15s: %-20s"
|
98
|
+
str_h1="%-80s"
|
99
|
+
|
100
|
+
CLIHelper.print_header(
|
101
|
+
str_h1 % "VIRTUAL ROUTER #{obj['ID']} INFORMATION")
|
102
|
+
puts str % ["ID", obj.id.to_s]
|
103
|
+
puts str % ["NAME", obj.name]
|
104
|
+
puts str % ["USER", obj['UNAME']]
|
105
|
+
puts str % ["GROUP", obj['GNAME']]
|
106
|
+
puts
|
107
|
+
|
108
|
+
CLIHelper.print_header(str_h1 % "PERMISSIONS",false)
|
109
|
+
|
110
|
+
["OWNER", "GROUP", "OTHER"].each { |e|
|
111
|
+
mask = "---"
|
112
|
+
mask[0] = "u" if obj["PERMISSIONS/#{e}_U"] == "1"
|
113
|
+
mask[1] = "m" if obj["PERMISSIONS/#{e}_M"] == "1"
|
114
|
+
mask[2] = "a" if obj["PERMISSIONS/#{e}_A"] == "1"
|
115
|
+
|
116
|
+
puts str % [e, mask]
|
117
|
+
}
|
118
|
+
|
119
|
+
if obj.has_elements?("/VROUTER/TEMPLATE/NIC")
|
120
|
+
puts
|
121
|
+
CLIHelper.print_header(str_h1 % "VIRTUAL ROUTER NICS",false)
|
122
|
+
|
123
|
+
nic_default = {"NETWORK" => "-",
|
124
|
+
"IP" => "-"}
|
125
|
+
|
126
|
+
array_id = 0
|
127
|
+
vm_nics = [obj.to_hash['VROUTER']['TEMPLATE']['NIC']].flatten.compact
|
128
|
+
vm_nics.each {|nic|
|
129
|
+
|
130
|
+
next if nic.has_key?("CLI_DONE")
|
131
|
+
|
132
|
+
floating = (nic.has_key?("FLOATING_IP") && nic["FLOATING_IP"].upcase() == "YES" )
|
133
|
+
|
134
|
+
if floating
|
135
|
+
if nic.has_key?("IP6_LINK")
|
136
|
+
ip6_link = {"IP" => nic.delete("IP6_LINK"),
|
137
|
+
"CLI_DONE" => true,
|
138
|
+
"DOUBLE_ENTRY" => true}
|
139
|
+
vm_nics.insert(array_id+1,ip6_link)
|
140
|
+
|
141
|
+
array_id += 1
|
142
|
+
end
|
143
|
+
|
144
|
+
if nic.has_key?("IP6_ULA")
|
145
|
+
ip6_link = {"IP" => nic.delete("IP6_ULA"),
|
146
|
+
"CLI_DONE" => true,
|
147
|
+
"DOUBLE_ENTRY" => true}
|
148
|
+
vm_nics.insert(array_id+1,ip6_link)
|
149
|
+
|
150
|
+
array_id += 1
|
151
|
+
end
|
152
|
+
|
153
|
+
if nic.has_key?("IP6_GLOBAL")
|
154
|
+
ip6_link = {"IP" => nic.delete("IP6_GLOBAL"),
|
155
|
+
"CLI_DONE" => true,
|
156
|
+
"DOUBLE_ENTRY" => true}
|
157
|
+
vm_nics.insert(array_id+1,ip6_link)
|
158
|
+
|
159
|
+
array_id += 1
|
160
|
+
end
|
161
|
+
else
|
162
|
+
nic.delete("IP")
|
163
|
+
end
|
164
|
+
|
165
|
+
nic.merge!(nic_default) {|k,v1,v2| v1}
|
166
|
+
array_id += 1
|
167
|
+
}
|
168
|
+
|
169
|
+
CLIHelper::ShowTable.new(nil, self) do
|
170
|
+
column :ID, "", :size=>3 do |d|
|
171
|
+
if d["DOUBLE_ENTRY"]
|
172
|
+
""
|
173
|
+
else
|
174
|
+
d["NIC_ID"]
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
column :NETWORK, "", :left, :size=>20 do |d|
|
179
|
+
if d["DOUBLE_ENTRY"]
|
180
|
+
""
|
181
|
+
else
|
182
|
+
d["NETWORK"]
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
column :MANAGEMENT, "", :left, :size=>10 do |d|
|
187
|
+
if d["DOUBLE_ENTRY"]
|
188
|
+
""
|
189
|
+
else
|
190
|
+
if !d["VROUTER_MANAGEMENT"].nil?
|
191
|
+
d["VROUTER_MANAGEMENT"]
|
192
|
+
else
|
193
|
+
"NO"
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
198
|
+
|
199
|
+
column :IP, "",:left, :donottruncate, :size=>15 do |d|
|
200
|
+
d["IP"]
|
201
|
+
end
|
202
|
+
end.show(vm_nics,{})
|
203
|
+
end
|
204
|
+
|
205
|
+
while obj.has_elements?("/VROUTER/TEMPLATE/NIC")
|
206
|
+
obj.delete_element("/VROUTER/TEMPLATE/NIC")
|
207
|
+
end if !options[:all]
|
208
|
+
|
209
|
+
puts
|
210
|
+
|
211
|
+
CLIHelper.print_header(str_h1 % "TEMPLATE CONTENTS",false)
|
212
|
+
puts obj.template_str
|
213
|
+
|
214
|
+
puts
|
215
|
+
|
216
|
+
CLIHelper.print_header("%-15s" % "VIRTUAL MACHINES")
|
217
|
+
obj.vm_ids.each do |id|
|
218
|
+
puts "%-15s" % [id]
|
219
|
+
end
|
220
|
+
end
|
221
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2016, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|