uricp 0.0.15 → 0.0.16

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/Gemfile.lock +1 -8
  4. data/Jenkinsfile +27 -0
  5. data/Rakefile +19 -36
  6. data/bionic/Dockerfile +2 -2
  7. data/centos7/Dockerfile +2 -2
  8. data/features/step_definitions/orbit_steps.rb +11 -4
  9. data/lib/segment_upload.rb +20 -22
  10. data/lib/uricp.rb +3 -3
  11. data/lib/uricp/curl_primitives.rb +31 -33
  12. data/lib/uricp/orbit_auth.rb +23 -27
  13. data/lib/uricp/segmenter.rb +12 -16
  14. data/lib/uricp/strategy/cache_common.rb +11 -11
  15. data/lib/uricp/strategy/cached_get.rb +14 -20
  16. data/lib/uricp/strategy/cleaner.rb +2 -8
  17. data/lib/uricp/strategy/common.rb +25 -18
  18. data/lib/uricp/strategy/local_convert.rb +9 -16
  19. data/lib/uricp/strategy/local_link.rb +10 -8
  20. data/lib/uricp/strategy/piped_cache.rb +7 -13
  21. data/lib/uricp/strategy/piped_cache_convert.rb +14 -18
  22. data/lib/uricp/strategy/piped_compress.rb +3 -8
  23. data/lib/uricp/strategy/piped_decompress.rb +7 -11
  24. data/lib/uricp/strategy/piped_local_compress.rb +0 -4
  25. data/lib/uricp/strategy/piped_local_decompress.rb +10 -16
  26. data/lib/uricp/strategy/piped_local_get.rb +0 -5
  27. data/lib/uricp/strategy/piped_local_put.rb +3 -9
  28. data/lib/uricp/strategy/piped_rbd_get.rb +44 -0
  29. data/lib/uricp/strategy/piped_remote_get.rb +20 -20
  30. data/lib/uricp/strategy/rbd_remote_put.rb +36 -0
  31. data/lib/uricp/strategy/rbd_sweeper.rb +22 -0
  32. data/lib/uricp/strategy/remote_put.rb +11 -17
  33. data/lib/uricp/strategy/segmented_remote_put.rb +16 -28
  34. data/lib/uricp/strategy/sweeper.rb +2 -8
  35. data/lib/uricp/uri_strategy.rb +14 -13
  36. data/lib/uricp/version.rb +2 -2
  37. data/trusty/Dockerfile +2 -2
  38. data/uricp.gemspec +0 -1
  39. data/xenial/Dockerfile +2 -2
  40. metadata +7 -20
  41. data/spec/something_spec.rb +0 -5
@@ -1,13 +1,10 @@
1
1
  module Uricp::Strategy
2
-
3
2
  class Sweeper
4
-
5
3
  include Uricp::Strategy::Common
6
4
 
7
5
  def appropriate?
8
- if options['sweep'] && sequence_complete?
9
- return proposal
10
- end
6
+ return proposal if options['sweep'] && sequence_complete?
7
+
11
8
  debug "#{self.class.name}: not appropriate"
12
9
  false
13
10
  end
@@ -21,8 +18,5 @@ module Uricp::Strategy
21
18
  @proposed_options.delete('sweep')
22
19
  self
23
20
  end
24
-
25
21
  end
26
-
27
22
  end
28
-
@@ -1,20 +1,21 @@
1
1
  require 'uri'
2
2
 
3
3
  module Uricp
4
-
5
4
  class UriStrategy
6
-
7
5
  include Methadone::CLILogging
8
6
 
9
7
  def self.choose_strategy(options)
10
- current = options.reject {|k,v| k.is_a? Symbol}
8
+ current = options.reject { |k, _v| k.is_a? Symbol }
11
9
  strategy_list = []
12
- while STRATEGIES.detect {|klass| @strategy = klass.new(current).appropriate? }
13
- debug "#{self.name}: Selected strategy #{@strategy.class.name}"
10
+ while STRATEGIES.detect { |klass| @strategy = klass.new(current).appropriate? }
11
+ debug "#{name}: Selected strategy #{@strategy.class.name}"
14
12
  strategy_list << @strategy
15
- current = @strategy.proposed_options
13
+ current = @strategy.proposed_options
14
+ end
15
+ if incomplete_strategy?(strategy_list)
16
+ raise Uricp::UnsupportedURLtype, "Unsupported transfer from #{options['from_uri']} to #{options['to_uri']}"
16
17
  end
17
- raise Uricp::UnsupportedURLtype, "Unsupported transfer from #{options['from_uri']} to #{options['to_uri']}" if incomplete_strategy?(strategy_list)
18
+
18
19
  strategy_list
19
20
  end
20
21
 
@@ -22,12 +23,11 @@ module Uricp
22
23
  list.empty?
23
24
  end
24
25
 
