opennebula 6.8.3 → 6.9.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: 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