opennebula 6.0.0.3 → 6.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a444d034775d99b9c676a7718063ff71798eb2ee
4
- data.tar.gz: aba015a7d6e223011bb9f33fd1a610dcc01b1379
3
+ metadata.gz: f663dcec1594a07beb54bc3a4065b53818669846
4
+ data.tar.gz: 63d9ffe94c43fb81d6cc7e2a0563ed6d711ebc48
5
5
  SHA512:
6
- metadata.gz: 9dad15a530bfa73ffce417c4dc66f8f2118239de7396c7aa1cdae928869f69b994e1dc61a93ab410de9b74511d4a770eac922b07db1d29391758d91fb11b54e6
7
- data.tar.gz: e00ba49630acf67ae3fbcc1c715a7164ede4b6aec81fa059ecbe6536f8d90c7477ece5c3e73a9e5a1aafc26508729e9fb390ecfef43815e93f1042f6594a1ca9
6
+ metadata.gz: 905fbdea52975558d07f8720c64c5f37365672d487a1bb334c94e0e4ea5026be94468c3320b667c2d7acc6f31f312e0e58b951cbf136bf45ebfc1d4efaa7e857
7
+ data.tar.gz: ddb7dadb1c1d2df3454b11a4c7f91385049ee2b134de1d75c0c27b7e59b554b2f9db5ca6135e85a9d0e8ff3b0e0565f3f4e34dd121830c151a1f468347187ad6
@@ -51,7 +51,7 @@ end
51
51
  module CloudClient
52
52
 
53
53
  # OpenNebula version
54
- VERSION = '6.0.0.3'
54
+ VERSION = '6.0.1'
55
55
 
56
56
  # #########################################################################
57
57
  # Default location for the authentication file
data/lib/datacenter.rb CHANGED
@@ -500,7 +500,7 @@ module VCenterDriver
500
500
  end
501
501
 
502
502
  # Determine if a network must be excluded from the list
503
- def exclude_network?(one_host, args, vc_network_hash, network_type)
503
+ def exclude_network?(vc_network, one_host, args, vc_network_hash)
504
504
  vc_network_name = vc_network_hash[:vc_network_name]
505
505
  vc_network_host = vc_network_hash[:vc_network_host]
506
506
  vc_network_tag = vc_network_hash[:vc_network_tag]
@@ -514,6 +514,12 @@ module VCenterDriver
514
514
  ]
515
515
 
516
516
  # Only NSX-V and NSX-T can be excluded
517
+ network_type = VCenterDriver::Network
518
+ .get_network_type(
519
+ vc_network,
520
+ vc_network_name
521
+ )
522
+
517
523
  return true if network_types.include? network_type
518
524
  end
519
525
  # Exclude networks without hosts
@@ -527,7 +533,7 @@ module VCenterDriver
527
533
  return true
528
534
  end
529
535
  # Exclude portgroup used for VXLAN communication in NSX
530
- if vc_network_name.match(/^vxw-vmknicPg-dvs-(.*)/)
536
+ if vc_network['name'].match(/^vxw-vmknicPg-dvs-(.*)/)
531
537
  return true
532
538
  end
533
539
 
@@ -537,7 +543,7 @@ module VCenterDriver
537
543
  end
538
544
 
539
545
  # Proccess each network
540
- def process_network(params, networks_type, hosts_list, host_list_object)
546
+ def process_network(params)
541
547
  vc_network = params[:vc_network]
542
548
  vcenter_instance_name = params[:vcenter_instance_name]
543
549
  vcenter_uuid = params[:vcenter_uuid]
@@ -571,31 +577,23 @@ module VCenterDriver
571
577
  opts = {}
572
578
 
573
579
  # Add network type to network hash
574
- if networks_type.key?(vc_network_hash[:vc_network_ref])
575
- network_type = networks_type[vc_network_hash[:vc_network_ref]]
576
- else
577
- network_type =
578
- VCenterDriver::Network.get_network_type(
579
- vc_network,
580
- vc_network_name
581
- )
582
- networks_type[vc_network_hash[:vc_network_ref]] = network_type
583
- end
584
-
580
+ network_type = \
581
+ VCenterDriver::Network.get_network_type(
582
+ vc_network,
583
+ vc_network_name
584
+ )
585
585
  network[vc_network_ref][:network_type] = network_type
586
586
  network[vc_network_ref][:type] = network_type
587
587
 
588
588
  # Determine if the network must be excluded
