Method: Docman::SSHTargetChecker#execute

Defined in:
lib/docman/commands/ssh_target_checker.rb

#executeObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/docman/commands/ssh_target_checker.rb', line 9

def execute
  filename = File.join(self['file_path'], self['filename'])
  Net::SFTP.start(self['ssh_host'], self['ssh_user']) do |sftp|
    n = 0
    begin
      sleep 15
      n+=1
      log "Checking if files deployed, retry ##{n}, filename: #{filename}"
      sftp.stat!(filename) do |response|
        unless response.ok?
          sleep 15
        end
      end
      data = YAML.load sftp.download!(filename)
    end until data['random'] == self['version']
  end
  true
end