homeseed 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/homeseed/version.rb +1 -1
- data/lib/homeseed.rb +16 -16
- data/lib/logging.rb +20 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzM0MmJmMDYyOWY2OTlmYjBjMDlkOTIzMDAwZDhiOTA0MzExODg3MQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MDM4ZmMxMGVmOWRjNmVmYTM0YjEyYTNiMDdmMWExZDk0M2QwMGIxMg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YzJkYWU3ZDNmZTNlNmVlZTA0ZDY4YWUxMjg0MWU5ZWIzYjAxMDU5YjNkMmFm
|
10
|
+
MjgzNTI0MGJiOGNiMDlmNTRjYmEwZDQxODY2NGVhNDkzMzA1YzQzOTVkY2I2
|
11
|
+
Mzc4MWEyOTU0NzQ1NTNjZGI1YmFjOGFiNTFjODkwMzA4ZDVjMjU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NDU2NmVmNmYxOGYwYjUxOTYyY2NjZDk5NTA0MWI4YzU3M2VmN2VjOWE1MjQ0
|
14
|
+
MmY2MTQ3NDhiNDcxNjg2MzMwZmZlNzAzMTdiZTc0OTdkZTRmMmUxYWQxODE0
|
15
|
+
ZDUxOGJkNjdiM2Q1YTEyYmU3YzMyNmQ3OWM3MTNkYWVkODk2YjU=
|
data/lib/homeseed/version.rb
CHANGED
data/lib/homeseed.rb
CHANGED
@@ -3,27 +3,18 @@ require 'logger'
|
|
3
3
|
require 'net/ssh'
|
4
4
|
require 'net/scp'
|
5
5
|
require 'yaml'
|
6
|
+
require_relative './logging'
|
6
7
|
|
7
8
|
module Homeseed
|
8
9
|
class Connection
|
9
|
-
|
10
|
-
@logger ||= Logger.new(STDOUT)
|
11
|
-
original_formatter = Logger::Formatter.new
|
12
|
-
@logger.formatter = proc { |severity, datetime, progname, msg|
|
13
|
-
original_formatter.call(severity, datetime, progname, msg.dump)
|
14
|
-
}
|
15
|
-
@logger
|
16
|
-
end
|
17
|
-
|
18
|
-
def logger
|
19
|
-
self.class.logger
|
20
|
-
end
|
10
|
+
include Logging
|
21
11
|
|
22
12
|
def initialize(params={})
|
23
13
|
raise 'servers and/or user not specified' unless params[:servers] and params[:user]
|
24
14
|
@servers = params[:servers].split(',')
|
25
15
|
@user = params[:user]
|
26
16
|
@password = params[:password] || ''
|
17
|
+
logger.level = params[:logger_level] || Logger::INFO
|
27
18
|
|
28
19
|
if params[:command]
|
29
20
|
@flat_commands = params[:command]
|
@@ -77,7 +68,13 @@ module Homeseed
|
|
77
68
|
ch.on_extended_data do |c,type,data|
|
78
69
|
data_lines = data.split(/[\r,\n]/)
|
79
70
|
data_lines.each do |data_line|
|
80
|
-
|
71
|
+
unless data_line == ''
|
72
|
+
if data_line.match(/error|failed/i)
|
73
|
+
logger.error data_line
|
74
|
+
else
|
75
|
+
logger.info data_line
|
76
|
+
end
|
77
|
+
end
|
81
78
|
end
|
82
79
|
end
|
83
80
|
|
@@ -95,9 +92,12 @@ module Homeseed
|
|
95
92
|
def scp_upload
|
96
93
|
@servers.each do |server|
|
97
94
|
@upload_files.each do |upload_file|
|
98
|
-
logger.info "scp #{upload_file} #{@user}@#{server}:#{@remote_path}"
|
99
|
-
|
100
|
-
scp.upload!(upload_file, @remote_path)
|
95
|
+
logger.info "starting scp #{upload_file} #{@user}@#{server}:#{@remote_path}"
|
96
|
+
begin
|
97
|
+
Net::SCP.start(server, @user) { |scp| scp.upload!(upload_file, @remote_path) }
|
98
|
+
logger.info "finished scp #{upload_file} #{@user}@#{server}:#{@remote_path}"
|
99
|
+
rescue => err
|
100
|
+
logger.error "scp FAILED #{err}"
|
101
101
|
end
|
102
102
|
end
|
103
103
|
end
|
data/lib/logging.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
module Logging
|
2
|
+
def logger
|
3
|
+
@logger ||= Logging.logger_for(self.class.name)
|
4
|
+
end
|
5
|
+
|
6
|
+
# Use a hash class-ivar to cache a unique Logger per class:
|
7
|
+
@loggers = {}
|
8
|
+
|
9
|
+
class << self
|
10
|
+
def logger_for(classname)
|
11
|
+
@loggers[classname] ||= configure_logger_for(classname)
|
12
|
+
end
|
13
|
+
|
14
|
+
def configure_logger_for(classname)
|
15
|
+
logger = Logger.new(STDOUT)
|
16
|
+
logger.progname = classname
|
17
|
+
logger
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: homeseed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- rbuchss
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -101,6 +101,7 @@ files:
|
|
101
101
|
- homeseed.gemspec
|
102
102
|
- lib/homeseed.rb
|
103
103
|
- lib/homeseed/version.rb
|
104
|
+
- lib/logging.rb
|
104
105
|
homepage: http://github.com/rbuchss/homeseed
|
105
106
|
licenses:
|
106
107
|
- MIT
|