rake-proxmox 0.5.1 → 0.7.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.
- checksums.yaml +5 -5
- data/.travis.yml +2 -2
- data/lib/rake/proxmox/proxmox_api.rb +5 -0
- data/lib/rake/proxmox/version.rb +1 -1
- data/lib/rake/proxmox.rb +15 -5
- data/rake-proxmox.gemspec +5 -7
- metadata +11 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 38d1fc514482d516b169e6b0d65dd169c2a272b98c95ab11fd74906f428095fd
|
4
|
+
data.tar.gz: b56580a0dbcd1f499643a5ec1ec379ac65df67df8d82a87ab4cdb6a1e47c8261
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bdb16c87e9d13238f50ff27738849e853f3b70c44d645e3561cde969ffa2edf45917fe321576ba92a83af7e83646537f36d57fbc104be72c2a19a7bf947d7260
|
7
|
+
data.tar.gz: 4f1e8d9edae23d054f7015fdc47adcd61ded2912a42c3c9efacef3d5b5fed340abc8a308b6e6cd5cafa92af9bea935fffe61b7287cb5e2f51959a3b497928710
|
data/.travis.yml
CHANGED
@@ -486,6 +486,11 @@ module Rake
|
|
486
486
|
http_action_get("nodes/#{node}/storage/#{storage}/content")
|
487
487
|
end
|
488
488
|
|
489
|
+
# delete volume from storage
|
490
|
+
def storage_volume_delete(volume, node = @node, storage = 'local')
|
491
|
+
http_action_delete "nodes/#{node}/storage/#{storage}/content/#{volume}"
|
492
|
+
end
|
493
|
+
|
489
494
|
# get backup job list
|
490
495
|
def fetch_backup_jobs
|
491
496
|
http_action_get('cluster/backup')
|
data/lib/rake/proxmox/version.rb
CHANGED
data/lib/rake/proxmox.rb
CHANGED
@@ -262,6 +262,16 @@ module Rake
|
|
262
262
|
end
|
263
263
|
end
|
264
264
|
|
265
|
+
desc 'delete proxmox storage volume'
|
266
|
+
task 'storage:delete:volume', %i[volume node storage] do |_t, args|
|
267
|
+
args.with_defaults(storage: 'local')
|
268
|
+
args.with_defaults(node: ENV['PROXMOX_NODE'])
|
269
|
+
taskid = proxmox.storage_volume_delete(args.volume,
|
270
|
+
args.node,
|
271
|
+
args.storage)
|
272
|
+
wait_for_task(taskid, args.node)
|
273
|
+
end
|
274
|
+
|
265
275
|
desc 'list all backup jobs'
|
266
276
|
task 'cluster:backupjob:list', %i[json] do |_t, args|
|
267
277
|
# handle arguments
|
@@ -324,19 +334,19 @@ module Rake
|
|
324
334
|
" to #{args.range_max}: "
|
325
335
|
puts exclude_list.join(',')
|
326
336
|
proxmox.fetch_backup_jobs.each do |c|
|
327
|
-
|
337
|
+
bjob_exclude = c['exclude'].nil? ? '' : c['exclude']
|
338
|
+
bjob_list = bjob_exclude.split(',')
|
328
339
|
unless (exclude_list - bjob_list).any?
|
329
340
|
puts 'Nothing to exclude. All VMs in given range are in'\
|
330
341
|
' current exclude list in backup job '\
|
331
|
-
"with id #{c['id']}
|
342
|
+
"with id #{c['id']}."
|
332
343
|
next
|
333
344
|
end
|
334
345
|
puts 'Add following IDs to exclude list in backup job '\
|
335
|
-
"with id #{c['id']}
|
346
|
+
"with id #{c['id']}:"
|
336
347
|
add_to_bjob = exclude_list - bjob_list
|
337
348
|
puts add_to_bjob.join(',')
|
338
349
|
new_settings = {
|
339
|
-
starttime: c['starttime'],
|
340
350
|
exclude: (exclude_list | bjob_list).join(',')
|
341
351
|
}
|
342
352
|
response = proxmox.update_backup_job(c['id'], new_settings)
|
@@ -354,7 +364,7 @@ module Rake
|
|
354
364
|
task 'backup:list', %i[vmid node storage] do |_t, args|
|
355
365
|
args.with_defaults(storage: 'local')
|
356
366
|
args.with_defaults(node: ENV['PROXMOX_NODE'])
|
357
|
-
|
367
|
+
warn "backup list vmid:#{args.vmid} #{args.storage}@"\
|
358
368
|
"#{args.node}:"
|
359
369
|
proxmox.list_storage(args.node, args.storage).each do |c|
|
360
370
|
# print " content:#{c['content']} volid:#{c['volid']}\n"
|
data/rake-proxmox.gemspec
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
lib = File.expand_path('../lib', __FILE__)
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
4
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
3
|
require 'rake/proxmox/version'
|
6
4
|
|
@@ -29,13 +27,13 @@ Gem::Specification.new do |spec|
|
|
29
27
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
30
28
|
spec.require_paths = ['lib']
|
31
29
|
|
32
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
33
|
-
spec.add_development_dependency 'rake', '~>
|
30
|
+
spec.add_development_dependency 'bundler', '~> 1.17.2'
|
31
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
34
32
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
35
33
|
spec.add_development_dependency 'webmock', '~> 3.0'
|
36
34
|
|
37
|
-
spec.add_runtime_dependency 'faraday', '~>
|
38
|
-
spec.add_runtime_dependency 'faraday_middleware', '~>
|
35
|
+
spec.add_runtime_dependency 'faraday', '~> 1.10.3'
|
36
|
+
spec.add_runtime_dependency 'faraday_middleware', '~> 1.2.0'
|
39
37
|
spec.add_runtime_dependency 'httpclient', '~> 2.8.3'
|
40
38
|
spec.add_runtime_dependency 'json', '~> 2.1'
|
41
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-proxmox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastian Lehn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-04-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.17.2
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.17.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,28 +72,28 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 1.10.3
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 1.10.3
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: faraday_middleware
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 1.2.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 1.2.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: httpclient
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,8 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
164
|
- !ruby/object:Gem::Version
|
165
165
|
version: '0'
|
166
166
|
requirements: []
|
167
|
-
|
168
|
-
rubygems_version: 2.5.1
|
167
|
+
rubygems_version: 3.0.3
|
169
168
|
signing_key:
|
170
169
|
specification_version: 4
|
171
170
|
summary: Provides rake tasks for proxmox api
|