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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b3c82de3e1162b3913f70034ebb9ac53fec5caeef51eefc5a13f3bacbfa6466
4
- data.tar.gz: c1a787f40d59615d4d572f5ea25285e2d25af4a05051ec2384af811c517e04f4
3
+ metadata.gz: 47a164e7be4aa1b774c02d0b73a90ddb273e4db96faa93c618d455b7eb82a0ce
4
+ data.tar.gz: 2983f0ff062f2e0e9e8564ce481cc9f7627a5331183bb7fd837616d4cf9e83eb
5
5
  SHA512:
6
- metadata.gz: dca4043b39111ac73a1922f5fc9b28683c24a84e25fcf999476416515a1c387fb0b80722d319cde0f4e4afbeee286e6aa621979a11bc19280cda3cd324127c77
7
- data.tar.gz: 6699fe11d34ee10e02261b15e123cc9ffc791cefbd207351369917009c3cc0c98d853b0f869953d2350aeb6aeaec773f809c9b0034c66df6c59f31569c4a1666
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 (use foreman-rake tmp:cache:clear to empty)")
208
+ ForemanBootdisk.logger.info("Retrieved #{uri} from local cache")
209
209
  file.write(contents)
210
210
  else
211
211
  ForemanBootdisk.logger.info("Fetching #{uri}")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ForemanBootdisk
4
- VERSION = '23.2.2'
4
+ VERSION = '23.2.3'
5
5
  end
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.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.3
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: []