--- src/app/controllers/providers_controller.rb | 6 +++--- src/app/models/provider_account.rb | 2 +- src/app/models/provider_account_observer.rb | 2 +- src/app/models/provider_type.rb | 4 ++-- src/app/views/provider_accounts/_list.xml.haml | 2 +- .../provider_accounts/_provider_selection.haml | 2 +- src/app/views/provider_types/_list.xml.haml | 2 +- src/app/views/providers/_list.xml.haml | 2 +- ...20110804215000_rename_provider_type_codename.rb | 9 +++++++++ src/db/seeds.rb | 20 ++++++++++---------- src/features/provider_type.feature | 18 +++++++++--------- .../step_definitions/provider_type_steps.rb | 6 +++--- src/spec/factories/credential.rb | 14 +++++++------- src/spec/factories/provider.rb | 6 +++--- src/spec/factories/provider_type.rb | 6 +++--- src/spec/models/provider_spec.rb | 2 +- 16 files changed, 56 insertions(+), 47 deletions(-) create mode 100644 src/db/migrate/20110804215000_rename_provider_type_codename.rb
diff --git a/src/app/controllers/providers_controller.rb b/src/app/controllers/providers_controller.rb index 2971e21..32d698b 100644 --- a/src/app/controllers/providers_controller.rb +++ b/src/app/controllers/providers_controller.rb @@ -57,9 +57,9 @@ class ProvidersController < ApplicationController
def create require_privilege(Privilege::CREATE, Provider) - if params[:provider].has_key?(:provider_type_codename) - provider_type = params[:provider].delete(:provider_type_codename) - provider_type = ProviderType.find_by_codename(provider_type) + if params[:provider].has_key?(:provider_type_deltacloud_driver) + provider_type = params[:provider].delete(:provider_type_deltacloud_driver) + provider_type = ProviderType.find_by_deltacloud_driver(provider_type) params[:provider][:provider_type_id] = provider_type.id end @provider = Provider.new(params[:provider]) diff --git a/src/app/models/provider_account.rb b/src/app/models/provider_account.rb index 7fd508f..6079a55 100644 --- a/src/app/models/provider_account.rb +++ b/src/app/models/provider_account.rb @@ -177,7 +177,7 @@ class ProviderAccount < ActiveRecord::Base doc.root = Nokogiri::XML::Node.new('provider_credentials', doc) root = doc.root.at_xpath('/provider_credentials')
- credential_node_name = provider.provider_type.codename + '_credentials' + credential_node_name = provider.provider_type.deltacloud_driver + '_credentials' credential_node = Nokogiri::XML::Node.new(credential_node_name, doc) root << credential_node
diff --git a/src/app/models/provider_account_observer.rb b/src/app/models/provider_account_observer.rb index e4b8288..9dbd9bb 100644 --- a/src/app/models/provider_account_observer.rb +++ b/src/app/models/provider_account_observer.rb @@ -3,7 +3,7 @@ class ProviderAccountObserver < ActiveRecord::Observer # 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 + if account.provider.provider_type_id == ProviderType.find_by_deltacloud_driver("ec2").id create_bucket(account) end account.populate_hardware_profiles diff --git a/src/app/models/provider_type.rb b/src/app/models/provider_type.rb index 5d9832a..1b5ce3f 100644 --- a/src/app/models/provider_type.rb +++ b/src/app/models/provider_type.rb @@ -19,7 +19,7 @@ class ProviderType < ActiveRecord::Base
validates_presence_of :name validates_uniqueness_of :name - validates_presence_of :codename - validates_uniqueness_of :codename + validates_presence_of :deltacloud_driver + validates_uniqueness_of :deltacloud_driver
end diff --git a/src/app/views/provider_accounts/_list.xml.haml b/src/app/views/provider_accounts/_list.xml.haml index f271154..09ee543 100644 --- a/src/app/views/provider_accounts/_list.xml.haml +++ b/src/app/views/provider_accounts/_list.xml.haml @@ -4,5 +4,5 @@ %provider_account %name= account.name %provider= account.provider.name - %provider_type= account.provider.provider_type.codename + %provider_type= account.provider.provider_type.deltacloud_driver = account.build_credentials.root.xpath('/provider_credentials').to_s.html_safe diff --git a/src/app/views/provider_accounts/_provider_selection.haml b/src/app/views/provider_accounts/_provider_selection.haml index 0dee71e..fc7e225 100644 --- a/src/app/views/provider_accounts/_provider_selection.haml +++ b/src/app/views/provider_accounts/_provider_selection.haml @@ -6,7 +6,7 @@ %p = label_tag "Cloud type: " = @selected_provider.provider_type.name - - unless @selected_provider.provider_type.codename.nil? + - unless @selected_provider.provider_type.deltacloud_driver.nil? = render :partial => "provider_form", :locals => { :provider_type => @selected_provider.provider_type} - else = flash.now[:warning] = "You don't have any provider yet" diff --git a/src/app/views/provider_types/_list.xml.haml b/src/app/views/provider_types/_list.xml.haml index c0fc65c..d612421 100644 --- a/src/app/views/provider_types/_list.xml.haml +++ b/src/app/views/provider_types/_list.xml.haml @@ -3,4 +3,4 @@ - @provider_types.each do |p| %provider_type %name= p.name - %codename= p.codename + %deltacloud_driver= p.deltacloud_driver diff --git a/src/app/views/providers/_list.xml.haml b/src/app/views/providers/_list.xml.haml index 53f06a0..3e4c1bb 100644 --- a/src/app/views/providers/_list.xml.haml +++ b/src/app/views/providers/_list.xml.haml @@ -4,4 +4,4 @@ %provider %name= p.name %url= p.url - %provider_type= p.provider_type.codename + %provider_type= p.provider_type.deltacloud_driver diff --git a/src/db/migrate/20110804215000_rename_provider_type_codename.rb b/src/db/migrate/20110804215000_rename_provider_type_codename.rb new file mode 100644 index 0000000..8968672 --- /dev/null +++ b/src/db/migrate/20110804215000_rename_provider_type_codename.rb @@ -0,0 +1,9 @@ +class RenameProviderTypeCodename < ActiveRecord::Migration + def self.up + rename_column :provider_types, :codename, :deltacloud_driver + end + + def self.down + rename_column :provider_types, :deltacloud_driver, :codename + end +end diff --git a/src/db/seeds.rb b/src/db/seeds.rb index eb9219d..4e4f694 100644 --- a/src/db/seeds.rb +++ b/src/db/seeds.rb @@ -121,27 +121,27 @@ end
# Provider types actually supported if ProviderType.all.empty? - ProviderType.create!(:name => "Mock", :codename =>"mock") - ProviderType.create!(:name => "Amazon EC2", :codename =>"ec2", :ssh_user => "root", :home_dir => "/root") - ProviderType.create!(:name => "GoGrid", :codename =>"gogrid") - ProviderType.create!(:name => "Rackspace", :codename =>"rackspace") - ProviderType.create!(:name => "RHEV-M", :codename =>"rhevm") - ProviderType.create!(:name => "OpenNebula", :codename =>"opennebula") - ProviderType.create!(:name => "Condor Cloud", :codename =>"condorcloud") - ProviderType.create!(:name => "VMware vSphere", :codename =>"vsphere") + ProviderType.create!(:name => "Mock", :deltacloud_driver =>"mock") + ProviderType.create!(:name => "Amazon EC2", :deltacloud_driver =>"ec2", :ssh_user => "root", :home_dir => "/root") + ProviderType.create!(:name => "GoGrid", :deltacloud_driver =>"gogrid") + ProviderType.create!(:name => "Rackspace", :deltacloud_driver =>"rackspace") + ProviderType.create!(:name => "RHEV-M", :deltacloud_driver =>"rhevm") + ProviderType.create!(:name => "OpenNebula", :deltacloud_driver =>"opennebula") + ProviderType.create!(:name => "Condor Cloud", :deltacloud_driver =>"condorcloud") + ProviderType.create!(:name => "VMware vSphere", :deltacloud_driver =>"vsphere") end
# fill table CredentialDefinitions by default values if CredentialDefinition.all.empty? ProviderType.all.each do |provider_type| - unless provider_type.codename == 'ec2' + unless provider_type.deltacloud_driver == 'ec2' CredentialDefinition.create!(:name => 'username', :label => 'Username', :input_type => 'text', :provider_type_id => provider_type.id) CredentialDefinition.create!(:name => 'password', :label => 'Password', :input_type => 'password', :provider_type_id => provider_type.id) end end
#for ec2 provider type - ec2 = ProviderType.find_by_codename 'ec2' + ec2 = ProviderType.find_by_deltacloud_driver 'ec2' CredentialDefinition.create!(:name => 'username', :label => 'Access Key', :input_type => 'text', :provider_type_id => ec2.id) CredentialDefinition.create!(:name => 'password', :label => 'Secret Access Key', :input_type => 'password', :provider_type_id => ec2.id) CredentialDefinition.create!(:name => 'account_id', :label => 'Account Number', :input_type => 'text', :provider_type_id => ec2.id) diff --git a/src/features/provider_type.feature b/src/features/provider_type.feature index 32e2f49..5d1f33c 100644 --- a/src/features/provider_type.feature +++ b/src/features/provider_type.feature @@ -12,12 +12,12 @@ Feature: Manage Providers When I go to the provider types page Then I should get a XML document And there should be these provider types: - | name | codename | - | Mock | mock | - | GoGrid | gogrid | - | Rackspace | rackspace | - | OpenNebula | opennebula | - | Amazon EC2 | ec2 | - | RHEV-M | rhevm | - | Condor Cloud | condorcloud | - | VMware vSphere | vsphere | \ No newline at end of file + | name | deltacloud_driver | + | Mock | mock | + | GoGrid | gogrid | + | Rackspace | rackspace | + | OpenNebula | opennebula | + | Amazon EC2 | ec2 | + | RHEV-M | rhevm | + | Condor Cloud | condorcloud | + | VMware vSphere | vsphere | \ No newline at end of file diff --git a/src/features/step_definitions/provider_type_steps.rb b/src/features/step_definitions/provider_type_steps.rb index e65e78a..aa3ffa2 100644 --- a/src/features/step_definitions/provider_type_steps.rb +++ b/src/features/step_definitions/provider_type_steps.rb @@ -1,11 +1,11 @@ Then /^there should be these provider types:$/ do |table| types = @xml_response.root.xpath('/provider_types/provider_type').map do |n| - {:name => n.xpath('name').text, - :codename => n.xpath('codename').text} + {:name => n.xpath('name').text, + :deltacloud_driver => n.xpath('deltacloud_driver').text} end table.hashes.each do |hash| p = types.find {|n| n[:name] == hash[:name]} p.should_not be_nil - p[:codename].should == hash[:codename] + p[:deltacloud_driver].should == hash[:deltacloud_driver] end end diff --git a/src/spec/factories/credential.rb b/src/spec/factories/credential.rb index ae4aa02..b7061be 100644 --- a/src/spec/factories/credential.rb +++ b/src/spec/factories/credential.rb @@ -8,38 +8,38 @@ FactoryGirl.define do # EC2 credentials factory :ec2_username_credential, :parent => :credential do value "mockuser" - credential_definition { CredentialDefinition.find_by_name('username',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})} + credential_definition { CredentialDefinition.find_by_name('username',:conditions => {:provider_type_id => ProviderType.find_by_deltacloud_driver('ec2')})} end
factory :ec2_password_credential, :parent => :credential do value "mockpassword" - credential_definition { CredentialDefinition.find_by_name('password',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})} + credential_definition { CredentialDefinition.find_by_name('password',:conditions => {:provider_type_id => ProviderType.find_by_deltacloud_driver('ec2')})} end
factory :ec2_account_id_credential, :parent => :credential do value "3141" - credential_definition { CredentialDefinition.find_by_name('account_id',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})} + credential_definition { CredentialDefinition.find_by_name('account_id',:conditions => {:provider_type_id => ProviderType.find_by_deltacloud_driver('ec2')})} end
factory :ec2_x509private_credential, :parent => :credential do value "x509 private key" - credential_definition { CredentialDefinition.find_by_name('x509private',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})} + credential_definition { CredentialDefinition.find_by_name('x509private',:conditions => {:provider_type_id => ProviderType.find_by_deltacloud_driver('ec2')})} end
factory :ec2_x509public_credential, :parent => :credential do value "x509 public key" - credential_definition { CredentialDefinition.find_by_name('x509public',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})} + credential_definition { CredentialDefinition.find_by_name('x509public',:conditions => {:provider_type_id => ProviderType.find_by_deltacloud_driver('ec2')})} end
#Mock & Others credentials factory :username_credential, :parent => :credential do value "mockuser" - credential_definition { CredentialDefinition.find_by_name('username',:conditions => {:provider_type_id => ProviderType.find_by_codename('mock')})} + credential_definition { CredentialDefinition.find_by_name('username',:conditions => {:provider_type_id => ProviderType.find_by_deltacloud_driver('mock')})} end
factory :password_credential, :parent => :credential do value "mockpassword" - credential_definition { CredentialDefinition.find_by_name('password',:conditions => {:provider_type_id => ProviderType.find_by_codename('mock')})} + credential_definition { CredentialDefinition.find_by_name('password',:conditions => {:provider_type_id => ProviderType.find_by_deltacloud_driver('mock')})} end
end diff --git a/src/spec/factories/provider.rb b/src/spec/factories/provider.rb index e62afcc..df0d3f1 100644 --- a/src/spec/factories/provider.rb +++ b/src/spec/factories/provider.rb @@ -7,7 +7,7 @@ FactoryGirl.define do end
factory :mock_provider, :parent => :provider do - provider_type {ProviderType.find_by_codename("mock")} + provider_type {ProviderType.find_by_deltacloud_driver("mock")} url 'http://localhost:3002/api' hardware_profiles { |hp| [hp.association(:mock_hwp1), hp.association(:mock_hwp2)] } after_create { |p| p.realms << FactoryGirl.create(:realm1, :provider => p) << FactoryGirl.create(:realm2, :provider => p) } @@ -15,14 +15,14 @@ FactoryGirl.define do
factory :mock_provider2, :parent => :provider do name 'mock2' - provider_type { ProviderType.find_by_codename("mock") } + provider_type { ProviderType.find_by_deltacloud_driver("mock") } url 'http://localhost:3002/api' after_create { |p| p.realms << FactoryGirl.create(:realm3, :provider => p) } end
factory :ec2_provider, :parent => :provider do name 'amazon-ec2' - provider_type { ProviderType.find_by_codename("ec2") } + provider_type { ProviderType.find_by_deltacloud_driver("ec2") } url 'http://localhost:3002/api' hardware_profiles { |hp| [hp.association(:ec2_hwp1)] } after_create { |p| p.realms << FactoryGirl.create(:realm4, :provider => p) } diff --git a/src/spec/factories/provider_type.rb b/src/spec/factories/provider_type.rb index b329e6c..d33d618 100644 --- a/src/spec/factories/provider_type.rb +++ b/src/spec/factories/provider_type.rb @@ -2,17 +2,17 @@ FactoryGirl.define do
factory :provider_type do sequence(:name) { |n| "name#{n}" } - sequence(:codename) { |n| "codename#{n}" } + sequence(:deltacloud_driver) { |n| "deltacloud_driver#{n}" } end
factory :mock_provider_type, :parent => :provider_type do name 'Mock' - codename 'mock' + deltacloud_driver 'mock' end
factory :ec2_provider_type, :parent => :provider_type do name 'Amazon EC2' - codename 'ec2' + deltacloud_driver 'ec2' end
end diff --git a/src/spec/models/provider_spec.rb b/src/spec/models/provider_spec.rb index 0cb52bc..a13ff00 100644 --- a/src/spec/models/provider_spec.rb +++ b/src/spec/models/provider_spec.rb @@ -65,7 +65,7 @@ describe Provider do it "should set valid cloud type" do @client.driver_name = @provider.provider_type @provider.provider_type = nil - @provider.provider_type = ProviderType.find_by_codename "mock" + @provider.provider_type = ProviderType.find_by_deltacloud_driver "mock" @provider.should be_valid end