knife-hitori 0.0.3 → 0.0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  class Chef
2
2
  class Knife
3
3
  class Hitori
4
- VERSION = '0.0.3'
4
+ VERSION = '0.0.3.1'
5
5
  end
6
6
  end
7
7
  end
@@ -34,7 +34,7 @@ module KnifeHitori
34
34
  chef_solo_filename = 'do_cook.sh'
35
35
  files_info = []
36
36
  files_info << {src: config[:chef_solo_base_dir], dest: knife[:remote_chef_dir], opts: {:recursive => true, :verbose => true}}
37
- files_info << {src: KnifeHitori::resource(chef_solo_filename), dest: remote_dir, opts: {:verbose => true}}
37
+ files_info << {src: KnifeHitori::resource(chef_solo_filename), dest: "#{remote_dir}/#{chef_solo_filename}", opts: {:verbose => true}}
38
38
  upload_files(files_info)
39
39
  console_log "Upload is done #{server.public_ip_address}\n"
40
40
  # run chef-solo
@@ -86,6 +86,7 @@ module KnifeHitori
86
86
  Net::SCP.start(server.public_ip_address, knife[:ssh_user], :keys => [knife[:identity_file]], :compression => true) do |scp|
87
87
  channels = []
88
88
  files_info.each do |info|
89
+ create_remote_dirs(info)
89
90
  channels << scp.upload(info[:src], info[:dest], info[:opts])
90
91
  end
91
92
  channels.each do |ch|
@@ -94,6 +95,20 @@ module KnifeHitori
94
95
  end
95
96
  end
96
97
 
98
+ def create_remote_dirs(info)
99
+ if info[:opts] && info[:opts][:recursive]
100
+ #dir_list = []
101
+ #Dir.glob("#{info[:src]}/**/").each do |d|
102
+ # relative_dir = d.gsub("#{info[:src]}/", '')
103
+ # dir_list << "#{info[:dest]}/#{relative_dir}"
104
+ #end
105
+ #cmd = "mkdir -p #{dir_list.join(' ')}"
106
+ else
107
+ cmd = "mkdir -p #{File.dirname(info[:dest])}"
108
+ exec_remote(cmd)
109
+ end
110
+ end
111
+
97
112
  def exec_remote(command)
98
113
  Net::SSH.start(server.public_ip_address, knife[:ssh_user], :keys => [knife[:identity_file]]) do |ssh|
99
114
  ssh.open_channel do |ch|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-hitori
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-12 00:00:00.000000000 Z
12
+ date: 2013-06-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: chef