589
589
  network[vc_network_ref][:excluded] = exclude_network?(
590
+ vc_network,
590
591
  one_host,
591
592
  args,
592
- vc_network_hash,
593
- network_type
593
+ vc_network_hash
594
594
  )
595
595
 
596
- if network[vc_network_ref][:excluded] == true
597
- return [nil, networks_type, hosts_list, host_list_object]
598
- end
596
+ return if network[vc_network_ref][:excluded] == true
599
597
 
600
598
  if full_process
601
599
  case network[vc_network_ref][:network_type]
@@ -653,50 +651,31 @@ module VCenterDriver
653
651
  vc_hosts = vc_network.host
654
652
  vc_hosts.each do |vc_host|
655
653
  # Get vCenter Cluster
656
- vc_host_ref = vc_host._ref
657
- if !host_list_object.key?(vc_host_ref)
658
- vc_cluster = vc_host.parent
659
- vc_cluster_ref = vc_cluster._ref
660
- vc_cluster_name = vc_cluster.name
661
- host_list_object[vc_host_ref] = {
662
- :vc_cluster_ref => vc_cluster_ref,
663
- :vc_cluster_name => vc_cluster_name
664
- }
665
- end
666
-
667
- vc_cluster = host_list_object[vc_host_ref]
668
-
669
- if hosts_list.key? vc_cluster[:vc_cluster_ref]
670
- one_host = hosts_list[vc_cluster[:vc_cluster_ref]]
671
- else
672
- one_host = VCenterDriver::VIHelper
673
- .find_by_ref(OpenNebula::HostPool,
674
- 'TEMPLATE/VCENTER_CCR_REF',
675
- vc_cluster[:vc_cluster_ref],
676
- vcenter_uuid)
677
- hosts_list[vc_cluster[:vc_cluster_ref]] = one_host
678
- end
654
+ vc_cluster = vc_host.parent
655
+ vc_cluster_ref = vc_cluster._ref
656
+ vc_cluster_name = vc_cluster.name
657
+ # Get one host from each vCenter cluster
658
+ one_host = VCenterDriver::VIHelper
659
+ .find_by_ref(OpenNebula::HostPool,
660
+ 'TEMPLATE/VCENTER_CCR_REF',
661
+ vc_cluster_ref,
662
+ vcenter_uuid)
679
663
  # Check if network is excluded from each host
680
664
  next if exclude_network?(
665
+ vc_network,
681
666
  one_host,
682
667
  args,
683
- vc_network_hash,
684
- network_type
668
+ vc_network_hash
685
669
  )
686
670
 
687
671
  # Insert vCenter cluster ref
688
- network[vc_network_ref][:clusters][:refs] <<
689
- vc_cluster[:vc_cluster_ref]
690
-
672
+ network[vc_network_ref][:clusters][:refs] << vc_cluster_ref
691
673
  # Insert OpenNebula cluster id
692
674
  cluster_id = one_cluster_id(one_host)
693
- network[vc_network_ref][:clusters][:one_ids] <<
694
- cluster_id
695
-
675
+ network[vc_network_ref][:clusters][:one_ids] << cluster_id
696
676
  # Insert vCenter cluster name
697
- network[vc_network_ref][:clusters][:names] <<
698
- vc_cluster[:vc_cluster_name]
699
- opts[:dc_name] = vc_cluster[:vc_cluster_name]
677
+ network[vc_network_ref][:clusters][:names] << vc_cluster_name
678
+ opts[:dc_name] = vc_cluster_name
700
679
  end
701
680
 
702
681
  # Remove duplicate entries
@@ -727,7 +706,7 @@ module VCenterDriver
727
706
  network[vc_network_ref]['name']
728
707
  end
729
708
 
730
- [network, networks_type, hosts_list, host_list_object]
709
+ network
731
710
  end
732
711
 
733
712
  # rubocop:disable Style/GlobalVars
@@ -744,15 +723,13 @@ module VCenterDriver
744
723
  $conf[:one_xmlrpc]
745
724
  )
746
725
  end
726
+
747
727
  one_host = OpenNebula::Host.new_with_id(args[:host], one_client)
748
728
  rc = one_host.info
749
729
  raise rc.message if OpenNebula.is_error? rc
750
730
 
751
731
  # Get all networks in vcenter cluster (one_host)
752
732
  vc_cluster_networks = cluster_networks(one_host)
753
- networks_type = {}
754
- hosts_list = {}
755
- host_list_object = {}
756
733
 
757
734
  # Iterate over vcenter networks
758
735
  vc_cluster_networks.each do |vc_cluster_network|
@@ -774,20 +751,7 @@ module VCenterDriver
774
751
  params[:one_host]= one_host
