opennebula 5.4.15 → 5.5.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 +4 -4
- data/NOTICE +1 -1
- data/lib/ActionManager.rb +1 -1
- data/lib/CommandManager.rb +82 -59
- data/lib/DriverExecHelper.rb +1 -1
- data/lib/OpenNebulaDriver.rb +1 -1
- data/lib/VirtualMachineDriver.rb +1 -1
- data/lib/cloud/CloudClient.rb +3 -3
- data/lib/opennebula.rb +2 -2
- data/lib/opennebula/acl.rb +1 -1
- data/lib/opennebula/acl_pool.rb +1 -1
- data/lib/opennebula/client.rb +1 -1
- data/lib/opennebula/cluster.rb +1 -1
- data/lib/opennebula/cluster_pool.rb +1 -1
- data/lib/opennebula/datastore.rb +1 -1
- data/lib/opennebula/datastore_pool.rb +1 -1
- data/lib/opennebula/document.rb +1 -1
- data/lib/opennebula/document_json.rb +1 -1
- data/lib/opennebula/document_pool.rb +1 -1
- data/lib/opennebula/document_pool_json.rb +1 -1
- data/lib/opennebula/error.rb +1 -1
- data/lib/opennebula/group.rb +1 -1
- data/lib/opennebula/group_pool.rb +1 -1
- data/lib/opennebula/host.rb +1 -1
- data/lib/opennebula/host_pool.rb +1 -1
- data/lib/opennebula/image.rb +12 -2
- data/lib/opennebula/image_pool.rb +1 -1
- data/lib/opennebula/ldap_auth.rb +15 -20
- data/lib/opennebula/ldap_auth_spec.rb +1 -1
- data/lib/opennebula/marketplace.rb +1 -1
- data/lib/opennebula/marketplace_pool.rb +1 -1
- data/lib/opennebula/marketplaceapp.rb +14 -2
- data/lib/opennebula/marketplaceapp_pool.rb +1 -1
- data/lib/opennebula/oneflow_client.rb +1 -1
- data/lib/opennebula/pool.rb +1 -1
- data/lib/opennebula/pool_element.rb +24 -3
- data/lib/opennebula/security_group.rb +1 -1
- data/lib/opennebula/security_group_pool.rb +1 -1
- data/lib/opennebula/server_cipher_auth.rb +1 -1
- data/lib/opennebula/server_x509_auth.rb +1 -1
- data/lib/opennebula/ssh_auth.rb +1 -1
- data/lib/opennebula/system.rb +1 -1
- data/lib/opennebula/template.rb +14 -2
- data/lib/opennebula/template_pool.rb +1 -1
- data/lib/opennebula/user.rb +1 -1
- data/lib/opennebula/user_pool.rb +1 -1
- data/lib/opennebula/utils.rb +20 -1
- data/lib/opennebula/vdc.rb +1 -1
- data/lib/opennebula/vdc_pool.rb +1 -1
- data/lib/opennebula/virtual_machine.rb +19 -4
- data/lib/opennebula/virtual_machine_pool.rb +1 -1
- data/lib/opennebula/virtual_network.rb +12 -2
- data/lib/opennebula/virtual_network_pool.rb +1 -1
- data/lib/opennebula/virtual_router.rb +13 -1
- data/lib/opennebula/virtual_router_pool.rb +1 -1
- data/lib/opennebula/vm_group.rb +14 -2
- data/lib/opennebula/vm_group_pool.rb +1 -1
- data/lib/opennebula/x509_auth.rb +1 -1
- data/lib/opennebula/xml_element.rb +10 -1
- data/lib/opennebula/xml_pool.rb +1 -1
- data/lib/opennebula/xml_utils.rb +1 -1
- data/lib/opennebula/zone.rb +67 -1
- data/lib/opennebula/zone_pool.rb +1 -1
- data/lib/vcenter_driver.rb +17 -1
- metadata +4 -4
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2018, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
data/lib/opennebula/vm_group.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2018, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -28,7 +28,9 @@ module OpenNebula
|
|
28
28
|
:delete => "vmgroup.delete",
|
29
29
|
:chown => "vmgroup.chown",
|
30
30
|
:chmod => "vmgroup.chmod",
|
31
|
-
:rename => "vmgroup.rename"
|
31
|
+
:rename => "vmgroup.rename",
|
32
|
+
:lock => "vmgroup.lock",
|
33
|
+
:unlock => "vmgroup.unlock"
|
32
34
|
}
|
33
35
|
|
34
36
|
# Creates a VMGroup description with just its identifier
|
@@ -129,6 +131,16 @@ module OpenNebula
|
|
129
131
|
return call(VMGROUP_METHODS[:rename], @pe_id, name)
|
130
132
|
end
|
131
133
|
|
134
|
+
# Lock a VMGroup
|
135
|
+
def lock(level)
|
136
|
+
return call(VMGROUP_METHODS[:lock], @pe_id, level)
|
137
|
+
end
|
138
|
+
|
139
|
+
# Unlock a VMGroup
|
140
|
+
def unlock()
|
141
|
+
return call(VMGROUP_METHODS[:unlock], @pe_id)
|
142
|
+
end
|
143
|
+
|
132
144
|
#######################################################################
|
133
145
|
# Helpers to get VMGroup information
|
134
146
|
#######################################################################
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2018, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
data/lib/opennebula/x509_auth.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2018, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2018, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -145,6 +145,15 @@ module OpenNebula
|
|
145
145
|
}
|
146
146
|
end
|
147
147
|
|
148
|
+
# Update the content of the current doc
|
149
|
+
def set_content(content)
|
150
|
+
if NOKOGIRI
|
151
|
+
@xml.content = content
|
152
|
+
else
|
153
|
+
@xml.text = content
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
148
157
|
# Gets an array of text from elements extracted
|
149
158
|
# using the XPATH expression passed as filter
|
150
159
|
def retrieve_elements(filter)
|
data/lib/opennebula/xml_pool.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2018, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
data/lib/opennebula/xml_utils.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2018, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
data/lib/opennebula/zone.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2018, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -66,7 +66,48 @@ module OpenNebula
|
|
66
66
|
super(ZONE_METHODS[:info], 'ZONE')
|
67
67
|
end
|
68
68
|
|
69
|
+
# Retrieves the information extended of the given Zone.
|
70
|
+
# @return [nil, OpenNebula::Error] nil in case of success, Error
|
71
|
+
# otherwise
|
72
|
+
def info_extended()
|
73
|
+
rc = info()
|
74
|
+
|
75
|
+
return rc if OpenNebula.is_error?(rc)
|
76
|
+
|
77
|
+
@xml.xpath("SERVER_POOL/SERVER").each do |server|
|
78
|
+
endpoint = server.xpath("ENDPOINT")
|
79
|
+
endpoint = endpoint.text if endpoint
|
80
|
+
|
81
|
+
next if endpoint.nil?
|
82
|
+
|
83
|
+
client = OpenNebula::Client.new(nil, endpoint, {:timeout => 5})
|
84
|
+
|
85
|
+
xml = client.call("zone.raftstatus")
|
86
|
+
|
87
|
+
if OpenNebula.is_error?(xml)
|
88
|
+
add_element(server, "STATE", "-")
|
89
|
+
add_element(server, "TERM", "-")
|
90
|
+
add_element(server, "VOTEDFOR", "-")
|
91
|
+
add_element(server, "COMMIT", "-")
|
92
|
+
add_element(server, "LOG_INDEX", "-")
|
93
|
+
add_element(server, "FEDLOG_INDEX", "-")
|
94
|
+
|
95
|
+
next
|
96
|
+
end
|
97
|
+
|
98
|
+
xml = Nokogiri::XML(xml)
|
99
|
+
|
100
|
+
add_element_xml(server, xml, "STATE", "RAFT/STATE")
|
101
|
+
add_element_xml(server, xml, "TERM", "RAFT/TERM")
|
102
|
+
add_element_xml(server, xml, "VOTEDFOR", "RAFT/VOTEDFOR")
|
103
|
+
add_element_xml(server, xml, "COMMIT", "RAFT/COMMIT")
|
104
|
+
add_element_xml(server, xml, "LOG_INDEX", "RAFT/LOG_INDEX")
|
105
|
+
add_element_xml(server, xml, "FEDLOG_INDEX","RAFT/FEDLOG_INDEX")
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
69
109
|
alias_method :info!, :info
|
110
|
+
alias_method :info_extended!, :info_extended
|
70
111
|
|
71
112
|
# Allocates a new Zone in OpenNebula
|
72
113
|
#
|
@@ -126,5 +167,30 @@ module OpenNebula
|
|
126
167
|
def delete_servers(server_id)
|
127
168
|
return call(ZONE_METHODS[:delserver], @pe_id, server_id)
|
128
169
|
end
|
170
|
+
|
171
|
+
private
|
172
|
+
|
173
|
+
# These methods adds elements to the given node of the zone
|
174
|
+
def add_element(parent, key, value)
|
175
|
+
elem = Nokogiri::XML::Node.new(key, @xml.document)
|
176
|
+
elem.content = value
|
177
|
+
|
178
|
+
parent.add_child(elem)
|
179
|
+
end
|
180
|
+
|
181
|
+
def add_element_xml(parent, doc, key, xpath)
|
182
|
+
value = doc.at_xpath(xpath)
|
183
|
+
|
184
|
+
if value
|
185
|
+
value = value.text
|
186
|
+
else
|
187
|
+
value = "-"
|
188
|
+
end
|
189
|
+
|
190
|
+
elem = Nokogiri::XML::Node.new(key, @xml.document)
|
191
|
+
elem.content = value
|
192
|
+
|
193
|
+
parent.add_child(elem)
|
194
|
+
end
|
129
195
|
end
|
130
196
|
end
|
data/lib/opennebula/zone_pool.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2018, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
data/lib/vcenter_driver.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# ---------------------------------------------------------------------------- #
|
2
|
-
# Copyright 2002-
|
2
|
+
# Copyright 2002-2018, OpenNebula Project, OpenNebula Systems #
|
3
3
|
# #
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
|
5
5
|
# not use this file except in compliance with the License. You may obtain #
|
@@ -48,6 +48,7 @@ require 'openssl'
|
|
48
48
|
# vCenter Library #
|
49
49
|
# ---------------------------------------------------------------------------- #
|
50
50
|
|
51
|
+
require 'vcenter_importer.rb'
|
51
52
|
require 'memoize'
|
52
53
|
require 'vi_client'
|
53
54
|
require 'vi_helper'
|
@@ -59,6 +60,7 @@ require 'network'
|
|
59
60
|
require 'file_helper'
|
60
61
|
require 'importer'
|
61
62
|
|
63
|
+
CHECK_REFS = true
|
62
64
|
# ---------------------------------------------------------------------------- #
|
63
65
|
# Helper functions #
|
64
66
|
# ---------------------------------------------------------------------------- #
|
@@ -77,3 +79,17 @@ def check_valid(parameter, label)
|
|
77
79
|
exit -1
|
78
80
|
end
|
79
81
|
end
|
82
|
+
|
83
|
+
def check_item(item, target_class)
|
84
|
+
begin
|
85
|
+
item.name if CHECK_REFS
|
86
|
+
if target_class
|
87
|
+
if !item.instance_of?(target_class)
|
88
|
+
raise "Expecting type 'RbVmomi::VIM::#{target_class}'. " <<
|
89
|
+
"Got '#{item.class} instead."
|
90
|
+
end
|
91
|
+
end
|
92
|
+
rescue RbVmomi::Fault => e
|
93
|
+
raise "Reference \"#{item._ref}\" error. The reference does not exist"
|
94
|
+
end
|
95
|
+
end
|
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: 5.
|
4
|
+
version: 5.5.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: 2018-06-
|
11
|
+
date: 2018-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -137,9 +137,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
137
137
|
version: '0'
|
138
138
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
139
|
requirements:
|
140
|
-
- - '
|
140
|
+
- - '>'
|
141
141
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
142
|
+
version: 1.3.1
|
143
143
|
requirements: []
|
144
144
|
rubyforge_project:
|
145
145
|
rubygems_version: 2.0.14.1
|