summaryrefslogtreecommitdiff
path: root/bin/chef-indexer
diff options
context:
space:
mode:
Diffstat (limited to 'bin/chef-indexer')
-rwxr-xr-xbin/chef-indexer87
1 files changed, 0 insertions, 87 deletions
diff --git a/bin/chef-indexer b/bin/chef-indexer
deleted file mode 100755
index 76606e9219..0000000000
--- a/bin/chef-indexer
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/env ruby
-#
-# ./chef-indexer - Build indexes from Chef Queues!
-#
-# Author:: Adam Jacob (<adam@hjksolutions.com>)
-# Copyright:: Copyright (c) 2008 HJK Solutions, LLC
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-$: << File.join(File.dirname(__FILE__), "..", "lib")
-
-require 'optparse'
-require 'chef'
-require 'rubygems'
-require 'facter'
-
-config = {
- :config_file => "/etc/chef/config.rb",
- :log_level => :info
-}
-opts = OptionParser.new do |opts|
- opts.banner = "Usage: #{$0} [-d DIR|-r FILE] (options)"
- opts.on("-c CONFIG", "--config CONFIG", "The Chef Config file to use") do |c|
- config[:config_file] = c
- end
- opts.on_tail("-l LEVEL", "--loglevel LEVEL", "Set the log level (debug, info, warn, error, fatal)") do |l|
- config[:log_level] = l.to_sym
- end
- opts.on_tail("-h", "--help", "Show this message") do
- puts opts
- exit
- end
-end
-opts.parse!(ARGV)
-
-unless File.exists?(config[:config_file]) && File.readable?(config[:config_file])
- puts "I cannot find or read the config file: #{config[:config_file]}"
- puts opts
- exit
-end
-
-# Load our config file
-Chef::Config.from_file(config[:config_file])
-if config[:log_level]
- Chef::Log.level(config[:log_level].to_sym)
-end
-
-# Get a Chef::SearchIndex object
-indexer = Chef::SearchIndex.new
-Chef::Queue.connect
-Chef::Queue.subscribe(:queue, "index")
-Chef::Queue.subscribe(:queue, "remove")
-while 1
- begin
- object, headers = Chef::Queue.receive_msg
- Chef::Log.info("Headers #{headers.inspect}")
- if headers["destination"] == "/queue/chef/index"
- start_timer = Time.new
- indexer.add(object)
- indexer.commit
- final_timer = Time.new
- Chef::Log.info("Indexed object from #{headers['destination']} in #{final_timer - start_timer} seconds")
- elsif headers["destination"] == "/queue/chef/remove"
- start_timer = Time.new
- indexer.delete(object)
- indexer.commit
- final_timer = Time.new
- Chef::Log.info("Removed object from #{headers['destination']} in #{final_timer - start_timer} seconds")
- end
- rescue Exception => e
- if e.kind_of?(Interrupt)
- raise e
- end
- Chef::Log.error("Received Exception: #{e}\n#{e.backtrace.join("\n")} continuing")
- end
-end