775
752
  params[:args] = args
776
753
 
777
- network,
778
- networks_type_new,
779
- hosts_list_new,
780
- host_list_object_new =
781
- process_network(
782
- params,
783
- networks_type,
784
- hosts_list,
785
- host_list_object
786
- )
787
-
788
- networks_type = networks_type_new
789
- hosts_list = hosts_list_new
790
- host_list_object = host_list_object_new
754
+ network = process_network(params)
791
755
 
792
756
  networks.merge!(network) unless network.nil?
793
757
  end
@@ -29,27 +29,14 @@ module NSXDriver
29
29
  unless defined?(GEMS_LOCATION)
30
30
  end
31
31
 
32
- # rubocop: disable all
33
- # %%RUBYGEMS_SETUP_BEGIN%%
34
- if File.directory?(GEMS_LOCATION)
35
- real_gems_path = File.realpath(GEMS_LOCATION)
36
- if !defined?(Gem) || Gem.path != [real_gems_path]
37
- $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
38
-
39
- # Suppress warnings from Rubygems
40
- # https://github.com/OpenNebula/one/issues/5379
41
- begin
42
- verb = $VERBOSE
43
- $VERBOSE = nil
32
+ if File.directory?(GEMS_LOCATION)
33
+ real_gems_path = File.realpath(GEMS_LOCATION)
34
+ if !defined?(Gem) || Gem.path != [real_gems_path]
35
+ $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
44
36
  require 'rubygems'
45
37
  Gem.use_paths(real_gems_path)
46
- ensure
47
- $VERBOSE = verb
48
38
  end
49
39
  end
50
- end
51
- # %%RUBYGEMS_SETUP_END%%
52
- # rubocop: enable all
53
40
 
54
41
  $LOAD_PATH << RUBY_LIB_LOCATION
55
42
 
data/lib/network.rb CHANGED
@@ -534,13 +534,7 @@ module VCenterDriver
534
534
  params[:one_host] = one_host
535
535
  params[:args] = {}
536
536
 
537
- selected, _networks_type, _hosts_list, _clusters_list =
538
- dc_folder.process_network(
539
- params,
540
- {},
541
- {},
542
- {}
543
- )
537
+ selected = dc_folder.process_network(params)
544
538
 
545
539
  selected = selected[index]
546
540
 
data/lib/nsx_client.rb CHANGED
@@ -29,27 +29,14 @@ module NSXDriver
29
29
  unless defined?(GEMS_LOCATION)
30
30
  end
31
31
 
32
- # rubocop: disable all
33
- # %%RUBYGEMS_SETUP_BEGIN%%
34
- if File.directory?(GEMS_LOCATION)
35
- real_gems_path = File.realpath(GEMS_LOCATION)
36
- if !defined?(Gem) || Gem.path != [real_gems_path]
37
- $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
38
-
39
- # Suppress warnings from Rubygems
40
- # https://github.com/OpenNebula/one/issues/5379
41
- begin
42
- verb = $VERBOSE
43
- $VERBOSE = nil
32
+ if File.directory?(GEMS_LOCATION)
33
+ real_gems_path = File.realpath(GEMS_LOCATION)
34
+ if !defined?(Gem) || Gem.path != [real_gems_path]
35
+ $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
44
36
  require 'rubygems'
45
37
  Gem.use_paths(real_gems_path)
46
- ensure
47
- $VERBOSE = verb
48
38
  end
49
39
  end
50
- end
51
- # %%RUBYGEMS_SETUP_END%%
52
- # rubocop: enable all
53
40
 
54
41
  $LOAD_PATH << RUBY_LIB_LOCATION
55
42
 
data/lib/nsx_constants.rb CHANGED
@@ -6,7 +6,7 @@
6
6
  # a copy of the License at #
7
7
  # #
8
8
  # http://www.apache.org/licenses/LICENSE-2.0 #
9
- # #
9
+ # #
10
10
  # Unless required by applicable law or agreed to in writing, software #
11
11
  # distributed under the License is distributed on an "AS IS" BASIS, #
12
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
@@ -29,27 +29,14 @@ module NSXDriver
29
29
  unless defined?(GEMS_LOCATION)
30
30
  end
31
31
 
