From: Jan Provaznik jprovazn@redhat.com
No need to create bucket in iwhd anymore, no need to create ssh key for provider account (ssh key is generated per instance) --- src/app/models/provider_account_observer.rb | 34 --------------------- src/config/environment.rb | 2 +- src/spec/models/provider_account_observer_spec.rb | 23 -------------- 3 files changed, 1 insertions(+), 58 deletions(-) delete mode 100644 src/app/models/provider_account_observer.rb delete mode 100644 src/spec/models/provider_account_observer_spec.rb
diff --git a/src/app/models/provider_account_observer.rb b/src/app/models/provider_account_observer.rb deleted file mode 100644 index fd5b65a..0000000 --- a/src/app/models/provider_account_observer.rb +++ /dev/null @@ -1,34 +0,0 @@ -class ProviderAccountObserver < ActiveRecord::Observer - def after_create(account) - # FIXME: new boxgrinder doesn't create bucket for amis automatically, - # for now we create bucket from conductor - # remove this hotfix when fixed on boxgrinder side - if account.provider.provider_type_id == ProviderType.find_by_codename("ec2").id - create_bucket(account) - end - if key = account.generate_auth_key - account.update_attribute(:instance_key, InstanceKey.create!(:pem => key.pem.first, :name => key.id, :instance_key_owner => account)) - end - account.populate_hardware_profiles - end - - private - - def create_bucket(account) - client = account.connect - bucket_name = "#{account.credentials_hash['account_id']}-imagefactory-amis" - # TODO (jprovazn): getting particular bucket takes long time (core fetches all - # buckets from provider), so we call directly create_bucket, if bucket exists, - # exception should be thrown (actually existing bucket is returned - this - # bug should be fixed soon) - #client.create_bucket(:name => bucket_name) unless client.bucket(bucket_name) - begin - client.create_bucket('id' => bucket_name) - rescue Exception => e - Rails.logger.error e.message - Rails.logger.error e.backtrace.join("\n ") - end - end -end - -ProviderAccountObserver.instance diff --git a/src/config/environment.rb b/src/config/environment.rb index eabb8a8..f657eca 100644 --- a/src/config/environment.rb +++ b/src/config/environment.rb @@ -56,7 +56,7 @@ Rails::Initializer.run do |config|
config.middleware.swap Rack::MethodOverride, 'Rack::RestfulSubmit'
- config.active_record.observers = :instance_observer, :task_observer, :provider_account_observer + config.active_record.observers = :instance_observer, :task_observer # Only load the plugins named here, in the order given. By default, all plugins # in vendor/plugins are loaded in alphabetical order. # :all can be used as a placeholder for all plugins not explicitly named diff --git a/src/spec/models/provider_account_observer_spec.rb b/src/spec/models/provider_account_observer_spec.rb deleted file mode 100644 index 6b7d62a..0000000 --- a/src/spec/models/provider_account_observer_spec.rb +++ /dev/null @@ -1,23 +0,0 @@ -require 'spec_helper' - -describe ProviderAccountObserver do - fixtures :all - - it "should create an instance_key if provider is EC2" do - @client = mock('Conductor', :null_object => true) - @provider = Factory.build :ec2_provider - @key = mock('Key', :null_object => true) - @key.stub!(:pem).and_return("PEM") - @key.stub!(:id).and_return("1_user") - @client.stub!(:"feature?").and_return(true) - @client.stub!(:"create_key").and_return(@key) - - provider_account = Factory.build :ec2_provider_account - provider_account.stub!(:connect).and_return(@client) - provider_account.stub!(:generate_auth_key).and_return(@key) - provider_account.save! - provider_account.instance_key.should_not == nil - provider_account.instance_key.pem == "PEM" - provider_account.instance_key.id == "1_user" - end -end