foreman_ansible 6.0.2 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3f071261ab8d77b0963a3ee7a82e198139cf095391a9140efb6a7d954778a5fa
4
- data.tar.gz: 0355abc8c57df2c8af562546353d76b663d4a4634fb7b16f937a59eb13c3c4e8
3
+ metadata.gz: 5f0adadc325dd31954f306695e4f6be32b13d6388db0893cfc2685a2bbb53df3
4
+ data.tar.gz: 7a3e2bf970e9ebff66219696b5bc4714853b109344d943e8d89d02f45b4b50c0
5
5
  SHA512:
6
- metadata.gz: dfe1e9afb9fb2be9ec55bb2df53c132daa25f8ede8918734bcc6992fc4a75b687bebb32b382abdb5ddb8bd842c890f13e583c932f250e700a2237c1ccf7eda6b
7
- data.tar.gz: 2c065cb05f42b4bcf52003a64e8466542ebc6eec5e6fcda5332f8f0f6a0a6f4f9f5c031cda9ae82c306402f6820c15c9a7194d9a2a776aa054276d4dfee2b044
6
+ metadata.gz: d0ae153aa823b601fccf70886d3e6f036585010467c5df1233bb84c3851ca4fc2b5d83e7f3f4a89c796a38f0e1497c58c550d33777c480b058d5e8eafc9f9195
7
+ data.tar.gz: 83f7f0c912b9db4dda3a363690aaf49117581680a1638718410efe9f0c937ba9caae35599c04130ddcc10540a586af57215d279f959abda41aec4a4dd814a76b
@@ -72,8 +72,8 @@ module Api
72
72
  process_resource_error(:resource => @ansible_inventory)
73
73
  end
74
74
  rescue StandardError => e
75
- render_error 'standard_error', :status => :internal_error,
76
- :locals => { :exception => e }
75
+ render_error :custom_error, :status => :unprocessable_entity,
76
+ :locals => { :message => _("Scheduling Report template failed for: #{e.message}") }
77
77
  end
78
78
 
79
79
  def action_permission
@@ -68,7 +68,7 @@ module ForemanAnsible
68
68
  prettyp.gsub!(/^(\[|\])/, '')
69
69
  prettyp.gsub!(/^[\s]*$\n/, '')
70
70
  paragraph_style = 'white-space:pre;padding: 2em 0'
71
- content_tag(:p, prettyp, :style => paragraph_style)
71
+ tag(:p, prettyp, :style => paragraph_style)
72
72
  end
73
73
 
74
74
  def hash_with_keys_removed(hash)
@@ -68,9 +68,9 @@ end
68
68
  module Host
69
69
  class Managed
70
70
  apipie :class do
71
- property :all_ansible_roles, array_of: 'AnsibleRole', desc: 'Returns all ansible roles assigned to the host, both its own and inherited'
72
- property :ansible_roles, array_of: 'AnsibleRole', desc: 'Returns ansible roles assigned to the host'
73
- property :inherited_ansible_roles, array_of: 'AnsibleRole', desc: 'Returns inherited ansible roles assigned to the host'
71
+ property :all_ansible_roles, array_of: 'AnsibleRole', desc: 'Returns all ansible roles assigned to the host, both its own and inherited from the host group and its parents'
72
+ property :ansible_roles, array_of: 'AnsibleRole', desc: 'Returns ansible roles directly assigned to the host'
73
+ property :inherited_ansible_roles, array_of: 'AnsibleRole', desc: 'Returns only ansible roles assigned to the host\'s host group and its parents'
74
74
  end
75
75
  # Methods to be allowed in any template with safemode enabled
76
76
  class Jail < Safemode::Jail
@@ -36,3 +36,15 @@ module ForemanAnsible
36
36
  end
37
37
  end
38
38
  end
