handle error with invalid provider key

This commit is contained in:
Anton Chuchkalov 2014-11-21 15:45:52 +04:00
parent ce8cdd230c
commit c57c3762b7
2 changed files with 21 additions and 10 deletions

View File

@ -3,7 +3,7 @@ GEM
specs: specs:
addressable (2.3.5) addressable (2.3.5)
atomic (1.1.14) atomic (1.1.14)
backports (3.6.0) backports (3.6.4)
bson (1.9.2) bson (1.9.2)
bson_ext (1.9.2) bson_ext (1.9.2)
bson (~> 1.9.2) bson (~> 1.9.2)

View File

@ -30,15 +30,8 @@ class DevopsService < Sinatra::Base
mongo = DevopsService.mongo mongo = DevopsService.mongo
mongo.create_root_user mongo.create_root_user
::Provider::ProviderFactory.init(config) ::Provider::ProviderFactory.init(config)
::Provider::ProviderFactory.all.each do |p| set_up_providers_keys!(::Provider::ProviderFactory.all, mongo)
next if p.certificate_path.nil?
begin
mongo.key p.ssh_key, Key::SYSTEM
rescue RecordNotFound => e
k = Key.new({"id" => p.ssh_key, "path" => p.certificate_path, "scope" => Key::SYSTEM})
mongo.key_insert k
end
end
end end
@@mongo @@mongo
@ -63,4 +56,22 @@ class DevopsService < Sinatra::Base
use ::Version2_0::V2_0 use ::Version2_0::V2_0
private
def set_up_providers_keys!(providers, mongo)
providers.each do |provider|
next if provider.certificate_path.nil?
begin
mongo.key provider.ssh_key, Key::SYSTEM
rescue RecordNotFound => e
begin
k = Key.new({"id" => provider.ssh_key, "path" => provider.certificate_path, "scope" => Key::SYSTEM})
mongo.key_insert k
rescue InvalidRecord => e
puts "ERROR: an error occured during inserting #{provider.name} key"
end
end
end
end
end end