#root = File.join(File.dirname(__FILE__), "..") #$LOAD_PATH.push root unless $LOAD_PATH.include? root require File.join(File.dirname(__FILE__), "worker") require "lib/executors/server_executor" require "providers/provider_factory" require "db/mongo/models/server" require "db/mongo/models/report" class BootstrapWorker < Worker def perform(dir, e_provider, server, bootstrap_template, owner, conf) call(conf, e_provider, dir) do |provider, out, file| mongo = Devops::Db.connector s = Devops::Model::Server.new(server) # s.options = convert_config(server["options"]) o = { "file" => file, "_id" => jid, "created_by" => owner, "project" => s.project, "deploy_env" => s.deploy_env, "type" => Devops::Model::Report::BOOTSTRAP_TYPE } mongo.save_report(Devops::Model::Report.new(o)) options = { :bootstrap_template => bootstrap_template } status = Devops::Executor::ServerExecutor.new(s, out).two_phase_bootstrap(options) mongo.set_report_server_data(jid, s.chef_node_name, s.public_ip || s.private_ip) status end end end