Class: Uricp::Strategy::RbdCacheClone
- Inherits:
-
Object
- Object
- Uricp::Strategy::RbdCacheClone
- Includes:
- CacheCommon, Common
- Defined in:
- lib/uricp/strategy/rbd_cache_clone.rb
Constant Summary
Constants included from Common
Common::DRY_SNAP, Common::PIPE_URI
Instance Attribute Summary
Attributes included from Common
Attributes included from CurlPrimitives
Instance Method Summary collapse
Methods included from CacheCommon
#cache_exists?, #cache_file, #cache_name, #cache_root, #in_cache?, #temp_cache_file, #temp_cache_uri, #validate_cache!, #with_active_cache, #without_active_cache
Methods included from Common
#all_local_files?, #always_write_sparse?, #compression_required?, #conversion_required?, #dry_run?, #encoding, #file_source?, #format_change?, #get_temp_filename, #in_rbd_cache, #in_rbd_cache?, #initialize, #lz4?, #lz4_source?, #not_in_rbd_cache?, #proposed_path, #qcow2?, #raw_target?, #rbd_base_name, #rbd_cache_image_exists?, #rbd_cache_image_spec, #rbd_cache_name, #rbd_cache_upload_available?, #rbd_clone_snapshot, #rbd_id, #rbd_image_spec, #rbd_sequence_complete?, #rbd_snapshot_name, #rbd_snapshot_spec?, #rbd_uri, #segmented?, #sequence_complete?, #supported_source?, #temp_uri, #unsupported_transfer
Methods included from CurlPrimitives
#authentication, #curl_command, #curl_download_to_pipe, #curl_manifest, #curl_upload_from, #from, #from=, #http_authentication?, #to, #to=
Instance Method Details
#appropriate? ⇒ Boolean
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/uricp/strategy/rbd_cache_clone.rb', line 8 def appropriate? unless from.scheme == 'rbd' debug "#{self.class.name}: not appropriate" return false end with_active_cache do ['cache_name'] = File.basename(['to_uri'].path) cache_target = rbd_cache_image_spec(from) if rbd_cache_image_exists?(cache_target) || in_rbd_cache(cache_target) debug "#{self.class.name}: Unexpected existing cache entry for #{['to_uri']}" unsupported_transfer end proposal(cache_target) end end |
#command ⇒ Object
25 26 27 |
# File 'lib/uricp/strategy/rbd_cache_clone.rb', line 25 def command ':;' end |
#proposal(cache_check) ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/uricp/strategy/rbd_cache_clone.rb', line 29 def proposal(cache_check) @proposed_options = .dup @proposed_options['rbd_cache_target'] = rbd_uri(cache_check) @proposed_options.delete('cache') @proposed_options.delete('cache_name') @proposed_options.delete('dry-cache') self end |