diff options
Diffstat (limited to 'bin/chef-indexer')
-rwxr-xr-x | bin/chef-indexer | 87 |
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 |