foreman_fog_proxmox 0.5.6 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.

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