32
- # rubocop: disable all
33
- # %%RUBYGEMS_SETUP_BEGIN%%
34
- if File.directory?(GEMS_LOCATION)
35
- real_gems_path = File.realpath(GEMS_LOCATION)
36
- if !defined?(Gem) || Gem.path != [real_gems_path]
37
- $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
38
-
39
- # Suppress warnings from Rubygems
40
- # https://github.com/OpenNebula/one/issues/5379
41
- begin
42
- verb = $VERBOSE
43
- $VERBOSE = nil
32
+ if File.directory?(GEMS_LOCATION)
33
+ real_gems_path = File.realpath(GEMS_LOCATION)
34
+ if !defined?(Gem) || Gem.path != [real_gems_path]
35
+ $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
44
36
  require 'rubygems'
45
37
  Gem.use_paths(real_gems_path)
46
- ensure
47
- $VERBOSE = verb
48
38
  end
49
39
  end
50
- end
51
- # %%RUBYGEMS_SETUP_END%%
52
- # rubocop: enable all
53
40
 
54
41
  $LOAD_PATH << RUBY_LIB_LOCATION
55
42
 
data/lib/nsx_driver.rb CHANGED
@@ -36,27 +36,14 @@ end
36
36
 
37
37
  ENV['LANG'] = 'C'
38
38
 
39
- # rubocop: disable all
40
- # %%RUBYGEMS_SETUP_BEGIN%%
41
39
  if File.directory?(GEMS_LOCATION)
42
40
  real_gems_path = File.realpath(GEMS_LOCATION)
43
41
  if !defined?(Gem) || Gem.path != [real_gems_path]
44
42
  $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
45
-
46
- # Suppress warnings from Rubygems
47
- # https://github.com/OpenNebula/one/issues/5379
48
- begin
49
- verb = $VERBOSE
50
- $VERBOSE = nil
51
- require 'rubygems'
52
- Gem.use_paths(real_gems_path)
53
- ensure
54
- $VERBOSE = verb
55
- end
43
+ require 'rubygems'
44
+ Gem.use_paths(real_gems_path)
56
45
  end
57
46
  end
58
- # %%RUBYGEMS_SETUP_END%%
59
- # rubocop: enable all
60
47
 
61
48
  $LOAD_PATH << LIB_LOCATION + '/ruby'
62
49
  $LOAD_PATH << LIB_LOCATION + '/ruby/nsx_driver'
data/lib/nsx_rule.rb CHANGED
@@ -33,27 +33,14 @@ module NSXDriver
33
33
  unless defined?(GEMS_LOCATION)
34
34
  end
35
35
 
36
- # rubocop: disable all
37
- # %%RUBYGEMS_SETUP_BEGIN%%
38
- if File.directory?(GEMS_LOCATION)
39
- real_gems_path = File.realpath(GEMS_LOCATION)
40
- if !defined?(Gem) || Gem.path != [real_gems_path]
41
- $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
42
-
43
- # Suppress warnings from Rubygems
44
- # https://github.com/OpenNebula/one/issues/5379
45
- begin
46
- verb = $VERBOSE
47
- $VERBOSE = nil
36
+ if File.directory?(GEMS_LOCATION)
37
+ real_gems_path = File.realpath(GEMS_LOCATION)
38
+ if !defined?(Gem) || Gem.path != [real_gems_path]
39
+ $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
48
40
  require 'rubygems'
49
41
  Gem.use_paths(real_gems_path)
50
- ensure
51
- $VERBOSE = verb
52
42
  end
53
43
  end
54
- end
55
- # %%RUBYGEMS_SETUP_END%%
56
- # rubocop: enable all
57
44
 
58
45
  $LOAD_PATH << RUBY_LIB_LOCATION
59
46
 
data/lib/nsxt_client.rb CHANGED
@@ -29,27 +29,14 @@ module NSXDriver
29
29
  unless defined?(GEMS_LOCATION)
30
30
  end
31
31
 
32
- # rubocop: disable all
33
- # %%RUBYGEMS_SETUP_BEGIN%%
34
- if File.directory?(GEMS_LOCATION)
35
- real_gems_path = File.realpath(GEMS_LOCATION)
36
- if !defined?(Gem) || Gem.path != [real_gems_path]
37
- $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
38
-
39
- # Suppress warnings from Rubygems
40
- # https://github.com/OpenNebula/one/issues/5379
41
- begin
42
- verb = $VERBOSE
43
- $VERBOSE = nil
32
+ if File.directory?(GEMS_LOCATION)
33
+ real_gems_path = File.realpath(GEMS_LOCATION)
34
+ if !defined?(Gem) || Gem.path != [real_gems_path]
35
+ $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
44
36
  require 'rubygems'
45
37
  Gem.use_paths(real_gems_path)
46
- ensure
47
- $VERBOSE = verb
48
38
  end
49
39
  end
