opennebula 6.2.2 → 6.3.80.pre

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9492453d246b5d413a5902766bda7526160e953c1e6072d242509ebff8df73bc
4
- data.tar.gz: eb349b7f7f2a87b29cbbae06ec35db4131db8baf96e5cbf4cf9875f3815e2db3
3
+ metadata.gz: cbf5d10fd120f0a5f41abc59d743f38b1080002271e2ecbb131463a0e145cfba
4
+ data.tar.gz: e3de025f53033170cea9ca52871dd4c0c2ef417d8ca0637b861fe9f495b9d011
5
5
  SHA512:
6
- metadata.gz: 546bd3075e73b2e73be4abe53dad5af5d27956dbb896182fd828a2794b510b5df71ea615915b82abbba506ff824f31091fb54afee8d8e67b3b50092714a15ffb
7
- data.tar.gz: 6476073b7b334c8e746350760a0de9082770f45df57ee3c9db318b72ee9f1c72c86f8626d892e313c4d92387920e367a063878ac24237b017b66fecb7dc3d7fb
6
+ metadata.gz: d02e4f443085e4e797b09252a9583c7b59255335abcc51a3a50b0f4f82d2007ab17f7fc13df49bfc7214dd92ba68bc07f4282c019807a3237af1cb0675bf07b1
7
+ data.tar.gz: 86fede32beb5965879433a8808237d17765da216125ef7b312649f6b6707a337fe3783c7cde67aa90cc9feef413c73d69817ff5cb7cee0dec42b3a91f3b5abb9
@@ -51,7 +51,7 @@ end
51
51
  module CloudClient
52
52
 
53
53
  # OpenNebula version
54
- VERSION = '6.2.2'
54
+ VERSION = '6.3.80'
55
55
 
56
56
  # #########################################################################
57
57
  # Default location for the authentication file
data/lib/datastore.rb CHANGED
@@ -561,7 +561,7 @@ module VCenterDriver
561
561
  rescue StandardError => e
562
562
  message = "Could not find file. Reason: \"#{e.message}\"."
563
563
  if VCenterDriver::CONFIG[:debug_information]
564
- message += ' ' + e.backtrace
564
+ message += ' ' + e.backtrace.to_s
565
565
  end
566
566
  raise message
567
567
  end
data/lib/file_helper.rb CHANGED
@@ -98,7 +98,7 @@ module VCenterDriver
98
98
  end
99
99
 
100
100
  def self.get_type(file)
101
- type = `file -b --mime-type #{file}`
101
+ type = `file -P bytes=256 -b --mime-type #{file}`
102
102
  if $?.exitstatus != 0 # rubocop:disable Style/SpecialGlobalVars
103
103
  STDERR.puts "Can not read file #{file}"
104
104
  exit(-1)
@@ -186,6 +186,7 @@ module OpenNebula::MarketPlaceAppExt
186
186
  # Created an associated VMTemplate if needed
187
187
  #---------------------------------------------------------------
188
188
  if is_vcenter &&
189
+ !options[:notemplate] &&
189
190
  (!options[:template] || options[:template] == -1)
190
191
  tmpl = create_vcenter_template(ds, options, image)
191
192
 
@@ -54,7 +54,9 @@ module OpenNebula
54
54
  :unlock => "vm.unlock",
55
55
  :schedadd => "vm.schedadd",
56
56
  :scheddelete => "vm.scheddelete",
57
- :schedupdate => "vm.schedupdate"
57
+ :schedupdate => "vm.schedupdate",
58
+ :attachsg => "vm.attachsg",
59
+ :detachsg => "vm.detachsg"
58
60
  }
59
61
 
