sfpagent 0.3.6 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sfpagent might be problematic. Click here for more details.

data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.6
1
+ 0.3.7
data/bin/sfpagent CHANGED
@@ -39,8 +39,12 @@ model_file = ARGV[0].to_s
39
39
  plan_file = ARGV[1].to_s
40
40
 
41
41
  if opts[:start]
42
- opts[:daemon] = true
43
- Sfp::Agent.start(opts)
42
+ if not Sfp::Agent.pid.nil?
43
+ puts "Agent is already running with PID #{Sfp::Agent.pid}"
44
+ else
45
+ opts[:daemon] = true
46
+ Sfp::Agent.start(opts)
47
+ end
44
48
 
45
49
  elsif opts[:stop]
46
50
  Sfp::Agent.stop(opts)
@@ -13,7 +13,7 @@ module Sfp
13
13
  module Agent
14
14
  NetHelper = Object.new.extend(Sfp::Helper::Net)
15
15
 
16
- CacheDir = (Process.euid == 0 ? '/var/sfpagent' : File.expand_path('~/.sfpagent'))
16
+ CacheDir = (Process.euid == 0 ? '/var/sfpagent' : File.expand_path(Dir.home + '/.sfpagent'))
17
17
  Dir.mkdir(CacheDir, 0700) if not File.exist?(CacheDir)
18
18
 
19
19
  DefaultPort = 1314
@@ -69,8 +69,8 @@ module Sfp
69
69
  # :keyfile => key file path for HTTPS
70
70
  #
71
71
  def self.start(opts={})
72
- Sfp::Agent.logger.info "Starting SFP Agent daemons..."
73
- puts "Starting SFP Agent daemons..."
72
+ Sfp::Agent.logger.info "Starting agent..."
73
+ puts "Starting agent..."
74
74
 
75
75
  @@config = opts
76
76
 
@@ -133,6 +133,7 @@ module Sfp
133
133
 
134
134
  rescue Exception => e
135
135
  Sfp::Agent.logger.error "Starting the agent [Failed] #{e}\n#{e.backtrace.join("\n")}"
136
+
136
137
  raise e
137
138
  end
138
139
  end
@@ -142,41 +143,49 @@ module Sfp
142
143
  def self.stop(opts={})
143
144
  begin
144
145
  pid = File.read(PIDFile).to_i
145
- puts "Stopping SFP Agent with PID #{pid}..."
146
+ puts "Stopping agent with PID #{pid}..."
146
147
  Process.kill 'HUP', pid
147
148
 
148
149
  if not opts[:mock]
149
150
  begin
150
151
  sleep (Sfp::BSig::SleepTime + 0.25)
152
+
151
153
  Process.kill 0, pid
152
- Sfp::Agent.logger.info "SFP Agent daemon is still running."
153
- puts "SFP Agent daemon is still running."
154
- return false
154
+ Sfp::Agent.logger.info "Agent is still running."
155
+ puts "Agent is still running."
156
+
157
+ Sfp::Agent.logger.info "Killing agent."
158
+ puts "Killing agent."
159
+ Process.kill 9, pid
155
160
  rescue
156
- Sfp::Agent.logger.info "SFP Agent daemon has stopped."
157
- puts "SFP Agent daemon has stopped."
161
+ Sfp::Agent.logger.info "Agent has stopped."
162
+ puts "Agent has stopped."
158
163
  File.delete(PIDFile) if File.exist?(PIDFile)
159
164
  end
160
165
  end
161
166
 
162
167
  rescue
163
- puts "SFP Agent is not running."
168
+ puts "Agent is not running."
164
169
  File.delete(PIDFile) if File.exist?(PIDFile)
165
170
  end
166
-
167
- true
168
171
  end
169
172
 
170
- # Print the status of the agent.
171
- #
172
- def self.status
173
+ def self.pid
173
174
  begin
174
175
  pid = File.read(PIDFile).to_i
175
- Process.kill 0, pid
176
- puts "SFP Agent is running with PID #{pid}"
176
+ return pid if Process.kill 0, pid
177
177
  rescue
178
- puts "SFP Agent is not running."
179
- File.delete(PIDFile) if File.exist?(PIDFile)
178
+ end
179
+ nil
180
+ end
181
+
182
+ # Return agent's PID if it is running, otherwise nil.
183
+ #
184
+ def self.status
185
+ if pid.nil?
186
+ puts "Agent is not running."
187
+ else
188
+ puts "Agent is running with PID #{pid}"
180
189
  end