39
+
40
+ class Hostgroup
41
+ apipie :class do
42
+ property :all_ansible_roles, array_of: 'AnsibleRole', desc: 'Returns all ansible roles assigned to the host group, both its own and inherited from parent host groups'
43
+ property :ansible_roles, array_of: 'AnsibleRole', desc: 'Returns ansible roles directly assigned to the host group'
44
+ property :inherited_ansible_roles, array_of: 'AnsibleRole', desc: 'Returns only the inherited ansible roles assigned to the host group\'s parents'
45
+ end
46
+ # Methods to be allowed in any template with safemode enabled
47
+ class Jail < Safemode::Jail
48
+ allow :all_ansible_roles, :ansible_roles, :inherited_ansible_roles
49
+ end
50
+ end
@@ -35,7 +35,7 @@ if defined? ForemanRemoteExecution
35
35
  {
36
36
  'per-host' => {
37
37
  host.name => {
38
- 'ansible_password' => rex_ssh_password(host),
38
+ 'ansible_ssh_pass' => rex_ssh_password(host),
39
39
  'ansible_become_password' => rex_effective_user_password(host)
40
40
  }
41
41
  }
@@ -80,8 +80,14 @@ module ForemanAnsible
80
80
  facts[:ansible_os_name].tr(" \n\t", '') ||
81
81
  facts[:ansible_distribution].tr(" \n\t", '')
82
82
  else
83
- facts[:ansible_distribution] ||
84
- facts[:ansible_lsb] && facts[:ansible_lsb]['id']
83
+ distribution = facts[:ansible_distribution] || facts[:ansible_lsb].try(:[], 'id')
84
+
85
+ if distribution == 'RedHat' &&
86
+ facts[:ansible_lsb].try(:[], 'id') == 'RedHatEnterpriseWorkstation'
87
+ distribution += '_Workstation'
88
+ end
89
+
90
+ distribution
85
91
  end
86
92
  end
87
93
 
@@ -34,11 +34,10 @@ feature: ansible_run_capsule_upgrade
34
34
  msg: "This playbook cannot be executed on a Satellite server. Use only on a Capsule server."
35
35
  when: "'satellite' in ansible_facts.packages"
36
36
 
37
- - name: Install satellite-maintain if not present
37
+ - name: Install|Update satellite-maintain if not present
38
38
  package:
39
39
  name: rubygem-foreman_maintain
40
- state: present
41
- when: "'rubygem-foreman_maintain' not in ansible_facts.packages"
40
+ state: latest
42
41
 
43
42
  - block:
44
43
  <%- whitelist_option = if input('whitelist_options').present?
@@ -4,5 +4,5 @@
4
4
  # This way other parts of Foreman can just call ForemanAnsible::VERSION
5
5
  # and detect what version the plugin is running.
6
6
  module ForemanAnsible
7
- VERSION = '6.0.2'
7
+ VERSION = '6.1.0'
8
8
  end
@@ -40,7 +40,7 @@ class AnsibleProviderTest < ActiveSupport::TestCase
40
40
  host.expects(:params).twice.returns(params)
41
41
  secrets = ForemanAnsible::AnsibleProvider.secrets(host)
42
42
  host_secrets = secrets['per-host'][host.name]
43
- assert_equal host_secrets['ansible_password'], 'password'
43
+ assert_equal host_secrets['ansible_ssh_pass'], 'password'
44
44
  assert_equal host_secrets['ansible_become_password'], 'letmein'
45
45
  end
46
46
  end
@@ -24,7 +24,7 @@ module ForemanAnsibleCore
24
24
  '_meta' => { 'hostvars' => { 'foreman.example.com' => {} } } }
25
25
  end
26
26
  let(:input) do
27
- host_secrets = { 'ansible_password' => 'letmein', 'ansible_become_password' => 'iamroot' }
27
+ host_secrets = { 'ansible_ssh_pass' => 'letmein', 'ansible_become_password' => 'iamroot' }
28
28
  secrets = { 'per-host' => { 'foreman.example.com' => host_secrets } }
