Skip to content

Commit

Permalink
Merge pull request #17207 from lfu/ansible_vault_credential_3
Browse files Browse the repository at this point in the history
Add vault credential to factory and provision_job_options.
  • Loading branch information
gmcculloug authored Mar 27, 2018
2 parents f0ad654 + 84ee34e commit 1d647ba
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
7 changes: 5 additions & 2 deletions app/models/service_ansible_playbook.rb
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,11 @@ def save_job_options(action, overrides)
job_options.deep_merge!(parse_dialog_options) unless action == ResourceAction::RETIREMENT
job_options.deep_merge!(overrides)

credential_id = job_options.delete(:credential_id)
job_options[:credential] = Authentication.find(credential_id).manager_ref unless credential_id.blank?
%i(credential vault_credential).each do |cred|
cred_sym = "#{cred}_id".to_sym
credential_id = job_options.delete(cred_sym)
job_options[cred] = Authentication.find(credential_id).manager_ref if credential_id.present?
end

hosts = job_options[:hosts]
job_options[:inventory] = create_inventory_with_hosts(action, hosts).id unless use_default_inventory?(hosts)
Expand Down
4 changes: 4 additions & 0 deletions spec/factories/authentication.rb
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@
:parent => :automation_manager_authentication,
:class => "ManageIQ::Providers::AnsibleTower::AutomationManager::MachineCredential"

factory :ansible_vault_credential,
:parent => :automation_manager_authentication,
:class => "ManageIQ::Providers::AnsibleTower::AutomationManager::VaultCredential"

factory :ansible_network_credential,
:parent => :automation_manager_authentication,
:class => "ManageIQ::Providers::AnsibleTower::AutomationManager::NetworkCredential"
Expand Down
11 changes: 7 additions & 4 deletions spec/models/service_ansible_playbook_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
let(:credential_0) { FactoryGirl.create(:authentication, :manager_ref => '1') }
let(:credential_1) { FactoryGirl.create(:authentication, :manager_ref => 'a') }
let(:credential_2) { FactoryGirl.create(:authentication, :manager_ref => 'b') }
let(:credential_3) { FactoryGirl.create(:authentication, :manager_ref => '2') }
let(:decrpyted_val) { 'my secret' }
let(:encrypted_val) { MiqPassword.encrypt(decrpyted_val) }
let(:encrypted_val2) { MiqPassword.encrypt(decrpyted_val + "new") }
Expand Down Expand Up @@ -43,10 +44,11 @@
{
:config_info => {
:provision => {
:hosts => "default_host1,default_host2",
:credential_id => credential_0.id,
:playbook_id => 10,
:extra_vars => {
:hosts => "default_host1,default_host2",
:credential_id => credential_0.id,
:vault_credential_id => credential_3.id,
:playbook_id => 10,
:extra_vars => {
"var1" => {:default => "default_val1"},
:var2 => {:default => "default_val2"},
"var3" => {:default => "default_val3"}
Expand All @@ -68,6 +70,7 @@
{
:provision_job_options => {
:credential => 1,
:vault_credential => 2,
:inventory => 2,
:hosts => "default_host1,default_host2",
:extra_vars => {'var1' => 'value1', 'var2' => 'value2', 'pswd' => encrypted_val}
Expand Down

0 comments on commit 1d647ba

Please sign in to comment.