50
- end
51
- # %%RUBYGEMS_SETUP_END%%
52
- # rubocop: enable all
53
40
 
54
41
  $LOAD_PATH << RUBY_LIB_LOCATION
55
42
 
data/lib/nsxv_client.rb CHANGED
@@ -29,27 +29,14 @@ module NSXDriver
29
29
  unless defined?(GEMS_LOCATION)
30
30
  end
31
31
 
32
- # rubocop: disable all
33
- # %%RUBYGEMS_SETUP_BEGIN%%
34
- if File.directory?(GEMS_LOCATION)
35
- real_gems_path = File.realpath(GEMS_LOCATION)
36
- if !defined?(Gem) || Gem.path != [real_gems_path]
37
- $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
38
-
39
- # Suppress warnings from Rubygems
40
- # https://github.com/OpenNebula/one/issues/5379
41
- begin
42
- verb = $VERBOSE
43
- $VERBOSE = nil
32
+ if File.directory?(GEMS_LOCATION)
33
+ real_gems_path = File.realpath(GEMS_LOCATION)
34
+ if !defined?(Gem) || Gem.path != [real_gems_path]
35
+ $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
44
36
  require 'rubygems'
45
37
  Gem.use_paths(real_gems_path)
46
- ensure
47
- $VERBOSE = verb
48
38
  end
49
39
  end
50
- end
51
- # %%RUBYGEMS_SETUP_END%%
52
- # rubocop: enable all
53
40
 
54
41
  $LOAD_PATH << RUBY_LIB_LOCATION
55
42
 
@@ -361,8 +361,8 @@ module OpenNebula
361
361
  # exceeds the limit
362
362
  new_name = "#{template.name}-#{name}"
363
363
 
364
- if new_name.size > 119
365
- new_name = "#{template.name[0..(119 - name.size)]}-#{name}"
364
+ if new_name.size > 128
365
+ new_name = "#{template.name[0..(126 - name.size)]}-#{name}"
366
366
  end
367
367
 
368
368
  rc = template.clone(new_name, recursive)
@@ -267,20 +267,17 @@ module OpenNebula::VirtualMachineExt
267
267
  # --------------------------------------------------------------
268
268
  # Check backup consistency
269
269
  # --------------------------------------------------------------
270
- rc = info
271
-
272
- raise rc.message if OpenNebula.is_error?(rc)
270
+ unless binfo
271
+ rc = info
272
+ raise rc.message if OpenNebula.is_error?(rc)
273
273
 
274
- binfo.merge!(backup_info) do |key, old_val, new_val|
275
- new_val.nil? ? old_val : new_val
274
+ binfo = backup_info
276
275
  end
277
276
 
278
277
  raise 'No backup information' if binfo.nil?
279
278
 
280
279
  raise 'No frequency defined' unless valid?(binfo[:freq])
281
280
 
282
- raise 'No marketplace defined' unless valid?(binfo[:market])
283
-
284
281
  return if Time.now.to_i - binfo[:last].to_i < binfo[:freq].to_i
285
282
 
286
283
  # --------------------------------------------------------------
@@ -322,12 +319,19 @@ module OpenNebula::VirtualMachineExt
322
319
  # --------------------------------------------------------------
323
320
  # Cleanup
324
321
  # --------------------------------------------------------------
325
- backup_cleanup(keep, logger, binfo, tmp)
326
- rescue Error, StandardError => e
327
- backup_cleanup(keep, logger, binfo, tmp)
322
+ logger.info "Deleting template #{tmp.id}" if logger
328
323
 
329
- logger.fatal(e.inspect) if logger
324
+ tmp.delete(true)
330
325
 
326
+ binfo[:apps].each do |id|
327
+ logger.info "Deleting applicance #{id}" if logger
328
+
329
+ papp = OpenNebula::MarketPlaceApp.new_with_id(id, @client)
330
+
331
+ papp.delete
332
+ end if !keep && binfo[:apps]
333
+ rescue Error, StandardError => e
334
+ logger.fatal(e.inspect) if logger
331
335
  raise
332
336
  end
333
337
 
@@ -417,9 +421,9 @@ module OpenNebula::VirtualMachineExt
417
421
 
418
422
  private
419
423
 
420
- #-------------------------------------------------------------------
424
+ # --------------------------------------------------------------
421
425
  # Check an attribute is defined and valid
422
- #-------------------------------------------------------------------
426
+ # --------------------------------------------------------------
423
427
  def valid?(att)
424
428
  return false if att.nil?
425
429
 
