def cluster_process_nodes(cluster, environment, cookbooks, environments, roles, knifecommands, rootoptions)
      Spiceweasel::Log.debug("cluster::cluster_process_nodes '#{environment}' '#{cluster[environment]}'")
      cluster[environment].each do |node|
        node_name = node.keys.first
        options = node[node_name]["options"] || ""
        validate_environment(options, environment, environments) unless Spiceweasel::Config[:novalidation]
        # push the Environment back on the options
        node[node_name]["options"] = options + " -E #{environment}"
      end
      # let's reuse the Nodes logic
      nodes = Spiceweasel::Nodes.new(cluster[environment], cookbooks, environments, roles, knifecommands, rootoptions)
      @create.concat(nodes.create)
      # what about providers??
      nodes.delete.each do |del|
        @delete.push(del) unless del.to_s =~ /^knife client|^knife node/
      end
      if bundler?
        @delete.push(Command.new("for N in $(bundle exec knife node list -E #{environment}); do bundle exec knife client delete $N -y; bundle exec knife node delete $N -y; done"))
      else
        @delete.push(Command.new("for N in $(knife node list -E #{environment}); do knife client delete $N -y; knife node delete $N -y; done"))
      end
    end
def cluster_process_nodes(cluster, environment, cookbooks, environments, roles, knifecommands, rootoptions)
      Spiceweasel::Log.debug("cluster::cluster_process_nodes '#{environment}' '#{cluster[environment]}'")
      cluster[environment].each do |node|
        node_name = node.keys.first
        options = node[node_name]["options"] || ""
        validate_environment(options, environment, environments) unless Spiceweasel::Config[:novalidation]
        # push the Environment back on the options
        node[node_name]["options"] = options + " -E #{environment}"
      end
      # let's reuse the Nodes logic
      nodes = Spiceweasel::Nodes.new(cluster[environment], cookbooks, environments, roles, knifecommands, rootoptions)
      @create.concat(nodes.create)
      # what about providers??
      nodes.delete.each do |del|
        @delete.push(del) unless del.to_s =~ /^knife client|^knife node/
      end
      if bundler?
        @delete.push(Command.new("for N in $(bundle exec knife node list -E #{environment}); do bundle exec knife client delete $N -y; bundle exec knife node delete $N -y; done"))
      else
        @delete.push(Command.new("for N in $(knife node list -E #{environment}); do knife client delete $N -y; knife node delete $N -y; done"))
      end
    end
configure the individual nodes within the cluster