foreman_ansible 6.0.2 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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