foreman_fog_proxmox 0.5.6 → 0.6.0
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.
Potentially problematic release.
This version of foreman_fog_proxmox might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +28 -18
- data/app/controllers/concerns/foreman_fog_proxmox/controller/parameters/compute_resource.rb +1 -1
- data/app/helpers/proxmox_container_helper.rb +4 -3
- data/app/helpers/proxmox_server_helper.rb +3 -2
- data/app/helpers/proxmox_vm_helper.rb +6 -4
- data/app/models/concerns/fog_extensions/proxmox/{container_config.rb → node.rb} +6 -11
- data/app/models/concerns/fog_extensions/proxmox/server.rb +2 -13
- data/app/models/concerns/fog_extensions/proxmox/server_config.rb +18 -4
- data/app/models/foreman_fog_proxmox/proxmox.rb +104 -66
- data/app/overrides/compute_resources_vms/form/add_clone_to_new_vm_compute_detail.rb +0 -9
- data/app/overrides/compute_resources_vms/form/add_vm_type_to_networks_form.rb +1 -1
- data/app/overrides/compute_resources_vms/form/add_vm_type_to_nic_provider_specific_form.rb +1 -1
- data/app/services/foreman_fog_proxmox/node_dashboard/data.rb +3 -3
- data/app/views/compute_resources/form/_proxmox.html.erb +2 -2
- data/app/views/compute_resources/show/_proxmox.html.erb +4 -0
- data/app/views/compute_resources_vms/form/proxmox/_add_vm_type_to_networks_form.html.erb +2 -1
- data/app/views/compute_resources_vms/form/proxmox/_add_vm_type_to_networks_new_childs_form.html.erb +1 -0
- data/app/views/compute_resources_vms/form/proxmox/_add_vm_type_to_nic_provider_specific_form.html.erb +2 -1
- data/app/views/compute_resources_vms/form/proxmox/_add_vm_type_to_volumes_edit.html.erb +0 -1
- data/app/views/compute_resources_vms/form/proxmox/_general.html.erb +1 -1
- data/app/views/compute_resources_vms/form/proxmox/server/_network.html.erb +0 -1
- data/app/views/compute_resources_vms/show/_proxmox.html.erb +1 -1
- data/app/views/dashboard/_foreman_fog_proxmox_widget.erb +2 -2
- data/lib/foreman_fog_proxmox/engine.rb +3 -5
- data/lib/foreman_fog_proxmox/version.rb +1 -1
- data/test/factories/proxmox_factory.rb +9 -2
- data/test/unit/foreman_fog_proxmox/helpers/proxmox_container_helper_test.rb +5 -5
- data/test/unit/foreman_fog_proxmox/helpers/proxmox_server_helper_test.rb +2 -1
- data/test/unit/foreman_fog_proxmox/helpers/proxmox_vm_helper_test.rb +22 -14
- data/test/unit/foreman_fog_proxmox/proxmox_test.rb +22 -31
- data/test/unit/foreman_fog_proxmox/proxmox_test_helpers.rb +18 -4
- metadata +8 -9
- data/app/models/concerns/fog_extensions/proxmox/container.rb +0 -57
@@ -27,6 +27,13 @@ module ForemanFogProxmox
|
|
27
27
|
cr
|
28
28
|
end
|
29
29
|
|
30
|
+
def mock_node_containers(cr, containers)
|
31
|
+
node = mock('node')
|
32
|
+
node.stubs(:containers).returns(containers)
|
33
|
+
cr.stubs(:node).returns(node)
|
34
|
+
cr
|
35
|
+
end
|
36
|
+
|
30
37
|
def mock_node_servers_containers(cr, servers, containers)
|
31
38
|
node = mock('node')
|
32
39
|
node.stubs(:containers).returns(containers)
|
@@ -106,11 +113,14 @@ module ForemanFogProxmox
|
|
106
113
|
config.stubs(:interfaces).returns(interfaces)
|
107
114
|
vm = mock('vm')
|
108
115
|
vm.stubs(:config).returns(config)
|
116
|
+
vm.stubs(:type).returns('qemu')
|
117
|
+
service = mock('service')
|
109
118
|
vm_attributes = {
|
110
119
|
vmid: 100,
|
111
120
|
id: 'qemu/100',
|
112
|
-
|
121
|
+
node_id: 'pve',
|
113
122
|
config: config,
|
123
|
+
service: service,
|
114
124
|
name: 'test',
|
115
125
|
type: 'qemu',
|
116
126
|
maxdisk: 0,
|
@@ -206,17 +216,21 @@ module ForemanFogProxmox
|
|
206
216
|
bwlimit: nil,
|
207
217
|
unprivileged: nil,
|
208
218
|
interfaces: interfaces,
|
209
|
-
|
219
|
+
disks: volumes
|
210
220
|
}
|
211
221
|
config.stubs(:attributes).returns(config_attributes)
|
212
|
-
config.stubs(:
|
222
|
+
config.stubs(:attributes).returns(config_attributes)
|
223
|
+
config.stubs(:disks).returns(volumes)
|
213
224
|
config.stubs(:interfaces).returns(interfaces)
|
214
225
|
vm = mock('vm')
|
215
226
|
vm.stubs(:config).returns(config)
|
227
|
+
vm.stubs(:type).returns('lxc')
|
228
|
+
service = mock('service')
|
216
229
|
vm_attributes = {
|
217
230
|
vmid: 100,
|
218
231
|
id: 'lxc/100',
|
219
|
-
|
232
|
+
node_id: 'pve',
|
233
|
+
service: service,
|
220
234
|
config: config,
|
221
235
|
name: 'test',
|
222
236
|
type: 'lxc',
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_fog_proxmox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tristan Robert
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-04-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog-proxmox
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '0.
|
20
|
+
version: '0.6'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '0.
|
27
|
+
version: '0.6'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: deface
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,9 +105,8 @@ files:
|
|
105
105
|
- app/helpers/proxmox_form_helper.rb
|
106
106
|
- app/helpers/proxmox_server_helper.rb
|
107
107
|
- app/helpers/proxmox_vm_helper.rb
|
108
|
-
- app/models/concerns/fog_extensions/proxmox/container.rb
|
109
|
-
- app/models/concerns/fog_extensions/proxmox/container_config.rb
|
110
108
|
- app/models/concerns/fog_extensions/proxmox/disk.rb
|
109
|
+
- app/models/concerns/fog_extensions/proxmox/node.rb
|
111
110
|
- app/models/concerns/fog_extensions/proxmox/server.rb
|
112
111
|
- app/models/concerns/fog_extensions/proxmox/server_config.rb
|
113
112
|
- app/models/concerns/fog_extensions/proxmox/volume.rb
|
@@ -185,16 +184,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
184
|
- !ruby/object:Gem::Version
|
186
185
|
version: '0'
|
187
186
|
requirements: []
|
188
|
-
rubygems_version: 3.0.
|
187
|
+
rubygems_version: 3.0.3
|
189
188
|
signing_key:
|
190
189
|
specification_version: 4
|
191
190
|
summary: Foreman plugin that adds Proxmox VE compute resource using fog-proxmox
|
192
191
|
test_files:
|
192
|
+
- test/functional/compute_resources_controller_test.rb
|
193
193
|
- test/factories/proxmox_factory.rb
|
194
194
|
- test/test_plugin_helper.rb
|
195
|
-
- test/unit/foreman_fog_proxmox/proxmox_test_helpers.rb
|
196
195
|
- test/unit/foreman_fog_proxmox/helpers/proxmox_container_helper_test.rb
|
197
196
|
- test/unit/foreman_fog_proxmox/helpers/proxmox_vm_helper_test.rb
|
198
197
|
- test/unit/foreman_fog_proxmox/helpers/proxmox_server_helper_test.rb
|
199
198
|
- test/unit/foreman_fog_proxmox/proxmox_test.rb
|
200
|
-
- test/
|
199
|
+
- test/unit/foreman_fog_proxmox/proxmox_test_helpers.rb
|
@@ -1,57 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Copyright 2018 Tristan Robert
|
4
|
-
|
5
|
-
# This file is part of ForemanFogProxmox.
|
6
|
-
|
7
|
-
# ForemanFogProxmox is free software: you can redistribute it and/or modify
|
8
|
-
# it under the terms of the GNU General Public License as published by
|
9
|
-
# the Free Software Foundation, either version 3 of the License, or
|
10
|
-
# (at your option) any later version.
|
11
|
-
|
12
|
-
# ForemanFogProxmox is distributed in the hope that it will be useful,
|
13
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
# GNU General Public License for more details.
|
16
|
-
|
17
|
-
# You should have received a copy of the GNU General Public License
|
18
|
-
# along with ForemanFogProxmox. If not, see <http://www.gnu.org/licenses/>.
|
19
|
-
|
20
|
-
module FogExtensions
|
21
|
-
module Proxmox
|
22
|
-
module Container
|
23
|
-
extend ActiveSupport::Concern
|
24
|
-
attr_accessor :ostemplate_storage, :ostemplate_file, :password
|
25
|
-
def to_s
|
26
|
-
name
|
27
|
-
end
|
28
|
-
def persisted?
|
29
|
-
!!identity && !!uptime
|
30
|
-
end
|
31
|
-
def identity
|
32
|
-
"#{type}_#{vmid}"
|
33
|
-
end
|
34
|
-
def volumes
|
35
|
-
config.mount_points
|
36
|
-
end
|
37
|
-
def mount_points
|
38
|
-
config.mount_points.collect { |mp| mp.id+': '+mp.volid }
|
39
|
-
end
|
40
|
-
def memory
|
41
|
-
maxmem.to_i
|
42
|
-
end
|
43
|
-
def interfaces
|
44
|
-
config.interfaces
|
45
|
-
end
|
46
|
-
def vm_description
|
47
|
-
"Name=#{name}, vmid=#{vmid}"
|
48
|
-
end
|
49
|
-
def interfaces_attributes=(attrs); end
|
50
|
-
def volumes_attributes=(attrs); end
|
51
|
-
def config_attributes=(attrs); end
|
52
|
-
def templated?
|
53
|
-
volumes.any? { |volume| volume.templated? }
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|