some fixes
This commit is contained in:
parent
024250d408
commit
f9db126e0c
@ -1,3 +1,4 @@
|
||||
require "lib/expire_handler"
|
||||
module Devops
|
||||
class DevopsApi2Application < Application
|
||||
|
||||
@ -35,8 +36,19 @@ module Devops
|
||||
Devops::Api2.set :scripts_dir, (config[:scripts_dir] || File.join(config[:devops_dir], "files/scripts"))
|
||||
[:keys_dir, :scripts_dir].each {|key| d = Devops::Api2.settings.send(key); FileUtils.mkdir_p(d) unless File.exists?(d) }
|
||||
init_mongo
|
||||
Devops::Api2.settings.mongo.create_root_user
|
||||
mongo = Devops::Api2.settings.mongo
|
||||
mongo.create_root_user
|
||||
::Provider::ProviderFactory.init(config)
|
||||
::Provider::ProviderFactory.all.each do |p|
|
||||
next if p.certificate_path.nil? or p.certificate_path.empty?
|
||||
begin
|
||||
mongo.key p.ssh_key, Devops::Model::Key::SYSTEM
|
||||
rescue RecordNotFound => e
|
||||
k = Devops::Model::Key.new({"id" => p.ssh_key, "path" => p.certificate_path, "scope" => Devops::Model::Key::SYSTEM})
|
||||
mongo.key_insert k
|
||||
end
|
||||
end
|
||||
ExpireHandler.init
|
||||
|
||||
Stubber.stub_providers!(config[:stub_providers])
|
||||
end
|
||||
|
||||
@ -20,7 +20,7 @@ module ServerCommands
|
||||
DevopsLogger.logger.info "Server with parameters: #{s.to_hash.inspect} is running"
|
||||
key = mongo.key(s.key)
|
||||
return two_phase_bootstrap(s, out, provider, key.path)
|
||||
rescue IOError => e
|
||||
rescue => e
|
||||
DevopsLogger.logger.error e.message
|
||||
DevopsLogger.logger.warn roll_back(s, provider)
|
||||
mongo.server_delete s.id
|
||||
@ -95,11 +95,11 @@ module ServerCommands
|
||||
|
||||
def two_phase_bootstrap s, out, provider, cert_path
|
||||
mongo = ::Devops::Db.connector
|
||||
out << "\n\nBootstrap..."
|
||||
out << "\n\nBootstrap...\n"
|
||||
out.flush if out.respond_to?(:flush)
|
||||
run_list = s.options[:run_list]
|
||||
s.options[:run_list] = provider.run_list
|
||||
out << "\nBootstrap with provider run list: #{s.options[:run_list].inspect}"
|
||||
out << "Bootstrap with provider run list: #{s.options[:run_list].inspect}\n"
|
||||
s.chef_node_name = provider.create_default_chef_node_name(s) if s.chef_node_name.nil?
|
||||
status = bootstrap(s, out, cert_path)
|
||||
out.flush if out.respond_to?(:flush)
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
require "db/mongo/models/key"
|
||||
module Connectors
|
||||
class Key < Base
|
||||
include Helpers::InsertCommand,
|
||||
|
||||
@ -60,7 +60,7 @@ module Devops
|
||||
self.key = s["key"]
|
||||
self.reserved_by = s["reserved_by"]
|
||||
self.stack = s["stack"]
|
||||
self.run_list = p["run_list"] || []
|
||||
self.run_list = s["run_list"] || []
|
||||
end
|
||||
|
||||
def create
|
||||
|
||||
@ -151,13 +151,14 @@ module Provider
|
||||
details = compute.get_server_details(s.id).body
|
||||
status = details["server"]["status"].upcase
|
||||
if status == "ERROR"
|
||||
out << "Server returns status 'ERROR'"
|
||||
out << " error\nServer returns status 'ERROR'"
|
||||
out << details["server"]
|
||||
return false
|
||||
end
|
||||
end
|
||||
network = networks[0]["name"]
|
||||
s.private_ip = details["server"]["addresses"][network][0]["addr"]
|
||||
out << "\nDone\n\n"
|
||||
out << " done\n\n"
|
||||
out << s.info
|
||||
true
|
||||
end
|
||||
|
||||
Loading…
Reference in New Issue
Block a user