60
62
  VM_STATE=%w{INIT PENDING HOLD ACTIVE STOPPED SUSPENDED DONE FAILED
@@ -460,6 +462,25 @@ module OpenNebula
460
462
  return call(VM_METHODS[:detachnic], @pe_id, nic_id)
461
463
  end
462
464
 
465
+ # Attaches a Security Groupt to a running VM
466
+ #
467
+ # @param nic_id [Integer] Id of the NIC, where to attach SG
468
+ # @param sg_id [Integer] Id of the SG to be attached
469
+ # @return [nil, OpenNebula::Error] nil in case of success, Error
470
+ # otherwise
471
+ def sg_attach(nic_id, sg_id)
472
+ return call(VM_METHODS[:attachsg], @pe_id, nic_id, sg_id)
473
+ end
474
+
475
+ # Detaches a Security Group from a running VM
476
+ #
477
+ # @param sg_id [Integer] Id of the SG to be detached
478
+ # @return [nil, OpenNebula::Error] nil in case of success, Error
479
+ # otherwise
480
+ def sg_detach(nic_id, sg_id)
481
+ return call(VM_METHODS[:detachsg], @pe_id, nic_id, sg_id)
482
+ end
483
+
463
484
  # Sets the re-scheduling flag for the VM
464
485
  def resched
465
486
  action('resched')
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.2.2'
80
+ VERSION = '6.3.80'
81
81
  end
data/lib/vi_helper.rb CHANGED
@@ -97,7 +97,12 @@ module VCenterDriver
97
97
 
98
98
  def self.one_item(the_class, id, exit_if_fail = true)
99
99
  item = the_class.new_with_id(id, client)
100
- rc = item.info
100
+ rc=nil
101
+ if the_class == OpenNebula::VirtualMachine
102
+ rc = item.info(true)
103
+ else
104
+ rc = item.info
105
+ end
101
106
  return_if_error(rc, item, exit_if_fail)
102
107
  end
103
108
 
@@ -1784,6 +1784,8 @@ end
1784
1784
  end
1785
1785
 
1786
1786
  def extraconfig_context
1787
+ one_item.info(true)
1788
+
1787
1789
  context_text = "# Context variables generated by OpenNebula\n"
1788
1790
  one_item.each('TEMPLATE/CONTEXT/*') do |context_element|
1789
1791
  # next if !context_element.text
@@ -3076,10 +3078,10 @@ end
3076
3078
  @item.ReconfigVM_Task(:spec => vm_config_spec).wait_for_completion
3077
3079
 
3078
3080
  devices.each do |device|
3079
- next unless first_condition &&
3081
+ valid_device =
3082
+ device.class == RbVmomi::VIM::VirtualLsiLogicController &&
3080
3083
  device.key == scsi_key
3081
-
3082
- controller = device.deviceInfo.label
3084
+ controller = device.deviceInfo.label if valid_device
3083
3085
  end
3084
3086
 
3085
3087
  controller
data/lib/vm_monitor.rb CHANGED
@@ -275,6 +275,10 @@ module VirtualMachineMonitor
275
275
  info_disks.each do |disk|
276
276
  next if disk[1].no_exists?
277
277
 
278
+ # disk[0] contains the disk ID in OpenNebula or the disk path if
279
+ # there is no corresponding OpenNebula disk
280
+ # disk[1] contains the vcenter resource corresponding to the VM disk
281
+
278
282
  # Delete special characters
279
283
  name = disk[0].gsub(/[^0-9A-Za-z]/, '_')
280
284
 
data/lib/vm_template.rb CHANGED
@@ -408,13 +408,25 @@ module VCenterDriver
408
408
  break
409
409
  end
410
410
 
411
+ # Read configuration for imported images, taking
412
+ # into account if we are importing a VM Tempalte
413
+ # or a Wild VM
414
+ image_persistency = nil
415
+ if vm?
416
+ image_persistency = :wild_vm_persistent_images
417
+ else
418
+ image_persistency = :vm_template_persistent_images
419
+ end
420
+
421
+ image_persistency = VCenterDriver::CONFIG[image_persistency]
422
+
411
423
  params = {
412
424
  :disk => disk,
413
425
  :ipool => ipool,
414
426
  :_type => type,
415
427
  :ds_id => datastore_found['ID'],
416
428
  :opts => {
417
- :persistent => vm? ? 'YES':'NO'
429
+ :persistent => image_persistency ? 'YES':'NO'
418
430
  },
419
431
  :images => images
420
432
  }
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.2.2
4
+ version: 6.3.80.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenNebula
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-23 00:00:00.000000000 Z
11
+ date: 2022-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -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: '0'
260
+ version: 1.3.1
261
261
  requirements: []
262
262
  rubygems_version: 3.1.2
263
263
  signing_key: