#789: done
This commit is contained in:
parent
31214f36ac
commit
adb20343f6
@ -22,7 +22,22 @@ module Devops
|
||||
|
||||
def add_account provider
|
||||
account = ::Provider::ProviderFactory.get(provider).create_account(parser.account)
|
||||
certificate_content = account.certificate
|
||||
cert_name = "#{account.account_name}.pem"
|
||||
certificate_path = File.join(Devops::Api2.settings.keys_dir, cert_name)
|
||||
if File.exists?(certificate_path)
|
||||
raise ConflictException.new("File '#{cert_name}' already exists")
|
||||
end
|
||||
File.open(certificate_path, "w") do |f|
|
||||
f << certificate_content
|
||||
end
|
||||
File.chmod(0600, certificate_path)
|
||||
DevopsLogger.logger.info("File '#{certificate_path}' for provider account '#{account.account_name}' has been created")
|
||||
key = Devops::Model::Key.new({"id" => account.ssh_key, "path" => certificate_path, "scope" => Devops::Model::Key::SYSTEM})
|
||||
Devops::Db.connector.key_insert key
|
||||
account.certificate = certificate_path
|
||||
Devops::Db.connector.provider_accounts_insert(account)
|
||||
account
|
||||
end
|
||||
|
||||
def delete_account name, provider
|
||||
|
||||
@ -35,7 +35,11 @@ module Devops
|
||||
end
|
||||
|
||||
def provider_servers provider
|
||||
::Provider::ProviderFactory.get(provider).servers
|
||||
provider_servers_with_account provider, nil
|
||||
end
|
||||
|
||||
def provider_servers_with_account provider, account
|
||||
::Provider::ProviderFactory.get(provider, account).servers
|
||||
end
|
||||
|
||||
def server id
|
||||
|
||||
@ -85,6 +85,11 @@ module Devops
|
||||
json Devops::API2_0::Handler::Server.new(request).provider_servers(provider)
|
||||
end
|
||||
|
||||
app.get_with_headers "/servers/provider/:provider/:account", :headers => [:accept] do |provider, account|
|
||||
check_privileges("server", "r")
|
||||
json Devops::API2_0::Handler::Server.new(request).provider_servers_with_account(provider, account)
|
||||
end
|
||||
|
||||
# Get server info by :name
|
||||
#
|
||||
# * *Request*
|
||||
|
||||
@ -73,7 +73,9 @@ EOH
|
||||
end
|
||||
|
||||
def knife cmd
|
||||
o = `bundle exec knife #{cmd} -c #{self.config} 2>&1`
|
||||
cmd = "bundle exec knife #{cmd} -c #{self.config} 2>&1"
|
||||
DevopsLogger.logger.info("Going to invoke command: #{cmd}")
|
||||
o = `#{cmd}`
|
||||
return o, $?.success?
|
||||
end
|
||||
|
||||
|
||||
@ -145,7 +145,7 @@ module Devops
|
||||
}
|
||||
end
|
||||
|
||||
def deploy_info deploy_env, build_number
|
||||
def deploy_info deploy_env, build_number=nil
|
||||
{
|
||||
"use_json_file" => true,
|
||||
# "run_list" => Set.new.merge(self.run_list).merge(deploy_env.run_list).to_a,
|
||||
|
||||
@ -78,6 +78,7 @@ module Devops
|
||||
provider = @deploy_env.provider_instance
|
||||
mongo = ::Devops::Db.connector
|
||||
begin
|
||||
@out.puts "Using '#{@deploy_env.provider}' account '#{@deploy_env.provider_account}'\n" if @deploy_env.provider_account
|
||||
@out.puts "Create server..."
|
||||
@out.flush
|
||||
|
||||
@ -137,6 +138,7 @@ module Devops
|
||||
end
|
||||
ja = {
|
||||
:provider => @server.provider,
|
||||
:provider_account => @server.provider_account,
|
||||
:devops_host => `hostname`.strip
|
||||
}
|
||||
ip = @server.private_ip
|
||||
@ -210,7 +212,7 @@ module Devops
|
||||
bootstrap_options.push "--sudo" unless @server.remote_user == "root"
|
||||
bootstrap_options.push "-t #{options[:bootstrap_template]}" if options[:bootstrap_template]
|
||||
rl = options[:run_list]
|
||||
bootstrap_options.push "-r #{rl.join(",")}" unless rl.nil?# rl.empty?
|
||||
bootstrap_options.push "-r #{rl.join(",")}" unless rl.nil? or rl.empty?
|
||||
bootstrap_options.push "-c #{options[:config]}" if options[:config]
|
||||
bootstrap_options
|
||||
end
|
||||
@ -269,6 +271,7 @@ module Devops
|
||||
end
|
||||
rescue => e
|
||||
@out << "\nError: #{e.message}\n"
|
||||
DevopsLogger.logger.error(e.message + "\n" + e.backtrace.join("\n"))
|
||||
result_code(:deploy_unknown_error)
|
||||
end
|
||||
end
|
||||
|
||||
@ -94,7 +94,7 @@ module Provider
|
||||
|
||||
def servers
|
||||
list = self.compute.describe_instances.body["reservationSet"]
|
||||
list.select{|l| l["instancesSet"][0]["instanceState"]["name"].to_s != "terminated"}.map do |server|
|
||||
list.select{|l| l["instancesSet"][0]["instanceState"]["name"].to_s == "running"}.map do |server|
|
||||
convert_server server["instancesSet"][0]
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
Reference in New Issue
Block a user