current progress

This commit is contained in:
Anton Chuchkalov 2015-08-05 15:06:18 +03:00
parent ea2046c932
commit d49cd07475
5 changed files with 17 additions and 7 deletions

View File

@ -44,6 +44,8 @@ module Devops
stack = self.stack(id)
stack.sync_details!
Devops::Db.connector.stack_update(stack)
stack
end
def resources id

View File

@ -5,7 +5,7 @@ module StackCommands
include ServerCommands
extend self
def stack_bootstrap_proc
def sync_bootstrap_proc
lambda do |out, stack, mongo|
# two tries each 4 seconds, then 5 tries each 10 seconds, then 5 tries each minute.
sleep_times = [4]*2 + [10]*5 + [60]*5
@ -29,12 +29,15 @@ module StackCommands
end
end
def bootstrap_stack_servers
def bootstrap_stack_servers_proc(out, stack, mongo, provider, logger)
mongo.stack_servers(stack.id).each do |server|
key = mongo.key(server.key)
two_phase_bootstrap(server, out, provider, mongo, key.path, logger)
end
end
CommandsStorage.add_job_lambda(
stack_bootstrap: stack_bootstrap_proc
sync_bootstrap: sync_bootstrap_proc
)
end

View File

@ -29,6 +29,10 @@ module Connectors
servers_find(q, f)
end
def stack_servers(stack_id)
list('stack' => stack_id)
end
def servers_by_names(names)
query = {}
query['chef_node_name'] = {'$in' => names} unless names.nil? or names.class != Array

View File

@ -20,7 +20,7 @@ class MongoConnector
:project_delete, :is_project_exists?, :check_project_auth] => :projects_connector,
[:project_templates, :project_template_insert, :project_template_update,
:project_template_delete] => :projects_templates_connector,
[:servers_find, :servers, :servers_by_names, :server_by_instance_id,
[:servers_find, :servers, :stack_servers, :servers_by_names, :server_by_instance_id,
:server_by_chef_node_name, :servers_by_key, :server_insert,
:server_delete, :server_update, :server_set_chef_node_name, :stack_servers_delete] => :servers_connector,
[:user_auth, :user, :users, :users_names, :user_insert, :user_delete,

View File

@ -16,9 +16,10 @@ class StackBootstrapWorker < Worker
stack = mongo.stack(options['stack_id'])
save_report(mongo, stack, file)
status = stack_bootstrap_proc.call(out, stack, mongo)
sync_bootstrap_proc.call(out, stack, mongo)
persist_stack_servers_in_mongo!(mongo, stack, provider)
status
# logger = DevopsLogger.logger
# bootstrap_stack_servers_proc.call(STDOUT, stack, mongo, provider, logger)
end
end