@@ -450,9 +454,6 @@ module OpenNebula::VirtualMachineExt
450
454
  binfo
451
455
  end
452
456
 
453
- #-------------------------------------------------------------------
454
- # Generate backup information string
455
- #-------------------------------------------------------------------
456
457
  def backup_attr(binfo, ids)
457
458
  'BACKUP=[' \
458
459
  " MARKETPLACE_APP_IDS = \"#{ids.join(',')}\"," \
@@ -461,25 +462,6 @@ module OpenNebula::VirtualMachineExt
461
462
  " MARKETPLACE_ID = \"#{binfo[:market]}\" ]"
462
463
  end
463
464
 
464
- #-------------------------------------------------------------------
465
- # Cleanup backup leftovers in case of failure
466
- #-------------------------------------------------------------------
467
- def backup_cleanup(keep, logger, binfo, template)
468
- if template
469
- logger.info "Deleting template #{template.id}" if logger
470
-
471
- template.delete(true)
472
- end
473
-
474
- binfo[:apps].each do |id|
475
- logger.info "Deleting applicance #{id}" if logger
476
-
477
- papp = OpenNebula::MarketPlaceApp.new_with_id(id, @client)
478
-
479
- papp.delete
480
- end if !keep && binfo[:apps]
481
- end
482
-
483
465
  end
484
466
  end
485
467
 
data/lib/opennebula.rb CHANGED
@@ -77,5 +77,5 @@ require 'opennebula/flow'
77
77
  module OpenNebula
78
78
 
79
79
  # OpenNebula version
80
- VERSION = '6.0.0.3'
80
+ VERSION = '6.0.1'
81
81
  end
@@ -36,25 +36,14 @@ end
36
36
 
37
37
  ENV['LANG'] = 'C'
38
38
 
39
- # %%RUBYGEMS_SETUP_BEGIN%%
40
39
  if File.directory?(GEMS_LOCATION)
41
40
  real_gems_path = File.realpath(GEMS_LOCATION)
42
41
  if !defined?(Gem) || Gem.path != [real_gems_path]
43
42
  $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
44
-
45
- # Suppress warnings from Rubygems
46
- # https://github.com/OpenNebula/one/issues/5379
47
- begin
48
- verb = $VERBOSE
49
- $VERBOSE = nil
50
- require 'rubygems'
51
- Gem.use_paths(real_gems_path)
52
- ensure
53
- $VERBOSE = verb
54
- end
43
+ require 'rubygems'
44
+ Gem.use_paths(real_gems_path)
55
45
  end
56
46
  end
57
- # %%RUBYGEMS_SETUP_END%%
58
47
 
59
48
  $LOAD_PATH << LIB_LOCATION + '/ruby/vendors/rbvmomi/lib'
60
49
  $LOAD_PATH << LIB_LOCATION + '/ruby'
@@ -496,9 +496,9 @@ module VCenterDriver
496
496
  end
497
497
 
498
498
  #
499
- # Create and allocate a OpenNebula Object.
499
+ # Create and allocate a Opennebula Object.
500
500
  #
501
- # @param info [String] Info passed to OpenNebula Core.
501
+ # @param info [String] Info passed to opennebula Core.
502
502
  #
503
503
  # @return [&block] the allocated object through a block.
504
504
  #
@@ -33,27 +33,14 @@ module VCenterDriver
33
33
  end
34
34
  end
35
35
 
36
- # rubocop: disable all
37
- # %%RUBYGEMS_SETUP_BEGIN%%
38
- if File.directory?(GEMS_LOCATION)
39
- real_gems_path = File.realpath(GEMS_LOCATION)
40
- if !defined?(Gem) || Gem.path != [real_gems_path]
41
- $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
42
-
43
- # Suppress warnings from Rubygems
44
- # https://github.com/OpenNebula/one/issues/5379
45
- begin
46
- verb = $VERBOSE
47
- $VERBOSE = nil
36
+ if File.directory?(GEMS_LOCATION)
37
+ real_gems_path = File.realpath(GEMS_LOCATION)
38
+ if !defined?(Gem) || Gem.path != [real_gems_path]
39
+ $LOAD_PATH.reject! {|l| l =~ /vendor_ruby/ }
48
40
  require 'rubygems'
49
41
  Gem.use_paths(real_gems_path)
50
- ensure
51
- $VERBOSE = verb
52
42
  end
53
43
  end
54
- end
55
- # %%RUBYGEMS_SETUP_END%%
56
- # rubocop: enable all
57
44
 
58
45
  $LOAD_PATH << RUBY_LIB_LOCATION
59
46
 
