mcrain 0.3.2 → 0.3.3

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
  SHA1:
3
- metadata.gz: 25014588e4b0a4b53163edc9897c7d28c728bba7
4
- data.tar.gz: e2c8625531480453ffd5a2c06472657523bf1fe1
3
+ metadata.gz: b5629c435f26df6400e933c493df85b13e5a09bd
4
+ data.tar.gz: 3d63157ba342d42c2021963af422061e072127b4
5
5
  SHA512:
6
- metadata.gz: ff1342b68ede623290b779dd96c37682b2d53ac6630122a99c379304105a5fbdbad3f49bde301ee7ca5d3bd55bf1f30c218fb32d3ecace0cb074296d2705b72f
7
- data.tar.gz: 77c4fa278139c172f6fbe30f89a37af6d2feb32b6cedd40368cf270ba0c021f3969b45ee8c38b0b9e7841733e60685204038285c2150b310e2cd3389e01c3f1b
6
+ metadata.gz: 39cfe426a5b1a9b22960e504d1459982c0212d5750250d97d3567ebf11d91785e4ff79b6ab4be37c277ac9150f8670a3fefd73a2d8a632a32c38e37ce483f550
7
+ data.tar.gz: c6ae5b7cd0e03408ad61f8300a1aafdbd27406e18b00b0e46d5e203b7fdf06411f24d081f5ca81b3312c3f0fce0503c42b5e6835d08281f97d0c1ba092cc7bab
@@ -64,13 +64,17 @@ module Mcrain
64
64
  def download_files_from_vm(host, files)
65
65
  return if files.values.all?{|f| File.readable?(f)}
66
66
  files.values.each{|f| FileUtils.mkdir_p(File.dirname(f))}
67
- Net::SCP.start(host, "docker", :password => "tcuser") do |scp|
67
+ scp_connect(host) do |scp|
68
68
  files.each do |src, dest|
69
69
  scp.download(src, dest)
70
70
  end
71
71
  end
72
72
  end
73
73
 
74
+ def scp_connect(host, &block)
75
+ Net::SCP.start(host, "docker", :password => "tcuser", &block)
76
+ end
77
+
74
78
  BOOT2DOCKER_DOCKER_HOME = '/home/docker'.freeze
75
79
 
76
80
  # return temporary dire for 2nd argument of Dir.mktmpdir
@@ -136,5 +140,30 @@ module Mcrain
136
140
  return r
137
141
  end
138
142
 
143
+ def cp_r(src, dest)
144
+ used? ? cp_r_remote(src, dest) : cp_r_local(src, dest)
145
+ end
146
+
147
+ def cp_r_remote(src, dest)
148
+ Dir.mktmpdir("for_tarball") do |dir|
149
+ tarball_name = "#{File.basename(src)}.tar.gz"
150
+ FileUtils.chdir(dir) do
151
+ FileUtils.cp_r(src, ".")
152
+ unless system("tar zcf #{tarball_name} #{File.basename(src)}")
153
+ raise "failed to create tarball of #{src} to #{dir}"
154
+ end
155
+ end
156
+ host = URI.parse(ENV["DOCKER_HOST"]).host
157
+ scp_connect(host) do |scp|
158
+ scp.upload!(File.join(dir, tarball_name), dest)
159
+ scp.session.exec!("cd #{dest} && tar zxf #{tarball_name}")
160
+ end
161
+ end
162
+ end
163
+
164
+ def cp_r_local(src, dest)
165
+ FileUtils.cp_r(src, dest)
166
+ end
167
+
139
168
  end
140
169
  end
@@ -1,3 +1,3 @@
1
1
  module Mcrain
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mcrain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - akm
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-11 00:00:00.000000000 Z
11
+ date: 2015-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logger_pipe