dply 0.3.11 → 0.3.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 96fbfcce3c8a2e5404e890de41d56654318486f72f3e75ff66bf66e581ebaa12
4
- data.tar.gz: 6d392dcfabfe8baa40b4dd70d0edfd54f12c907d3061a04b9c6f372dd8a64ce9
3
+ metadata.gz: 55d99894e3da7af050da5f7d13dedc375da33bdc8caac7b14f96b67f17d83c13
4
+ data.tar.gz: ecd98f89af7c815d424058ecd155af05b0f4b1a7595d00129b1dd011f503914d
5
5
  SHA512:
6
- metadata.gz: 5fa9c1f8a344b3a76c4bde61b659c593be22c40cc3c4b4fdf7780efafe39602c64fe2b097e7500f39f0bf308df2f8790fdf6dcecd826681e2a5b81f8ccd18914
7
- data.tar.gz: 182bd7d26be2e2ed0138f419e972480ddd1a556d763d96d297c54d8b6d90d8426606ae5164d54d62ab2fa8f51366a51e31c4b07a74d28ff4c48de0edae305741
6
+ metadata.gz: 3d90ae8db5c66c444a3094846da3697a79ab2a79be253973472af1cf8129e411bc0df0a60ad74d2469586fbe9b182617faefb5461a9c3e189755b38edeccf2be
7
+ data.tar.gz: 37d6c1efb5c13c311bbc081e22ee5c9aa923c431371e55a110f1fb8ab4361979d72611bc897a424df7f550201dca587437ccf02a373df96a3c7a0f49d5fcc25d
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
2
  lib = File.expand_path(File.dirname(__FILE__) + '/../lib')
3
3
  $LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib)
4
- load __dir__ + '/../bin/dplyr'
4
+ load __dir__ + '/../exe/dplyr'
@@ -1,3 +1,3 @@
1
1
  module Dply
2
- VERSION = "0.3.11"
2
+ VERSION = "0.3.12"
3
3
  end
@@ -1,5 +1,4 @@
1
1
  require 'pty'
2
- require 'dplyr/report'
3
2
  require 'dply/logger'
4
3
 
5
4
  module Dplyr
@@ -9,26 +8,43 @@ module Dplyr
9
8
 
10
9
  attr_reader :exit_status, :messages
11
10
 
12
- def initialize(host, task, id_size: nil)
11
+ SSH_OPTS = %w(-oBatchMode=yes -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null)
12
+
13
+ def initialize(host, task, id_size:)
13
14
  @host = host
14
15
  @task = task
16
+ @id = host[:id]
15
17
  @messages = []
16
- @id_size = id_size || @host_info[:id].size
18
+ @id_size = id_size
17
19
  end
18
20
 
19
21
  def run
20
22
  reset!
21
- r, w, pid = PTY.spawn(remote_cmd)
22
- pty_read(r, @host[:id])
23
+ copy_application_yml
24
+ r, w, pid = spawn_remote_cmd
25
+ pty_read r
23
26
  @exit_status = get_exit_status pid
24
27
  end
25
28
 
26
- def remote_cmd
29
+ def copy_application_yml
30
+ src = "config/application.yml"
31
+ dest = "#{user}@#{addr}:#{dir}/config/application.yml"
32
+ return if not File.exist? src
33
+ hprint "copying application.yml\n"
34
+ command = ["scp", "-q", *SSH_OPTS, src, dest]
35
+ system *command, exception: true
36
+ end
37
+
38
+ def spawn_remote_cmd
27
39
  if logger.debug?
28
- %(#{ssh} -l #{user} #{addr} '#{env} drake --remote --debug -d #{dir} #{@task} 2>&1')
40
+ script = %(#{env} drake --remote --debug -d #{dir} #{@task} 2>&1)
41
+ err = :out
29
42
  else
30
- %(#{ssh} -l #{user} #{addr} '#{env} drake --remote -d #{dir} #{@task} 2>&1' 2>/dev/null)
43
+ script = %(#{env} drake --remote -d #{dir} #{@task} 2>&1)
44
+ err = "/dev/null"
31
45
  end
46
+ command = ["ssh", "-tt", *SSH_OPTS, "-l", user, addr, script]
47
+ PTY.spawn(*command, err: err)
32
48
  end
33
49
 
34
50
  def user
@@ -47,16 +63,12 @@ module Dplyr
47
63
  @host.fetch :roles
48
64
  end
49
65
 
50
- def ssh
51
- "ssh -tt -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
52
- end
53
-
54
- def pty_read(file, id)
66
+ def pty_read(file)
55
67
  file.each do |line|
56
68
  if line =~ /\Adply_msg\|/
57
69
  receive_message line
58
70
  else
59
- printf output_template, id, line
71
+ hprint line
60
72
  end
61
73
  end
62
74
  rescue EOFError,Errno::ECONNRESET, Errno::EPIPE, Errno::EIO => e
@@ -80,6 +92,10 @@ module Dplyr
80
92
  end
81
93
  end
82
94
 
95
+ def hprint(message)
96
+ printf output_template, @id, message
97
+ end
98
+
83
99
  def reset!
84
100
  @output_template = nil
85
101
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dply
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.11
4
+ version: 0.3.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Neeraj
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-17 00:00:00.000000000 Z
11
+ date: 2019-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-elf