@@ -1054,8 +1041,7 @@ end
1054
1041
  else
1055
1042
  if snapshots?
1056
1043
  error = 'Disk metadata not present and snapshots exist. ' \
1057
- 'Please remove imported VM with "onevm recover ' \
1058
- '--delete-db".'
1044
+ 'OpenNebula cannot manage this VM.'
1059
1045
  raise error
1060
1046
  end
1061
1047
 
@@ -2415,15 +2401,6 @@ end
2415
2401
 
2416
2402
  # Attach DISK to VM (hotplug)
2417
2403
  def attach_disk(disk)
2418
- # Adding a new disk in newer vSphere versions
2419
- # automatically cleans all system snapshots
2420
- # https://github.com/OpenNebula/one/issues/5409
2421
- if snapshots? or one_snapshots?
2422
- error_message = 'Existing sytem snapshots, cannot change disks. '
2423
- error_message << 'Please remove all snapshots and try again.'
2424
- raise error_message
2425
- end
2426
-
2427
2404
  spec_hash = {}
2428
2405
  device_change = []
2429
2406
 
@@ -2605,12 +2582,6 @@ end
2605
2582
  def detach_disk(disk)
2606
2583
  return unless disk.exists?
2607
2584
 
2608
- if snapshots? or one_snapshots?
2609
- error_message = 'Existing sytem snapshots, cannot change disks. '
2610
- error_message << 'Please remove all snapshots and try again.'
2611
- raise error_message
2612
- end
2613
-
2614
2585
  spec_hash = {}
2615
2586
  spec_hash[:extraConfig] = [disk.config(:delete)]
