foreman_bootdisk 23.2.2 → 23.2.3
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/app/models/concerns/foreman_bootdisk/compute_resources/proxmox.rb +9 -8
- data/app/models/concerns/foreman_bootdisk/compute_resources/vmware.rb +10 -0
- data/app/models/concerns/foreman_bootdisk/orchestration/compute.rb +16 -0
- data/app/services/foreman_bootdisk/iso_generator.rb +1 -1
- data/lib/foreman_bootdisk/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 47a164e7be4aa1b774c02d0b73a90ddb273e4db96faa93c618d455b7eb82a0ce
|
|
4
|
+
data.tar.gz: 2983f0ff062f2e0e9e8564ce481cc9f7627a5331183bb7fd837616d4cf9e83eb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 97a88a100772292d55017f68debb1492a5fac35f4e5a095fa20dfb0647541cfd17cebade99f1a92fc6643ae9ccf0e7645fd9296987fe4f8d23c9d7b3f2708bd2
|
|
7
|
+
data.tar.gz: 58d5311b0ae20b4baf16dff3ff96cd69e096798717900d146b1a2a83497d92fa144379853f8648edcfc91049bf1467ecc3c74bfced47c5d5deb7f0cf89bf7e7e
|
|
@@ -20,6 +20,15 @@ module ForemanBootdisk
|
|
|
20
20
|
storage.volumes.any? { |v| v.volid.include? File.basename(iso) }
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
+
def iso_delete(iso, vm_uuid)
|
|
24
|
+
server = find_vm_by_uuid(vm_uuid)
|
|
25
|
+
|
|
26
|
+
# delete the iso file from proxmox server
|
|
27
|
+
storage = storages(server.node_id, 'iso')[0]
|
|
28
|
+
volume = storage.volumes.detect { |v| v.volid.include? File.basename(iso) }
|
|
29
|
+
volume&.destroy
|
|
30
|
+
end
|
|
31
|
+
|
|
23
32
|
def iso_attach(iso, vm_uuid)
|
|
24
33
|
server = find_vm_by_uuid(vm_uuid)
|
|
25
34
|
storage = storages(server.node_id, 'iso')[0]
|
|
@@ -31,18 +40,10 @@ module ForemanBootdisk
|
|
|
31
40
|
|
|
32
41
|
def iso_detach(vm_uuid)
|
|
33
42
|
server = find_vm_by_uuid(vm_uuid)
|
|
34
|
-
|
|
35
|
-
# get volid to delete iso after detaching from vm
|
|
36
|
-
volid = server.volumes.get(CDROM_VOLUME).volid
|
|
37
43
|
server.update({ ide2: "none,media=cdrom" })
|
|
38
44
|
|
|
39
45
|
# cdrom will be ejected on next power off
|
|
40
46
|
server.detach(CDROM_VOLUME)
|
|
41
|
-
|
|
42
|
-
# delete the iso file from proxmox server
|
|
43
|
-
storage = storages(server.node_id, 'iso')[0]
|
|
44
|
-
volume = storage.volumes.detect { |v| v.volid.include? volid }
|
|
45
|
-
volume.destroy
|
|
46
47
|
end
|
|
47
48
|
end
|
|
48
49
|
end
|
|
@@ -31,6 +31,16 @@ module ForemanBootdisk
|
|
|
31
31
|
client.upload_iso options
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
+
def iso_delete(iso, vm_uuid)
|
|
35
|
+
options = {
|
|
36
|
+
'local_path' => iso,
|
|
37
|
+
'datacenter' => dc.name,
|
|
38
|
+
'datastore' => bootdisk_datastore(vm_uuid),
|
|
39
|
+
'upload_directory' => 'foreman_isos'
|
|
40
|
+
}
|
|
41
|
+
client.destroy_iso options
|
|
42
|
+
end
|
|
43
|
+
|
|
34
44
|
def iso_attach(iso, vm_uuid)
|
|
35
45
|
controller = controller_config(vm_uuid)
|
|
36
46
|
options = {
|
|
@@ -37,6 +37,8 @@ module ForemanBootdisk
|
|
|
37
37
|
elsif old&.build? && !build?
|
|
38
38
|
queue.create(name: _('Detach ISO image from CDROM drive for %s') % self, priority: 52,
|
|
39
39
|
action: [self, :setDetachIsoImage])
|
|
40
|
+
queue.create(name: _('Delete ISO image for %s') % self, priority: 53,
|
|
41
|
+
action: [self, :setDeleteIsoImage])
|
|
40
42
|
end
|
|
41
43
|
true
|
|
42
44
|
end
|
|
@@ -59,6 +61,10 @@ module ForemanBootdisk
|
|
|
59
61
|
compute_resource.iso_upload(bootdisk_isofile, uuid)
|
|
60
62
|
end
|
|
61
63
|
|
|
64
|
+
def bootdisk_delete_iso
|
|
65
|
+
compute_resource.iso_delete(bootdisk_isofile, uuid)
|
|
66
|
+
end
|
|
67
|
+
|
|
62
68
|
def bootdisk_attach_iso
|
|
63
69
|
compute_resource.iso_attach(File.basename(bootdisk_isofile), uuid)
|
|
64
70
|
end
|
|
@@ -101,6 +107,16 @@ module ForemanBootdisk
|
|
|
101
107
|
end
|
|
102
108
|
|
|
103
109
|
def delDetachIsoImage; end
|
|
110
|
+
|
|
111
|
+
def setDeleteIsoImage
|
|
112
|
+
logger.info format('Delete ISO image for %s', name)
|
|
113
|
+
bootdisk_delete_iso
|
|
114
|
+
rescue StandardError => e
|
|
115
|
+
failure format(_('Failed to delete ISO image of instance %{name}: %{message}'), name: name, message: e.message), e
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
def delDeleteIsoImage; end
|
|
119
|
+
|
|
104
120
|
end
|
|
105
121
|
end
|
|
106
122
|
end
|
|
@@ -205,7 +205,7 @@ module ForemanBootdisk
|
|
|
205
205
|
file.binmode
|
|
206
206
|
|
|
207
207
|
if use_cache && !(contents = Rails.cache.fetch(uri, raw: true)).nil?
|
|
208
|
-
ForemanBootdisk.logger.info("Retrieved #{uri} from local cache
|
|
208
|
+
ForemanBootdisk.logger.info("Retrieved #{uri} from local cache")
|
|
209
209
|
file.write(contents)
|
|
210
210
|
else
|
|
211
211
|
ForemanBootdisk.logger.info("Fetching #{uri}")
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: foreman_bootdisk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 23.2.
|
|
4
|
+
version: 23.2.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dominic Cleal
|
|
@@ -167,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
167
167
|
- !ruby/object:Gem::Version
|
|
168
168
|
version: '0'
|
|
169
169
|
requirements: []
|
|
170
|
-
rubygems_version: 4.0.
|
|
170
|
+
rubygems_version: 4.0.6
|
|
171
171
|
specification_version: 4
|
|
172
172
|
summary: Create boot disks to provision hosts with Foreman
|
|
173
173
|
test_files: []
|