uricp 0.0.26 → 0.0.29

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: 937fe351785726ef27786e889bed4d5a1a9f8cb37058916fdb4613c8df528855
4
- data.tar.gz: c895d696bcf2613018934f84907f43806fbbd98fce378bbe8663546e986a6608
3
+ metadata.gz: 9e24fdb3944db682f49ca90b6eb4639885389d689610e76cbcbf5d83e5619208
4
+ data.tar.gz: 99eeabde06d5f28aa9c33b1faa9306bf9fb65cba504c68359968388515061d8b
5
5
  SHA512:
6
- metadata.gz: 84b2b32f85a7eb23833501689a14b3776b605e431ff3c5035df641e9f3dbfea17ce9a26f521cb1815a91abe67083f96115f04a928431a7d196093b3387e67c4e
7
- data.tar.gz: 9ec10d1d48cd8452c32c2d1f25e196207921f282f323c8383e6ab70cb1b5b3d8beb889421bca912e7c15ef3670135d4ccde0da476ddf96a1d0031c4a9d848c4f
6
+ metadata.gz: ef6450ea82fe52174ec0037e4e62711c35da6c2c746ecab02d123ec00df35f5bf3697f3b55b595c509274b9446e7a7446f2167401793d17a1f6c00c88cba6186
7
+ data.tar.gz: 7b9d798e540f9f3e4418e7c7facd08120c1c889320baf8b7d707464aafdd89ad2f492ec7c0233e4537e05027ff6de7eb25fe79444ce753a11600c610cb9a9682
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- uricp (0.0.26)
4
+ uricp (0.0.29)
5
5
  childprocess (~> 1.0)
6
6
  filesize (= 0.0.2)
7
7
  methadone (~> 2.0.2)
@@ -32,7 +32,7 @@ Feature: Manipulate file images in ceph
32
32
  """
33
33
  And the output should contain:
34
34
  """
35
- rbd clone --id libvirt 'servers/freedos.qcow2@base' 'servers/srv-testy'
35
+ rbd clone --id libvirt 'servers/freedos.qcow2@base' 'servers/srv-testy' || { [ $? -eq 22 ] && rbd create --id libvirt -s 0 'servers/srv-testy'; };
36
36
  """
37
37
 
38
38
  Scenario: HTTP URI from file cache via unpopulated rbd cache
@@ -180,15 +180,23 @@ module Uricp::Strategy
180
180
  false
181
181
  end
182
182
 
183
- def in_rbd_cache(target)
183
+ def snap_check(target, name)
184
184
  result = false
185
- if dry_run?
186
- result = options['dry-cache'] == :rbd && options['cache_name'] !~ /srv-...../
187
- else
188
- sh "rbd snap ls --id #{rbd_id} --format json #{target} 2>/dev/null" do |stdout|
189
- result = JSON.parse(stdout).any? { |x| x['name'] == rbd_base_name }
190
- end
185
+ sh "rbd snap ls --id #{rbd_id} --format json #{target} 2>/dev/null" do |stdout|
186
+ result = JSON.parse(stdout).any? { |x| x['name'] == name }
191
187
  end
188
+ result
189
+ rescue Methadone::FailedCommandError
190
+ false
191
+ end
192
+
193
+ def in_rbd_cache(target)
194
+ result =
195
+ if dry_run?
196
+ options['dry-cache'] == :rbd && options['cache_name'] !~ /srv-...../
197
+ else
198
+ snap_check(target, rbd_base_name)
199
+ end
192
200
  result && rbd_clone_snapshot(target)
193
201
  end
194
202
  end
@@ -16,7 +16,9 @@ module Uricp::Strategy
16
16
  end
17
17
 
18
18
  def command
19
- "rbd clone --id #{rbd_id} '#{rbd_image_spec(from)}' '#{rbd_image_spec(to)}';"
19
+ "rbd clone --id #{rbd_id} '#{rbd_image_spec(from)}' "\
20
+ "'#{rbd_image_spec(to)}' || { [ $? -eq 22 ] && "\
21
+ "rbd create --id #{rbd_id} -s 0 '#{rbd_image_spec(to)}'; };"
20
22
  end
21
23
 
22
24
  def proposal
@@ -47,12 +47,7 @@ module Uricp::Strategy
47
47
 
48
48
  def snap_in_progress?
49
49
  return false if dry_run?
50
-
51
- result = false
52
- sh "rbd snap ls --id #{rbd_id} --format json #{rbd_image_spec(from)} 2>/dev/null" do |stdout|
53
- result = JSON.parse(stdout).any? { |x| x['name'] == rbd_snapshot_name }
54
- end
55
- result
50
+ snap_check(rbd_image_spec(from), rbd_snapshot_name)
56
51
  end
57
52
  end
58
53
  end
data/lib/uricp/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Uricp
4
- VERSION = '0.0.26'
4
+ VERSION = '0.0.29'
5
5
  DEFAULT_SEGMENT_SIZE = '5 GiB'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uricp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.26
4
+ version: 0.0.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Neil Wilson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-15 00:00:00.000000000 Z
11
+ date: 2022-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aruba