2616
2587
  spec_hash[:deviceChange] = [{
@@ -2640,15 +2611,15 @@ end
2640
2611
  # - The disk is managed by OpenNebula
2641
2612
  detachable= !(one_vm['LCM_STATE'].to_i == 11 && !disk.managed?)
2642
2613
  detachable &&= disk.exists?
2643
-
2614
+
2644
2615
  return unless detachable
2645
2616
 
2646
2617
  detach_disk(disk)
2647
2618
 
2648
2619
  # Check if we want to keep the non persistent disk
2649
2620
  keep_non_persistent_disks =
2650
- VCenterDriver::CONFIG[:keep_non_persistent_disks]
2651
-
2621
+ VCenterDriver::CONFIG[:keep_non_persistent_disks]
2622
+
2652
2623
  return if keep_non_persistent_disks == true
2653
2624
 
2654
2625
  disk.destroy
@@ -2845,7 +2816,7 @@ end
2845
2816
  # Convert VM to template in vCenter
2846
2817
  mark_as_template
2847
2818
 
2848
- # Edit the OpenNebula template
2819
+ # Edit the Opennebula template
2849
2820
  one_client = OpenNebula::Client.new
2850
2821
  template_id = one_item['TEMPLATE/TEMPLATE_ID']
2851
2822
  new_template = OpenNebula::Template.new_with_id(template_id,
@@ -2896,15 +2867,6 @@ end
2896
2867
  self['rootSnapshot'] && !self['rootSnapshot'].empty?
2897
2868
  end
2898
2869
 
2899
- def one_snapshots?
2900
- begin
2901
- !one_item['TEMPLATE/SNAPSHOT'].nil?
2902
- rescue StandardError
2903
- # one_item may not be retrieved if deploy_id hasn't been set
2904
- false
2905
- end
2906
- end
2907
-
2908
2870
  def instantiated_as_persistent?
2909
2871
  begin
2910
2872
  !one_item['TEMPLATE/CLONING_TEMPLATE_ID'].nil?
data/lib/vm_template.rb CHANGED
@@ -1573,8 +1573,9 @@ module VCenterDriver
1573
1573
  str << "]\n"
1574
1574
 
1575
1575
  if annotation.nil? || annotation.empty?
1576
- str << 'DESCRIPTION = "vCenter Template imported by OpenNebula'\
1577
- " from Cluster #{ccr_name}\"\n"
1576
+ str << 'DESCRIPTION = "vCenter Template \
1577
+ imported by OpenNebula' \
1578
+ " from Cluster #{ccr_name}\"\n"
1578
1579
  else
1579
1580
  notes = annotation.gsub('\\', '\\\\').gsub('"', '\\"')
1580
1581
  str << "DESCRIPTION = \"#{notes}\"\n"
data/lib/vmm_importer.rb CHANGED
@@ -54,14 +54,6 @@ 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
-
65
57
  vname = vc_vm['name']
66
58
 
67
59
  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: 6.0.0.3
4
+ version: 6.0.1
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-29 00:00:00.000000000 Z
11
+ date: 2021-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -117,24 +117,24 @@ files:
117
117
  - lib/opennebula.rb
118
118
  - lib/vcenter_driver.rb
119
119
  - lib/datacenter.rb
120
+ - lib/datastore.rb
121
+ - lib/file_helper.rb
122
+ - lib/host.rb
120
123
  - lib/memoize.rb
121
124
  - lib/network.rb
122
125
  - lib/rest_client.rb
126
+ - lib/vcenter_importer.rb
123
127
  - lib/vi_client.rb
124
128
  - lib/vi_helper.rb
129
+ - lib/virtual_machine.rb
125
130
  - lib/vm_device.rb
126
131
  - lib/vm_disk.rb
127
132
  - lib/vm_nic.rb
128
133
  - lib/vm_helper.rb
129
134
  - lib/vm_monitor.rb
130
135
  - lib/vm_folder.rb
131
- - lib/vmm_importer.rb
132
- - lib/datastore.rb
133
- - lib/file_helper.rb
134
- - lib/host.rb
135
- - lib/vcenter_importer.rb
136
- - lib/virtual_machine.rb
137
136
  - lib/vm_template.rb
137
+ - lib/vmm_importer.rb
138
138
  - lib/nsx_driver.rb
139
139
  - lib/distributed_firewall.rb
140
140
  - lib/logical_port.rb
@@ -189,11 +189,13 @@ files:
189
189
  - lib/opennebula/image.rb
190
190
  - lib/opennebula/image_pool.rb
191
191
  - lib/opennebula/lockable_ext.rb
192
+ - lib/opennebula/marketplace.rb
192
193
  - lib/opennebula/marketplace_pool.rb
193
194
  - lib/opennebula/marketplaceapp.rb
194
195
  - lib/opennebula/marketplaceapp_ext.rb
195
196
  - lib/opennebula/marketplaceapp_pool.rb
196
197
  - lib/opennebula/oneflow_client.rb
198
+ - lib/opennebula/pool.rb
197
199
  - lib/opennebula/pool_element.rb
198
200
  - lib/opennebula/security_group.rb
199
201
  - lib/opennebula/security_group_pool.rb
@@ -201,11 +203,14 @@ files:
201
203
  - lib/opennebula/template.rb
202
204
  - lib/opennebula/template_ext.rb
203
205
  - lib/opennebula/template_pool.rb
206
+ - lib/opennebula/user.rb
204
207
  - lib/opennebula/user_pool.rb
205
208
  - lib/opennebula/utils.rb
206
209
  - lib/opennebula/vdc.rb
207
210
  - lib/opennebula/vdc_pool.rb
211
+ - lib/opennebula/virtual_machine.rb
208
212
  - lib/opennebula/virtual_machine_ext.rb
213
+ - lib/opennebula/virtual_machine_pool.rb
209
214
  - lib/opennebula/virtual_network.rb
210
215
  - lib/opennebula/virtual_network_pool.rb
211
216
  - lib/opennebula/virtual_router.rb
@@ -214,25 +219,20 @@ files:
214
219
  - lib/opennebula/vm_group_pool.rb
215
220
  - lib/opennebula/vntemplate.rb
216
221
  - lib/opennebula/vntemplate_pool.rb
222
+ - lib/opennebula/wait_ext.rb
217
223
  - lib/opennebula/xml_element.rb
218
224
  - lib/opennebula/xml_pool.rb
219
225
  - lib/opennebula/xml_utils.rb
220
226
  - lib/opennebula/zone_pool.rb
221
- - lib/opennebula/marketplace.rb
222
- - lib/opennebula/pool.rb
223
- - lib/opennebula/user.rb
224
- - lib/opennebula/virtual_machine.rb
225
- - lib/opennebula/virtual_machine_pool.rb
226
- - lib/opennebula/wait_ext.rb
227
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
230
231
  - lib/opennebula/flow/service_template_ext.rb
231
232
  - lib/opennebula/flow/service_template_pool.rb
232
233
  - lib/opennebula/flow/validator.rb
233
- - lib/opennebula/flow/service_template.rb
234
- - lib/opennebula/ldap_auth_spec.rb
235
234
  - lib/opennebula/ldap_auth.rb
235
+ - lib/opennebula/ldap_auth_spec.rb
236
236
  - lib/opennebula/server_cipher_auth.rb
237
237
  - lib/opennebula/server_x509_auth.rb
238
238
  - lib/opennebula/ssh_auth.rb