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.

Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +28 -18
  3. data/app/controllers/concerns/foreman_fog_proxmox/controller/parameters/compute_resource.rb +1 -1
  4. data/app/helpers/proxmox_container_helper.rb +4 -3
  5. data/app/helpers/proxmox_server_helper.rb +3 -2
  6. data/app/helpers/proxmox_vm_helper.rb +6 -4
  7. data/app/models/concerns/fog_extensions/proxmox/{container_config.rb → node.rb} +6 -11
  8. data/app/models/concerns/fog_extensions/proxmox/server.rb +2 -13
  9. data/app/models/concerns/fog_extensions/proxmox/server_config.rb +18 -4
  10. data/app/models/foreman_fog_proxmox/proxmox.rb +104 -66
  11. data/app/overrides/compute_resources_vms/form/add_clone_to_new_vm_compute_detail.rb +0 -9
  12. data/app/overrides/compute_resources_vms/form/add_vm_type_to_networks_form.rb +1 -1
  13. data/app/overrides/compute_resources_vms/form/add_vm_type_to_nic_provider_specific_form.rb +1 -1
  14. data/app/services/foreman_fog_proxmox/node_dashboard/data.rb +3 -3
  15. data/app/views/compute_resources/form/_proxmox.html.erb +2 -2
  16. data/app/views/compute_resources/show/_proxmox.html.erb +4 -0
  17. data/app/views/compute_resources_vms/form/proxmox/_add_vm_type_to_networks_form.html.erb +2 -1
  18. data/app/views/compute_resources_vms/form/proxmox/_add_vm_type_to_networks_new_childs_form.html.erb +1 -0
  19. data/app/views/compute_resources_vms/form/proxmox/_add_vm_type_to_nic_provider_specific_form.html.erb +2 -1
  20. data/app/views/compute_resources_vms/form/proxmox/_add_vm_type_to_volumes_edit.html.erb +0 -1
  21. data/app/views/compute_resources_vms/form/proxmox/_general.html.erb +1 -1
  22. data/app/views/compute_resources_vms/form/proxmox/server/_network.html.erb +0 -1
  23. data/app/views/compute_resources_vms/show/_proxmox.html.erb +1 -1
  24. data/app/views/dashboard/_foreman_fog_proxmox_widget.erb +2 -2
  25. data/lib/foreman_fog_proxmox/engine.rb +3 -5
  26. data/lib/foreman_fog_proxmox/version.rb +1 -1
  27. data/test/factories/proxmox_factory.rb +9 -2
  28. data/test/unit/foreman_fog_proxmox/helpers/proxmox_container_helper_test.rb +5 -5
  29. data/test/unit/foreman_fog_proxmox/helpers/proxmox_server_helper_test.rb +2 -1
  30. data/test/unit/foreman_fog_proxmox/helpers/proxmox_vm_helper_test.rb +22 -14
  31. data/test/unit/foreman_fog_proxmox/proxmox_test.rb +22 -31
  32. data/test/unit/foreman_fog_proxmox/proxmox_test_helpers.rb +18 -4
  33. metadata +8 -9
  34. 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
- node: 'pve',
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
- mount_points: volumes
219
+ disks: volumes
210
220
  }
211
221
  config.stubs(:attributes).returns(config_attributes)
212
- config.stubs(:mount_points).returns(volumes)
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
- node: 'pve',
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.5.6
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-02-12 00:00:00.000000000 Z
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.5'
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.5'
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.1
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/functional/compute_resources_controller_test.rb
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