Sha256: 17c6393a09fd82353bb2e610d839a6e3fdf4924f434feac7336d498446311351

Contents?: true

Size: 865 Bytes

Versions: 8

Compression:

Stored size: 865 Bytes

Contents

require 'chef_metal/convergence_strategy'
require 'pathname'
require 'cheffish'

module ChefMetal
  class ConvergenceStrategy
    class NoConverge < ConvergenceStrategy
      attr_reader :client_rb_path
      attr_reader :client_pem_path

      def setup_convergence(action_handler, machine, machine_resource)
        # Save the node
        ChefMetal.inline_resource(action_handler) do
          # TODO strip automatic attributes first so we don't race with "current state"
          chef_node machine.node['name'] do
            chef_server machine_resource.chef_server
            raw_json machine.node
          end
        end
      end

      def cleanup_convergence(action_handler, node)
        ChefMetal.inline_resource(action_handler) do
          chef_node node['name'] do
            action :delete
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
chef-metal-0.10.2 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.10.1 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.10 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.9.4 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.9.3 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.9.2 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.9.1 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.9 lib/chef_metal/convergence_strategy/no_converge.rb