opennebula 6.8.3 → 6.9.80.pre

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
  SHA256:
3
- metadata.gz: 8e16a4dc8d312bf0f7363eb17802682cb72bae5fc5ffad65258d520306dfb97c
4
- data.tar.gz: c9d4605aad6a1d5d2d2600b9b0919994496942789d65c4868b6e40ccb020307e
3
+ metadata.gz: 5cf888b9c95db4f557149408182752fb7de455cd59b3f5300b2401dcb9291852
4
+ data.tar.gz: 02fa72864a8859c132397c2a7d08e5dd831ff5be9743da486f0d782ae8e166b4
5
5
  SHA512:
6
- metadata.gz: 49c4496d1a48dd35a7938f4dd9bf28c1edd75e200f2185d35f853c7db6d2a54fd5df874571248aff294ff4b9bb9b232aef6b752b1002cf3bdb7e337f6c292cd2
7
- data.tar.gz: 268322ae279f3af5bf9e3681ead11d1553918b767ab20f68ad0c0b8ddfcf5223e1fe565b74baf4f804dac0a8e45b681dedc0454a6580eed7dd1b6328cca23786
6
+ metadata.gz: fa192365155396fe0719ef58c97ca01b94f06f0f6bd8d8fb8c87f70b69f85d7cc3b4abe1d2d4c39c63a5419d67351b25d1f0bfa6caf0bce3f09c76e720afa2f1
7
+ data.tar.gz: cc2141821c1dc205c592f2e7d8f9200ab1b963713b83580350b22f9c551fe3ba7d8cbd670fb174b6211c83529ed064ce6bcf4356a2e1a6c47ef815d8bc17a6ba
@@ -51,7 +51,7 @@ end
51
51
  module CloudClient
52
52
 
53
53
  # OpenNebula version
54
- VERSION = '6.8.3'
54
+ VERSION = '6.9.80'
55
55
 
56
56
  # #########################################################################
57
57
  # Default location for the authentication file
data/lib/models/role.rb CHANGED
@@ -839,7 +839,11 @@ module OpenNebula
839
839
 
840
840
  rc = deploy
841
841
 
842
- deployed_nodes.concat(rc[0]) if rc[1].nil?
842
+ unless rc[0]
843
+ return [false, "Error deploying nodes for role `#{name}`"]
844
+ end
845
+
846
+ deployed_nodes.concat(rc[0])
843
847
 
844
848
  deployed_nodes
845
849
  end
@@ -298,7 +298,7 @@ module OpenNebula
298
298
 
299
299
  @body['networks_values'].each do |vnet|
300
300
  vnet.each do |_, net|
301
- next if net.keys.first == 'id' && !deploy
301
+ next if net.key?('id') && !deploy
302
302
 
303
303
  ret << net['id'].to_i
304
304
  end
@@ -635,24 +635,21 @@ module OpenNebula
635
635
  end
636
636
 
637
637
  def deploy_networks(deploy = true)
638
- if deploy
639
- body = JSON.parse(self['TEMPLATE/BODY'])
640
- else
641
- body = @body
642
- end
638
+ body = if deploy
639
+ JSON.parse(self['TEMPLATE/BODY'])
640
+ else
641
+ @body
642
+ end
643
643
 
644
644
  return if body['networks_values'].nil?
645
645
 
646
646
  body['networks_values'].each do |vnet|
647
647
  vnet.each do |name, net|
648
- key = net.keys.first
648
+ next if net.key?('id')
649
649
 
650
- case key
651
- when 'id'
652
- next
653
- when 'template_id'
650
+ if net.key?('template_id')
654
651
  rc = create_vnet(name, net)
655
- when 'reserve_from'
652
+ elsif net.key?('reserve_from')
656
653
  rc = reserve(name, net)
657
654
  end
658
655
 
@@ -678,18 +675,14 @@ module OpenNebula
678
675
 
679
676
  vnets.each do |vnet|
680
677
  vnet.each do |_, net|
681
- key = net.keys.first
682
-
683
- next unless ['template_id', 'reserve_from'].include?(key)
678
+ next unless net.key?('template_id') || net.key?('reserve_from')
684
679
 
685
680
  rc = OpenNebula::VirtualNetwork.new_with_id(
686
681
  net['id'],
687
682
  @client
688
683
  ).delete
689
684
 
690
- next unless OpenNebula.is_error?(rc)
691
-
692
- vnets_failed << net['id']
685
+ vnets_failed << net['id'] if OpenNebula.is_error?(rc)
693
686
  end
694
687
  end
695
688
 
@@ -798,10 +791,7 @@ module OpenNebula
798
791
 
799
792
  next if net.nil?
800
793
 
801
- role['vm_template_contents'].gsub!(
802
- '$'+key[0],
803
- net[net.keys[0]]['id'].to_s
804
- )
794
+ role['vm_template_contents'].gsub!("$#{key[0]}", net[key[0]]['id'].to_s)
805
795
  end
806
796
  end
807
797
  end
@@ -31,7 +31,7 @@ module OpenNebula
31
31
  },
