Created
November 9, 2010 01:02
-
-
Save densone/668554 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/env/ruby | |
require 'net/http' | |
require 'rubygems' | |
require 'json' | |
require 'logger' | |
couch_server = "http://localhost:5984/" | |
active_tasks = ['_active_tasks'] | |
couch_db = 'chef/' | |
@@log = Logger.new(STDOUT) | |
@@log.level = Logger::INFO | |
compact_functions = ['_compact/clients','_compact/data_bags','_compact/id_map','_compact/nodes','_compact/roles','_compact/users','_compact/'] | |
def couch_post(server,functions,db) | |
post_data = [] | |
for function in functions | |
#This will be cleaned up in the future for more indepth posts. | |
res = Net::HTTP.post_form(URI.parse(server + db + function),{}) | |
post_data << res | |
end | |
return post_data | |
end | |
def compact_db(server,functions,db) | |
@@log.info("Starting compact of chef database") | |
messages = couch_post(server,functions,db) | |
for message in messages | |
@@log.info(message) | |
end | |
@@log.info("Completed compact of chef database") | |
end | |
compact_db(couch_server,compact_functions,couch_db) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment