adamhjk (owner)

Revisions

gist: 192178 Download_button fork
public
Public Clone URL: git://gist.github.com/192178.git
Embed All Files: show embed
server.rb #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  def self.send_pkg_resource(server_name, pkg, action)
    resource = Chef::Resource::Package.new(pkg)
    resource.action(action)
    resource.provider(Chef::Provider::Package::Apt)
    payload = {
      :resource => resource
    }
    @@job_data[server_name] ||= Hash.new
    @@job_data[server_name][pkg] = :running
    r = Nanite.mapper.request('/control/resource', payload, :target => @@servers[server_name]) do |response_full|
      response = response_full[@@servers[server_name]]
      @@job_data[server_name] ||= Hash.new
      if action == :install
        @@job_data[server_name][response[:resource].name] = :updated
        @@installed_packages[server_name][response[:resource].name] = 1
      else
        @@job_data[server_name][response[:resource].name] = :updated
        @@installed_packages[server_name].delete(response[:resource].name)
      end
    end
    @@job_data[server_name]
  end