require File.join(File.dirname(__FILE__), "worker") require "lib/executors/server_executor" require "db/mongo/models/server" require "db/mongo/models/report" class DeployWorker < Worker def perform(dir, server, tags, owner, conf, deploy_info) call(conf, nil, dir) do |provider, out, file| mongo = Devops::Db.connector s = Devops::Model::Server.new(server) o = { "file" => file, "_id" => jid, "created_by" => owner, "project" => s.project, "deploy_env" => s.deploy_env, "type" => Devops::Model::Report::DEPLOY_TYPE, "status" => STATUS::RUNNING, "chef_node_name" => s.chef_node_name, "host" => s.public_ip || s.private_ip } mongo.save_report(Devops::Model::Report.new(o)) status = Devops::Executor::ServerExecutor.new(s, out).deploy_server_with_tags(tags, deploy_info) status end end end