amiral 0.1.15 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,21 +7,10 @@ module Amiral
7
7
  Thread.new do
8
8
  while true
9
9
  Facter.loadfacts
10
- if File.exist?("/etc/facts.txt")
11
- File.readlines("/etc/facts.txt").each do |line|
12
- if line =~ /^(.+)=(.+)$/
13
- var = $1; val = $2
14
-
15
- Facter.add(var) do
16
- setcode { val }
17
- end # fact-add
18
- end # if
19
- end # readlines
20
- end # if
21
10
  sleep 60 # refresh every minute
22
- end # while
23
- end # thread
24
- end # def self.refresh
11
+ end
12
+ end
13
+ end
25
14
 
26
15
  def self.all
27
16
  Facter.to_hash
@@ -3,6 +3,7 @@ require 'amiral/providers/puppet-agent'
3
3
  require 'amiral/providers/puppet-update'
4
4
  require 'amiral/providers/service'
5
5
  require 'amiral/providers/apt-update'
6
+ require 'amiral/providers/apt-install'
6
7
  require 'amiral/providers/ping'
7
8
  require 'amiral/providers/facts'
8
9
  require 'amiral/providers/provider-list'
@@ -19,6 +20,7 @@ module Amiral
19
20
  "puppet-agent" => Amiral::Providers::PuppetAgent,
20
21
  "puppet-update" => Amiral::Providers::PuppetUpdate,
21
22
  "apt-update" => Amiral::Providers::AptGetUpdate,
23
+ "apt-install" => Amiral::Providers::AptGetInstall,
22
24
  "service" => Amiral::Providers::Service,
23
25
  "last-line" => Amiral::Providers::LastLine,
24
26
  "invalid" => Amiral::Providers::Invalid
@@ -0,0 +1,25 @@
1
+ require 'popen4'
2
+
3
+ module Amiral
4
+ module Providers
5
+ class AptGetInstall
6
+ def execute message
7
+ package = message['command']['args'][0]
8
+
9
+ out = err = nil
10
+ status = POpen4::popen4("apt-get install #{package}"){|stdout, stderr, stdin, pid|
11
+ out = stdout.read
12
+ err = stderr.read
13
+ }
14
+ {
15
+ :exit => status.exitstatus,
16
+ :short => (status.exitstatus == 0) ?
17
+ "service #{service} #{action} successful" :
18
+ "service #{service} #{action} failed!",
19
+ :out => out,
20
+ :err => err
21
+ }
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,3 +1,3 @@
1
1
  module Amiral
2
- VERSION = '0.1.15'
2
+ VERSION = '0.1.18'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amiral
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.15
4
+ version: 0.1.18
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-05-07 00:00:00.000000000 Z
12
+ date: 2013-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis
@@ -128,6 +128,7 @@ files:
128
128
  - lib/amiral/matcher.rb
129
129
  - lib/amiral/message.rb
130
130
  - lib/amiral/providers.rb
131
+ - lib/amiral/providers/apt-install.rb
131
132
  - lib/amiral/providers/apt-update.rb
132
133
  - lib/amiral/providers/facts.rb
133
134
  - lib/amiral/providers/invalid.rb