Sha256: c5f1123ea2cb91d09c58996ce56e863818b86d192c704e3f0de4a192dd036b61

Contents?: true

Size: 701 Bytes

Versions: 5

Compression:

Stored size: 701 Bytes

Contents

# frozen_string_literal: true

require 'json'
module Uricp::Strategy
  class PipedRbdGet
    include Uricp::Strategy::Common
    include Uricp::Strategy::CacheCommon

    def appropriate?
      without_active_cache do
        if from.scheme == 'rbd' &&
           rbd_snapshot_spec?(from) &&
           to.scheme != 'rbd'
          return proposal unless sequence_complete?
        end
      end
      debug "#{self.class.name}: not appropriate"
      false
    end

    def command
      "rbd export --no-progress --id #{rbd_id} '#{rbd_image_spec(from)}' - |"
    end

    def proposal
      @proposed_options = options.dup
      @proposed_options['from_uri'] = PIPE_URI
      self
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
uricp-0.0.29 lib/uricp/strategy/piped_rbd_get.rb
uricp-0.0.28 lib/uricp/strategy/piped_rbd_get.rb
uricp-0.0.27 lib/uricp/strategy/piped_rbd_get.rb
uricp-0.0.26 lib/uricp/strategy/piped_rbd_get.rb
uricp-0.0.25 lib/uricp/strategy/piped_rbd_get.rb