32
32
  'cardinality' => {
33
33
  :type => :integer,
34
- :default => 1,
34
+ :default => 0,
35
35
  :minimum => 0
36
36
  },
37
37
  'vm_template' => {
@@ -93,7 +93,6 @@ module OpenNebula::MarketPlaceAppExt
93
93
  # Exports an OpenNebula Image from this marketplace app
94
94
  # @param options to export the image
95
95
  # :vmtemplate_name [String] name of new image and template
96
- # :url_args [String] optional URL arguments
97
96
  # :dsid [String] Datastore id to create the image
98
97
  # :f_dsid [String] Files Datastore id
99
98
  # :notemplate [Bool] if true do not create vm_template (if any)
@@ -126,10 +125,6 @@ module OpenNebula::MarketPlaceAppExt
126
125
  FROM_APP = "#{self['ID']}"
127
126
  EOT
128
127
 
129
- if options[:url_args]
130
- tmpl << "URL_ARGS=\"#{options[:url_args]}\"\n"
131
- end
132
-
133
128
  #---------------------------------------------------------------
134
129
  # Kernel or context images stored in a files datastore
135
130
  #---------------------------------------------------------------
@@ -63,7 +63,8 @@ module OpenNebula
63
63
  :updatenic => 'vm.updatenic',
64
64
  :backupcancel => 'vm.backupcancel',
65
65
  :attachpci => 'vm.attachpci',
66
- :detachpci => 'vm.detachpci'
66
+ :detachpci => 'vm.detachpci',
67
+ :restore => 'vm.restore'
67
68
  }
68
69
 
69
70
  VM_STATE=['INIT', 'PENDING', 'HOLD', 'ACTIVE', 'STOPPED', 'SUSPENDED', 'DONE', 'FAILED',
@@ -140,7 +141,8 @@ module OpenNebula
140
141
  'HOTPLUG_SAVEAS_UNDEPLOYED',
141
142
  'HOTPLUG_SAVEAS_STOPPED',
142
143
  'BACKUP',
143
- 'BACKUP_POWEROFF'
144
+ 'BACKUP_POWEROFF',
145
+ 'RESTORE'
144
146
  ]
145
147
 
146
148
  SHORT_VM_STATES={
@@ -227,7 +229,8 @@ module OpenNebula
227
229
  'HOTPLUG_SAVEAS_UNDEPLOYED' => 'hotp',
228
230
  'HOTPLUG_SAVEAS_STOPPED' => 'hotp',
229
231
  'BACKUP' => 'back',
230
- 'BACKUP_POWEROFF' => 'back'
232
+ 'BACKUP_POWEROFF' => 'back',
233
+ 'RESTORE' => 'rest'
231
234
  }
232
235
 
233
236
  HISTORY_ACTION=[
@@ -290,7 +293,8 @@ module OpenNebula
290
293
  'sg-attach',
291
294
  'sg-detach',
292
295
  'pci-attach',
293
- 'pci-detach'
296
+ 'pci-detach',
297
+ 'restore'
294
298
  ]
295
299
 
296
300
  EXTERNAL_IP_ATTRS = [
@@ -891,6 +895,14 @@ module OpenNebula
891
895
  call(VM_METHODS[:detachpci], @pe_id, pci_id)
892
896
  end
893
897
 
898
+ # Restore the VM from backup Image
899
+ #
900
+ # @return [nil, OpenNebula::Error] nil in case of sucess, Error
901
+ # otherwise.
902
+ def restore(img_id, inc_id, disk_id)
903
+ @client.call(VM_METHODS[:restore], @pe_id, img_id, inc_id, disk_id)
904
+ end
905
+
894
906
  ########################################################################
895
907
  # Helpers to get VirtualMachine information
896
908
  ########################################################################
data/lib/opennebula.rb CHANGED
@@ -79,5 +79,5 @@ require 'opennebula/backupjob_pool'
79
79
  module OpenNebula
80
80
 
81
81
  # OpenNebula version
82
- VERSION = '6.8.3'
82
+ VERSION = '6.9.80'
83
83
  end
@@ -104,9 +104,6 @@ module OpenNebula
104
104
  file_name = 'monitord.conf'
105
105
 
106
106
  begin
107
- # Suppress augeas require warning message
108
- $VERBOSE = nil
109
-
110
107
  require 'augeas'
111
108
 
112
109
  aug = Augeas.create(:no_modl_autoload => true,
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.8.3
4
+ version: 6.9.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: 2024-04-21 00:00:00.000000000 Z
11
+ date: 2024-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -258,11 +258,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
258
258
  version: '0'
259
259
  required_rubygems_version: !ruby/object:Gem::Requirement
260
260
  requirements:
261
- - - ">="
261
+ - - ">"
262
262
  - !ruby/object:Gem::Version
263
- version: '0'
263
+ version: 1.3.1
264
264
  requirements: []
265
- rubygems_version: 3.1.2
265
+ rubygems_version: 3.3.5
266
266
  signing_key:
267
267
  specification_version: 4
268
268
  summary: OpenNebula Client API