181
190
  end
182
191
 
data/lib/sfpagent/bsig.rb CHANGED
@@ -7,7 +7,7 @@ class Sfp::BSig
7
7
  MaxTries = 5
8
8
 
9
9
  SatisfierPath = '/bsig/satisfier'
10
- CacheDir = (Process.euid == 0 ? '/var/sfpagent' : File.expand_path('~/.sfpagent'))
10
+ CacheDir = (Process.euid == 0 ? '/var/sfpagent' : File.expand_path(Dir.home + '/.sfpagent'))
11
11
  SatisfierLockFile = "#{CacheDir}/bsig.satisfier.lock.#{Time.now.to_i}"
12
12
 
13
13
  attr_reader :enabled, :status, :mode
@@ -58,7 +58,7 @@ module Sfp::Resource
58
58
  def render(string, map={})
59
59
  model = @model.clone
60
60
  map.each { |k,v| model[k] = v }
61
- ::Sfp::Template.render_file(file, model)
61
+ ::Sfp::Template.render(file, model)
62
62
  end
63
63
 
64
64
  def render_file(file, map={})
@@ -2,14 +2,6 @@ require 'erb'
2
2
  require 'ostruct'
3
3
 
4
4
  class Sfp::Template < OpenStruct
5
- def initialize(resolver=nil)
6
- @resolver = resolver
7
- end
8
-
9
- def resolve(path)
10
- (@resolver.nil? ? nil : @resolver.resolve(path))
11
- end
12
-
13
5
  # Render given template string, and then return the result
14
6
  # @template template string to be rendered
15
7
  #
metadata CHANGED
@@ -1,43 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sfpagent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Herry
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-11-01 00:00:00.000000000 Z
12
+ date: 2013-11-04 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: sfp
15
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &12384860 !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
19
21
  version: 0.3.17
20
22
  type: :runtime
21
23
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- version: 0.3.17
24
+ version_requirements: *12384860
27
25
  - !ruby/object:Gem::Dependency
28
26
  name: rake
29
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &12384420 !ruby/object:Gem::Requirement
28
+ none: false
30
29
  requirements:
31
- - - '>='
30
+ - - ! '>='
32
31
  - !ruby/object:Gem::Version
33
32
  version: '0'
34
33
  type: :development
35
34
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
35
+ version_requirements: *12384420
41
36
  description: A Ruby implementation of SFP agent.
42
37
  email: herry13@gmail.com
43
38
  executables:
@@ -70,25 +65,26 @@ files:
70
65
  homepage: https://github.com/herry13/sfpagent
71
66
  licenses:
72
67
  - BSD
73
- metadata: {}
74
68
  post_install_message:
75
69
  rdoc_options: []
76
70
  require_paths:
77
71
  - lib
78
72
  required_ruby_version: !ruby/object:Gem::Requirement
73
+ none: false
79
74
  requirements:
80
- - - '>='
75
+ - - ! '>='
81
76
  - !ruby/object:Gem::Version
82
77
  version: '0'
83
78
  required_rubygems_version: !ruby/object:Gem::Requirement
79
+ none: false
84
80
  requirements:
85
- - - '>='
81
+ - - ! '>='
86
82
  - !ruby/object:Gem::Version
87
83
  version: '0'
88
84
  requirements: []
89
85
  rubyforge_project: sfpagent
90
- rubygems_version: 2.1.10
86
+ rubygems_version: 1.8.11
91
87
  signing_key:
92
- specification_version: 4
88
+ specification_version: 3
93
89
  summary: SFP Agent
94
90
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: fe2ede39bf427923db9d74e08feb35a2f73804d2
4
- data.tar.gz: 57b4f30d742a9850c04db2b2cde793ce6e8ac744
5
- SHA512:
6
- metadata.gz: a441bf2082df51400315fb8146b6b115c0df4defd57353e7487d5f1131618d4e6f95c00318717a652869d38f7c5291a5e88c0f3c20796ac95c469e8f6f443bc3
7
- data.tar.gz: ea2716ccce08b9672b6ab5c5a40f36c6be0a200652304b874d1925840aeee1b186b9a672983695cff590feeb36b2cfb6e5320aca947ec09f4ed970af1bed7fec