Sha256: a53bc91a06e6c598da7d6b56c09d498dd3b07df8e17509c7a65cee9441194f63

Contents?: true

Size: 920 Bytes

Versions: 6

Compression:

Stored size: 920 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 converge(action_handler, machine)
      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

6 entries across 6 versions & 1 rubygems

Version Path
chef-metal-0.8.2 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.8.1 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.8 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.7 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.6 lib/chef_metal/convergence_strategy/no_converge.rb
chef-metal-0.5 lib/chef_metal/convergence_strategy/no_converge.rb