29
29
  host_input = { 'input' => { 'action_input' => { 'secrets' => secrets } } }
30
30
  { 'foreman.example.com' => host_input }
@@ -35,14 +35,14 @@ module ForemanAnsibleCore
35
35
  test_inventory = inventory.merge('ssh_password' => 'sshpass', 'effective_user_password' => 'mypass')
36
36
  rebuilt = runner.send(:rebuild_secrets, test_inventory, input)
37
37
  host_vars = rebuilt.dig('_meta', 'hostvars', 'foreman.example.com')
38
- assert_equal 'sshpass', host_vars['ansible_password']
38
+ assert_equal 'sshpass', host_vars['ansible_ssh_pass']
39
39
  assert_equal 'mypass', host_vars['ansible_become_password']
40
40
  end
41
41
 
42
42
  test 'host secrets are used when not overriden by inventory secrest' do
43
43
  rebuilt = runner.send(:rebuild_secrets, inventory, input)
44
44
  host_vars = rebuilt.dig('_meta', 'hostvars', 'foreman.example.com')
45
- assert_equal 'letmein', host_vars['ansible_password']
45
+ assert_equal 'letmein', host_vars['ansible_ssh_pass']
46
46
  assert_equal 'iamroot', host_vars['ansible_become_password']
47
47
  end
48
48
  end
@@ -87,7 +87,7 @@ class PlaybookRunnerTest < ActiveSupport::TestCase
87
87
  '_meta' => { 'hostvars' => { 'foreman.example.com' => {} } } }
88
88
  end
89
89
  let(:secrets) do
90
- host_secrets = { 'ansible_password' => 'letmein', 'ansible_become_password' => 'iamroot' }
90
+ host_secrets = { 'ansible_ssh_pass' => 'letmein', 'ansible_become_password' => 'iamroot' }
91
91
  { 'per-host' => { 'foreman.example.com' => host_secrets } }
92
92
  end
93
93
  let(:runner) { ForemanAnsibleCore::Runner::Playbook.allocate }
@@ -96,14 +96,14 @@ class PlaybookRunnerTest < ActiveSupport::TestCase
96
96
  test_inventory = inventory.merge('ssh_password' => 'sshpass', 'effective_user_password' => 'mypass')
97
97
  rebuilt = runner.send(:rebuild_secrets, test_inventory, secrets)
98
98
  host_vars = rebuilt.dig('_meta', 'hostvars', 'foreman.example.com')
99
- assert_equal 'sshpass', host_vars['ansible_password']
99
+ assert_equal 'sshpass', host_vars['ansible_ssh_pass']
100
100
  assert_equal 'mypass', host_vars['ansible_become_password']
101
101
  end
102
102
 
103
103
  test 'host secrets are used when not overriden by inventory secrest' do
104
104
  rebuilt = runner.send(:rebuild_secrets, inventory, secrets)
105
105
  host_vars = rebuilt.dig('_meta', 'hostvars', 'foreman.example.com')
106
- assert_equal 'letmein', host_vars['ansible_password']
106
+ assert_equal 'letmein', host_vars['ansible_ssh_pass']
107
107
  assert_equal 'iamroot', host_vars['ansible_become_password']
108
108
  end
109
109
  end
@@ -69,7 +69,7 @@ module ForemanAnsible
69
69
  connection_params['ansible_winrm_server_cert_validation']
70
70
  assert_equal Setting['remote_execution_effective_user_method'],
71
71
  connection_params['ansible_become_method']
72
- refute connection_params.key?('ansible_password')
72
+ refute connection_params.key?('ansible_ssh_pass')
73
73
  refute connection_params.key?('ansible_become_password')
74
74
  end
75
75
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_ansible
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.2
4
+ version: 6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Lobato Garcia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-22 00:00:00.000000000 Z
11
+ date: 2021-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: foreman_ansible_core