25
- private
26
-
27
- #This is an ordered list from the most specific to the most general
26
+ # This is an ordered list from the most specific to the most general
28
27
  STRATEGIES = [
29
28
  Strategy::CachedGet,
30
29
  Strategy::PipedRemoteGet,
30
+ Strategy::PipedRbdGet,
31
31
  Strategy::PipedCacheConvert,
32
32
  Strategy::PipedCache,
33
33
  Strategy::PipedLocalDecompress,
@@ -35,14 +35,15 @@ module Uricp
35
35
  Strategy::LocalConvert,
36
36
  Strategy::LocalLink,
37
37
  Strategy::PipedCompress,
38
+ Strategy::RbdRemotePut,
38
39
  Strategy::SegmentedRemotePut,
39
40
  Strategy::RemotePut,
40
41
  Strategy::PipedLocalCompress,
41
42
  Strategy::PipedLocalGet,
42
43
  Strategy::PipedLocalPut,
43
44
  Strategy::Cleaner,
44
- Strategy::Sweeper,
45
- ]
46
-
45
+ Strategy::RbdSweeper,
46
+ Strategy::Sweeper
47
+ ].freeze
47
48
  end
48
49
  end
@@ -1,4 +1,4 @@
1
1
  module Uricp
2
- VERSION = "0.0.15"
3
- DEFAULT_SEGMENT_SIZE = "5 GiB"
2
+ VERSION = '0.0.16'.freeze
3
+ DEFAULT_SEGMENT_SIZE = '5 GiB'.freeze
4
4
  end
@@ -13,8 +13,8 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y -qq \
13
13
  curl \
14
14
  ruby1.9.3 \
15
15
  ruby-dev \
16
- python-swiftclient
16
+ python-swiftclient \
17
+ ruby-bundler
17
18
 
18
19
  RUN echo "gem: --no-ri --no-rdoc" >> "$HOME/.gemrc"
19
- RUN gem install bundler
20
20
 
@@ -27,6 +27,5 @@ Gem::Specification.new do |spec|
27
27
  spec.add_dependency('open4', '~> 1.3.0')
28
28
  spec.add_dependency('filesize', '= 0.0.2')
29
29
  spec.add_dependency('sendfile', '~> 1.2.0')
30
- spec.add_development_dependency('rspec', '~> 2.99')
31
30
  spec.add_development_dependency('inifile', '~> 1.1')
32
31
  end
@@ -13,8 +13,8 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y -qq \
13
13
  curl \
14
14
  ruby \
15
15
  ruby-dev \
16
- python-swiftclient
16
+ python-swiftclient \
17
+ ruby-bundler
17
18
 
18
19
  RUN echo "gem: --no-ri --no-rdoc" >> "$HOME/.gemrc"
19
- RUN gem install bundler
20
20
 
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.15
4
+ version: 0.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Neil Wilson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-19 00:00:00.000000000 Z
11
+ date: 2020-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -136,20 +136,6 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 1.2.0
139
- - !ruby/object:Gem::Dependency
140
- name: rspec
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '2.99'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '2.99'
153
139
  - !ruby/object:Gem::Dependency
154
140
  name: inifile
155
141
  requirement: !ruby/object:Gem::Requirement
@@ -174,6 +160,7 @@ extensions: []
174
160
  extra_rdoc_files: []
175
161
  files:
176
162
  - ".gitignore"
163
+ - ".rubocop.yml"
177
164
  - Gemfile
178
165
  - Gemfile.lock
179
166
  - Jenkinsfile
@@ -215,13 +202,15 @@ files:
215
202
  - lib/uricp/strategy/piped_local_decompress.rb
216
203
  - lib/uricp/strategy/piped_local_get.rb
217
204
  - lib/uricp/strategy/piped_local_put.rb
205
+ - lib/uricp/strategy/piped_rbd_get.rb
218
206
  - lib/uricp/strategy/piped_remote_get.rb
207
+ - lib/uricp/strategy/rbd_remote_put.rb
208
+ - lib/uricp/strategy/rbd_sweeper.rb
219
209
  - lib/uricp/strategy/remote_put.rb
220
210
  - lib/uricp/strategy/segmented_remote_put.rb
221
211
  - lib/uricp/strategy/sweeper.rb
222
212
  - lib/uricp/uri_strategy.rb
223
213
  - lib/uricp/version.rb
224
- - spec/something_spec.rb
225
214
  - trusty/Dockerfile
226
215
  - uricp.gemspec
227
216
  - xenial/Dockerfile
@@ -244,8 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
233
  - !ruby/object:Gem::Version
245
234
  version: '0'
246
235
  requirements: []
247
- rubyforge_project:
248
- rubygems_version: 2.7.6
236
+ rubygems_version: 3.1.2
249
237
  signing_key:
250
238
  specification_version: 4
251
239
  summary: Copy one URL to another with optional cacheing
@@ -261,4 +249,3 @@ test_files:
261
249
  - features/step_definitions/uricp_steps.rb
262
250
  - features/support/env.rb
263
251
  - features/userid_download.feature
264
- - spec/something_spec.rb
@@ -1,5 +0,0 @@
1
- describe "TestSomething" do
2
- it "should be true" do
3
- true.should == true
4
- end
5
- end