opennebula 5.13.80.pre → 6.0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cloud/CloudClient.rb +1 -1
- data/lib/datacenter.rb +69 -34
- data/lib/datastore.rb +2 -2
- data/lib/distributed_firewall.rb +17 -4
- data/lib/network.rb +74 -4
- data/lib/nsx_client.rb +17 -4
- data/lib/nsx_constants.rb +18 -5
- data/lib/nsx_driver.rb +15 -2
- data/lib/nsx_rule.rb +17 -4
- data/lib/nsxt_client.rb +17 -4
- data/lib/nsxv_client.rb +17 -4
- data/lib/opennebula.rb +1 -1
- data/lib/opennebula/client.rb +9 -1
- data/lib/opennebula/flow/service_template.rb +37 -1
- data/lib/opennebula/image.rb +2 -0
- data/lib/opennebula/marketplaceapp_ext.rb +77 -13
- data/lib/opennebula/pool.rb +2 -0
- data/lib/opennebula/template_ext.rb +19 -2
- data/lib/opennebula/virtual_machine.rb +2 -0
- data/lib/opennebula/virtual_machine_ext.rb +35 -17
- data/lib/opennebula/wait_ext.rb +120 -85
- data/lib/scripts_common.rb +3 -0
- data/lib/vcenter_driver.rb +13 -2
- data/lib/vcenter_importer.rb +2 -2
- data/lib/vi_helper.rb +2 -1
- data/lib/virtual_machine.rb +50 -12
- data/lib/vm_template.rb +17 -16
- data/lib/vmm_importer.rb +8 -0
- metadata +6 -6
data/lib/vm_template.rb
CHANGED
@@ -602,7 +602,7 @@ module VCenterDriver
|
|
602
602
|
def nic_alias_from_nic(id, nic, nic_index, network_found, vm_object)
|
603
603
|
nic_tmp = ''
|
604
604
|
|
605
|
-
nic_alias_index =
|
605
|
+
nic_alias_index = 0
|
606
606
|
if nic[:ipv4_additionals]
|
607
607
|
nic[:ipv4_additionals].split(',').each do |ipv4_additional|
|
608
608
|
ipv4, ipv6 =
|
@@ -625,8 +625,8 @@ module VCenterDriver
|
|
625
625
|
nic_tmp << "NETWORK_ID=\"#{id}\",\n"
|
626
626
|
nic_tmp << "IP=\"#{ipv4_additional}\",\n"
|
627
627
|
nic_tmp <<
|
628
|
-
"NAME=\"
|
629
|
-
nic_tmp << "PARENT=\"
|
628
|
+
"NAME=\"VC_NIC#{nic_index}_ALIAS#{nic_alias_index}\",\n"
|
629
|
+
nic_tmp << "PARENT=\"VC_NIC#{nic_index}\"\n"
|
630
630
|
nic_tmp << "]\n"
|
631
631
|
nic_alias_index += 1
|
632
632
|
end
|
@@ -653,8 +653,8 @@ module VCenterDriver
|
|
653
653
|
nic_tmp << "NETWORK_ID=\"#{id}\",\n"
|
654
654
|
nic_tmp << "IP6=\"#{ipv6_additional}\",\n"
|
655
655
|
nic_tmp <<
|
656
|
-
"NAME=\"
|
657
|
-
nic_tmp << "PARENT=\"
|
656
|
+
"NAME=\"VC_NIC#{nic_index}_ALIAS#{nic_alias_index}\",\n"
|
657
|
+
nic_tmp << "PARENT=\"VC_NIC#{nic_index}\"\n"
|
658
658
|
nic_tmp << "]\n"
|
659
659
|
nic_alias_index += 1
|
660
660
|
end
|
@@ -666,7 +666,7 @@ module VCenterDriver
|
|
666
666
|
def nic_from_network_created(one_vn, nic, nic_index, vm_object, _ar_ids)
|
667
667
|
nic_tmp = "NIC=[\n"
|
668
668
|
nic_tmp << "NETWORK_ID=\"#{one_vn.id}\",\n"
|
669
|
-
nic_tmp << "NAME =\"
|
669
|
+
nic_tmp << "NAME =\"VC_NIC#{nic_index}\",\n"
|
670
670
|
|
671
671
|
if vm?
|
672
672
|
if nic[:mac]
|
@@ -716,7 +716,7 @@ module VCenterDriver
|
|
716
716
|
)
|
717
717
|
nic_tmp = "NIC=[\n"
|
718
718
|
nic_tmp << "NETWORK_ID=\"#{network_found['ID']}\",\n"
|
719
|
-
nic_tmp << "NAME =\"
|
719
|
+
nic_tmp << "NAME =\"VC_NIC#{nic_index}\",\n"
|
720
720
|
|
721
721
|
if vm?
|
722
722
|
ipv4, ipv6 = find_ips_in_network(network_found, vm_object,
|
@@ -1014,7 +1014,7 @@ module VCenterDriver
|
|
1014
1014
|
# Track allocated networks for rollback
|
1015
1015
|
allocated_networks = []
|
1016
1016
|
|
1017
|
-
nic_index =
|
1017
|
+
nic_index = 0
|
1018
1018
|
|
1019
1019
|
vc_nics.each do |nic|
|
1020
1020
|
# Check if the network already exists
|
@@ -1573,9 +1573,8 @@ module VCenterDriver
|
|
1573
1573
|
str << "]\n"
|
1574
1574
|
|
1575
1575
|
if annotation.nil? || annotation.empty?
|
1576
|
-
str << 'DESCRIPTION = "vCenter Template \
|
1577
|
-
|
1578
|
-
" from Cluster #{ccr_name}\"\n"
|
1576
|
+
str << 'DESCRIPTION = "vCenter Template imported by OpenNebula'\
|
1577
|
+
" from Cluster #{ccr_name}\"\n"
|
1579
1578
|
else
|
1580
1579
|
notes = annotation.gsub('\\', '\\\\').gsub('"', '\\"')
|
1581
1580
|
str << "DESCRIPTION = \"#{notes}\"\n"
|
@@ -1659,10 +1658,12 @@ module VCenterDriver
|
|
1659
1658
|
folders = []
|
1660
1659
|
until item.instance_of? RbVmomi::VIM::Datacenter
|
1661
1660
|
item = item.parent
|
1662
|
-
first_condition =
|
1663
|
-
|
1661
|
+
first_condition =
|
1662
|
+
!(item.instance_of? RbVmomi::VIM::Datacenter)
|
1663
|
+
second_condition =
|
1664
|
+
item.name != 'vm'
|
1664
1665
|
|
1665
|
-
|
1666
|
+
if first_condition && second_condition
|
1666
1667
|
folders << item.name
|
1667
1668
|
end
|
1668
1669
|
if item.nil?
|
@@ -1693,8 +1694,8 @@ module VCenterDriver
|
|
1693
1694
|
one_tmp[:dc_name] = dc_name
|
1694
1695
|
one_tmp[:template_name] = template_name
|
1695
1696
|
one_tmp[:sunstone_template_name]=
|
1696
|
-
"#{template_name} [ Cluster: #{template_ccr_name} \
|
1697
|
-
- Template location: #{location} ]"
|
1697
|
+
"#{template_name} [ Cluster: #{template_ccr_name}" \
|
1698
|
+
" - Template location: #{location} ]"
|
1698
1699
|
one_tmp[:template_location] = location
|
1699
1700
|
one_tmp[:vcenter_ccr_ref] = template_ccr_ref
|
1700
1701
|
one_tmp[:vcenter_ref] = template_ref
|
data/lib/vmm_importer.rb
CHANGED
@@ -54,6 +54,14 @@ module VCenterDriver
|
|
54
54
|
|
55
55
|
vc_vm = VCenterDriver::VirtualMachine.new_without_id(@vi_client,
|
56
56
|
vm_ref)
|
57
|
+
|
58
|
+
# Importing Wild VMs with snapshots is not supported
|
59
|
+
# https://github.com/OpenNebula/one/issues/1268
|
60
|
+
if vc_vm.snapshots? && vc_vm.disk_keys.empty?
|
61
|
+
raise 'Disk metadata not present and snapshots exist, '\
|
62
|
+
'cannot import this VM'
|
63
|
+
end
|
64
|
+
|
57
65
|
vname = vc_vm['name']
|
58
66
|
|
59
67
|
type = { :object => 'VM', :id => vname }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opennebula
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenNebula
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -223,14 +223,14 @@ files:
|
|
223
223
|
- lib/opennebula/xml_element.rb
|
224
224
|
- lib/opennebula/xml_pool.rb
|
225
225
|
- lib/opennebula/xml_utils.rb
|
226
|
-
- lib/opennebula/zone.rb
|
227
226
|
- lib/opennebula/zone_pool.rb
|
227
|
+
- lib/opennebula/zone.rb
|
228
228
|
- lib/opennebula/flow/grammar.rb
|
229
229
|
- lib/opennebula/flow/service_pool.rb
|
230
|
-
- lib/opennebula/flow/service_template.rb
|
231
230
|
- lib/opennebula/flow/service_template_ext.rb
|
232
231
|
- lib/opennebula/flow/service_template_pool.rb
|
233
232
|
- lib/opennebula/flow/validator.rb
|
233
|
+
- lib/opennebula/flow/service_template.rb
|
234
234
|
- lib/opennebula/ldap_auth.rb
|
235
235
|
- lib/opennebula/ldap_auth_spec.rb
|
236
236
|
- lib/opennebula/server_cipher_auth.rb
|
@@ -255,9 +255,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
255
255
|
version: '0'
|
256
256
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
257
257
|
requirements:
|
258
|
-
- - '
|
258
|
+
- - '>='
|
259
259
|
- !ruby/object:Gem::Version
|
260
|
-
version:
|
260
|
+
version: '0'
|
261
261
|
requirements: []
|
262
262
|
rubyforge_project:
|
263
263
|
rubygems_version: 2.0.14.1
|