opennebula-cli 6.10.2 → 6.10.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/onevm +19 -1
- data/lib/one_helper/onehost_helper.rb +4 -1
- data/lib/one_helper/onevm_helper.rb +23 -17
- data/lib/one_helper.rb +28 -26
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 457eac25c832b616aef506710eef840fe9bc1534749f1d2c2b3e1a1d925cb610
|
4
|
+
data.tar.gz: 48c7ef4904fa2fb666fde0a1d9f66a4cade853dec50d6496f755f946922ca7b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d072276b229f3f4526d64b3ae52ddd6dc9608f09ab708aff2f8489e46078f225c7cbcc994cac6d59b7bdfc569fa43504bc7bf824d5b74ea3af7e421286523b2
|
7
|
+
data.tar.gz: 205e8f6682eecfa14d3a45857e00b9d27ee18486d3956a566f4f151f4855ed658f17e76bba5ae86444664fb6bbe3ba97815a024755e338e62d7accf08ee97c42
|
data/bin/onevm
CHANGED
@@ -1140,6 +1140,24 @@ CommandParser::CmdParser.new(ARGV) do
|
|
1140
1140
|
end
|
1141
1141
|
end
|
1142
1142
|
|
1143
|
+
snapshot_list_desc = <<-EOT.unindent
|
1144
|
+
Lists the snapshots of a VM
|
1145
|
+
EOT
|
1146
|
+
|
1147
|
+
command :"snapshot-list", snapshot_list_desc, :vmid do
|
1148
|
+
vm = helper.retrieve_resource(args[0])
|
1149
|
+
vm.info
|
1150
|
+
|
1151
|
+
if vm.has_elements?('/VM/TEMPLATE/SNAPSHOT')
|
1152
|
+
CLIHelper.print_header('SNAPSHOTS'.ljust(80), false)
|
1153
|
+
|
1154
|
+
helper.format_template_snapshots(vm)
|
1155
|
+
else
|
1156
|
+
puts 'No snapshots available'
|
1157
|
+
end
|
1158
|
+
0
|
1159
|
+
end
|
1160
|
+
|
1143
1161
|
disk_snapshot_create_desc = <<-EOT.unindent
|
1144
1162
|
Takes a new snapshot of the given disk. This operation needs support
|
1145
1163
|
from the Datastore drivers: QCOW2 or Ceph.
|
@@ -1432,7 +1450,7 @@ CommandParser::CmdParser.new(ARGV) do
|
|
1432
1450
|
GRAPHICS = ["TYPE", "LISTEN", "PASSWD", "KEYMAP", "COMMAND"]
|
1433
1451
|
VIDEO = ["TYPE", "IOMMU", "ATS", "VRAM", "RESOLUTION"]
|
1434
1452
|
RAW = ["DATA", "DATA_VMX", "TYPE", "VALIDATE"]
|
1435
|
-
CPU_MODEL = ["MODEL"]
|
1453
|
+
CPU_MODEL = ["MODEL", "FEATURES"]
|
1436
1454
|
BACKUP_CONFIG = ["FS_FREEZE", "KEEP_LAST", "BACKUP_VOLATILE", "MODE", "INCREMENT_MODE"]
|
1437
1455
|
CONTEXT (any value, except ETH*, **variable substitution will be made**)
|
1438
1456
|
EOT
|
@@ -799,9 +799,12 @@ class OneHostHelper < OpenNebulaHelper::OneHelper
|
|
799
799
|
node['MEMORY']['FREE'] = mon_node['MEMORY']['FREE']
|
800
800
|
node['MEMORY']['USED'] = mon_node['MEMORY']['USED']
|
801
801
|
|
802
|
+
node['HUGEPAGE'] = [node['HUGEPAGE']].flatten.compact
|
803
|
+
mon_node['HUGEPAGE'] = [mon_node['HUGEPAGE']].flatten.compact
|
804
|
+
|
802
805
|
node['HUGEPAGE'].each do |hp|
|
803
806
|
mon_hp = mon_node['HUGEPAGE'].find {|x| x['SIZE'] == hp['SIZE'] }
|
804
|
-
hp['FREE'] = mon_hp['FREE']
|
807
|
+
hp['FREE'] = mon_hp['FREE'] unless mon_hp.nil?
|
805
808
|
end
|
806
809
|
end
|
807
810
|
end
|
@@ -1192,23 +1192,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
1192
1192
|
puts
|
1193
1193
|
CLIHelper.print_header(str_h1 % 'SNAPSHOTS', false)
|
1194
1194
|
|
1195
|
-
|
1196
|
-
column :ID, '', :size => 4 do |d|
|
1197
|
-
d['SNAPSHOT_ID'] unless d.nil?
|
1198
|
-
end
|
1199
|
-
|
1200
|
-
column :TIME, '', :size => 12 do |d|
|
1201
|
-
OpenNebulaHelper.time_to_str(d['TIME'], false) unless d.nil?
|
1202
|
-
end
|
1203
|
-
|
1204
|
-
column :NAME, '', :left, :size => 46 do |d|
|
1205
|
-
d['NAME'] unless d.nil?
|
1206
|
-
end
|
1207
|
-
|
1208
|
-
column :HYPERVISOR_ID, '', :left, :size => 15 do |d|
|
1209
|
-
d['HYPERVISOR_ID'] unless d.nil?
|
1210
|
-
end
|
1211
|
-
end.show([vm_hash['VM']['TEMPLATE']['SNAPSHOT']].flatten, {})
|
1195
|
+
format_template_snapshots(vm)
|
1212
1196
|
|
1213
1197
|
vm.delete_element('/VM/TEMPLATE/SNAPSHOT')
|
1214
1198
|
end
|
@@ -1501,6 +1485,28 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
|
1501
1485
|
table.show(snapshots)
|
1502
1486
|
end
|
1503
1487
|
|
1488
|
+
def format_template_snapshots(vm)
|
1489
|
+
table = CLIHelper::ShowTable.new(nil, self) do
|
1490
|
+
column :ID, '', :size => 4 do |d|
|
1491
|
+
d['SNAPSHOT_ID'] unless d.nil?
|
1492
|
+
end
|
1493
|
+
|
1494
|
+
column :TIME, '', :size => 12 do |d|
|
1495
|
+
OpenNebulaHelper.time_to_str(d['TIME'], false) unless d.nil?
|
1496
|
+
end
|
1497
|
+
|
1498
|
+
column :NAME, '', :left, :size => 46 do |d|
|
1499
|
+
d['NAME'] unless d.nil?
|
1500
|
+
end
|
1501
|
+
|
1502
|
+
column :HYPERVISOR_ID, '', :left, :size => 15 do |d|
|
1503
|
+
d['HYPERVISOR_ID'] unless d.nil?
|
1504
|
+
end
|
1505
|
+
end
|
1506
|
+
vm_hash = vm.to_hash
|
1507
|
+
table.show([vm_hash['VM']['TEMPLATE']['SNAPSHOT']].flatten, {})
|
1508
|
+
end
|
1509
|
+
|
1504
1510
|
end
|
1505
1511
|
|
1506
1512
|
# rubocop:enable Naming/UncommunicativeMethodParamName
|
data/lib/one_helper.rb
CHANGED
@@ -1860,15 +1860,13 @@ Bash symbols must be escaped on STDIN passing'
|
|
1860
1860
|
[0, template]
|
1861
1861
|
end
|
1862
1862
|
|
1863
|
-
def self.
|
1863
|
+
def self.create_context_str(options, context_hash)
|
1864
1864
|
context_options = [:ssh, :net_context, :context, :init, :files_ds, :startscript,
|
1865
1865
|
:report_ready]
|
1866
1866
|
if !(options.keys & context_options).empty?
|
1867
|
-
lines=[]
|
1868
|
-
|
1869
1867
|
if options[:ssh]
|
1870
1868
|
if options[:ssh]==true
|
1871
|
-
|
1869
|
+
context_hash['SSH_PUBLIC_KEY'] = "$USER[SSH_PUBLIC_KEY]"
|
1872
1870
|
else
|
1873
1871
|
begin
|
1874
1872
|
key=File.read(options[:ssh]).strip
|
@@ -1876,30 +1874,24 @@ Bash symbols must be escaped on STDIN passing'
|
|
1876
1874
|
STDERR.puts e.message
|
1877
1875
|
exit(-1)
|
1878
1876
|
end
|
1879
|
-
|
1877
|
+
context_hash['SSH_PUBLIC_KEY'] = key
|
1880
1878
|
end
|
1881
1879
|
end
|
1882
|
-
|
1880
|
+
|
1883
1881
|
if options[:net_context]
|
1884
|
-
|
1882
|
+
context_hash['NETWORK'] = "YES"
|
1885
1883
|
end
|
1886
1884
|
|
1887
|
-
lines+=options[:context] if options[:context]
|
1888
|
-
|
1889
1885
|
if options[:files_ds]
|
1890
|
-
|
1891
|
-
text << options[:files_ds].map do |file|
|
1892
|
-
%($FILE[IMAGE=\\"#{file}\\"])
|
1893
|
-
end.join(' ')
|
1894
|
-
text << '"'
|
1886
|
+
files = options[:files_ds].map { |file| %($FILE[IMAGE=\\"#{file}\\"]) }.join(" ")
|
1895
1887
|
|
1896
|
-
|
1888
|
+
context_hash['FILES_DS'] = files
|
1897
1889
|
end
|
1898
|
-
|
1890
|
+
|
1899
1891
|
if options[:init]
|
1900
|
-
|
1892
|
+
context_hash['INIT_SCRIPTS'] = options[:init].join(" ")
|
1901
1893
|
end
|
1902
|
-
|
1894
|
+
|
1903
1895
|
if options[:startscript]
|
1904
1896
|
script = nil
|
1905
1897
|
begin
|
@@ -1909,15 +1901,23 @@ Bash symbols must be escaped on STDIN passing'
|
|
1909
1901
|
exit(-1)
|
1910
1902
|
end
|
1911
1903
|
script = Base64.strict_encode64(script)
|
1912
|
-
|
1904
|
+
context_hash['START_SCRIPT_BASE64'] = script
|
1905
|
+
|
1913
1906
|
end
|
1914
1907
|
|
1915
1908
|
if options[:report_ready]
|
1916
|
-
|
1909
|
+
context_hash['REPORT_READY'] = "YES"
|
1917
1910
|
end
|
1918
1911
|
|
1919
|
-
if
|
1920
|
-
"CONTEXT=[\n"
|
1912
|
+
if context_hash.any? || options[:context]
|
1913
|
+
formatted_context = "CONTEXT=[\n"
|
1914
|
+
formatted_context << options[:context].map {|l| ' ' << l }.join(",\n") if options[:context]
|
1915
|
+
if context_hash.any?
|
1916
|
+
formatted_context << ",\n" if options[:context]
|
1917
|
+
formatted_context << context_hash.map { |k, v| " #{k}=\"#{v}\"" }.join(",\n")
|
1918
|
+
end
|
1919
|
+
formatted_context << "\n]\n"
|
1920
|
+
formatted_context
|
1921
1921
|
else
|
1922
1922
|
nil
|
1923
1923
|
end
|
@@ -1999,10 +1999,12 @@ Bash symbols must be escaped on STDIN passing'
|
|
1999
1999
|
end
|
2000
2000
|
|
2001
2001
|
template<<"VCENTER_VM_FOLDER=#{options[:vcenter_vm_folder]}\n" if options[:vcenter_vm_folder]
|
2002
|
-
|
2003
|
-
|
2004
|
-
|
2005
|
-
|
2002
|
+
context_hash = {}
|
2003
|
+
if !template_obj.nil? && template_obj.has_elements?('TEMPLATE/CONTEXT')
|
2004
|
+
context_hash = template_obj.to_hash["VMTEMPLATE"]["TEMPLATE"]["CONTEXT"]
|
2005
|
+
end
|
2006
|
+
context_str=create_context_str(options, context_hash)
|
2007
|
+
template<<context_str if context_str
|
2006
2008
|
if options[:userdata] && !template_obj.nil? && template_obj.has_elements?('TEMPLATE/EC2')
|
2007
2009
|
template_obj.add_element(
|
2008
2010
|
'TEMPLATE/EC2',
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opennebula-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.10.
|
4
|
+
version: 6.10.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenNebula
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opennebula
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 6.10.
|
19
|
+
version: 6.10.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 6.10.
|
26
|
+
version: 6.10.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|