foreman_ansible 2.2.9 → 2.2.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/api/v2/ansible_roles_controller.rb +23 -3
- data/app/controllers/foreman_ansible/api/v2/hostgroups_controller_extensions.rb +17 -4
- data/app/controllers/foreman_ansible/api/v2/hosts_controller_extensions.rb +26 -5
- data/app/controllers/foreman_ansible/concerns/job_invocation_helper.rb +7 -4
- data/app/services/foreman_ansible/api_roles_importer.rb +10 -1
- data/app/services/foreman_ansible/roles_importer.rb +5 -0
- data/app/services/foreman_ansible/structured_fact_importer.rb +4 -0
- data/app/views/api/v2/hostgroups/ansible_roles.json.rabl +5 -0
- data/app/views/api/v2/hosts/ansible_roles.json.rabl +5 -0
- data/app/views/foreman_ansible/job_templates/module_action_-_ansible_default.erb +52 -0
- data/app/views/foreman_ansible/job_templates/power_action_-_ansible_default.erb +1 -0
- data/config/routes.rb +30 -20
- data/lib/foreman_ansible/register.rb +7 -1
- data/lib/foreman_ansible/version.rb +1 -1
- data/locale/action_names.rb +5 -0
- data/locale/de/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/de/foreman_ansible.edit.po +444 -0
- data/locale/de/foreman_ansible.po +338 -0
- data/locale/de/foreman_ansible.po.time_stamp +0 -0
- data/locale/en/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/en/foreman_ansible.edit.po +442 -0
- data/locale/en/foreman_ansible.po +62 -5
- data/locale/en/foreman_ansible.po.time_stamp +0 -0
- data/locale/es/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/es/foreman_ansible.edit.po +444 -0
- data/locale/es/foreman_ansible.po +338 -0
- data/locale/es/foreman_ansible.po.time_stamp +0 -0
- data/locale/foreman_ansible.pot +114 -31
- data/locale/fr/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/fr/foreman_ansible.edit.po +444 -0
- data/locale/fr/foreman_ansible.po +338 -0
- data/locale/fr/foreman_ansible.po.time_stamp +0 -0
- data/locale/it/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/it/foreman_ansible.edit.po +444 -0
- data/locale/it/foreman_ansible.po +338 -0
- data/locale/it/foreman_ansible.po.time_stamp +0 -0
- data/locale/ja/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/ja/foreman_ansible.edit.po +444 -0
- data/locale/ja/foreman_ansible.po +338 -0
- data/locale/ja/foreman_ansible.po.time_stamp +0 -0
- data/locale/ko/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/ko/foreman_ansible.edit.po +444 -0
- data/locale/ko/foreman_ansible.po +338 -0
- data/locale/ko/foreman_ansible.po.time_stamp +0 -0
- data/locale/pt_BR/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/pt_BR/foreman_ansible.edit.po +444 -0
- data/locale/pt_BR/foreman_ansible.po +338 -0
- data/locale/pt_BR/foreman_ansible.po.time_stamp +0 -0
- data/locale/ru/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/ru/foreman_ansible.edit.po +445 -0
- data/locale/ru/foreman_ansible.po +339 -0
- data/locale/ru/foreman_ansible.po.time_stamp +0 -0
- data/locale/zh_CN/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/zh_CN/foreman_ansible.edit.po +444 -0
- data/locale/zh_CN/foreman_ansible.po +338 -0
- data/locale/zh_CN/foreman_ansible.po.time_stamp +0 -0
- data/locale/zh_TW/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/zh_TW/foreman_ansible.edit.po +444 -0
- data/locale/zh_TW/foreman_ansible.po +338 -0
- data/locale/zh_TW/foreman_ansible.po.time_stamp +0 -0
- data/test/functional/api/v2/ansible_roles_controller_test.rb +7 -0
- data/test/functional/api/v2/hostgroups_controller_test.rb +9 -0
- data/test/functional/api/v2/hosts_controller_test.rb +9 -1
- metadata +68 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ddb2ddf543a46fd2c4faa52a8aeb82b57e2746c
|
4
|
+
data.tar.gz: 4bc819baf6df4842369a2dc261f56c4abfd5aff3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e672157d3b14ff7799ed020f6012d1aebea3b20f4268e84f2b98649a2b0012524a7ae415d73261d7a1167e20e7bb95bac9e81c0188558778a4c7bb5bc6492096
|
7
|
+
data.tar.gz: b39df59c5b139be1c0cb7f854f360149946e7d857a0ff22e566468fd528d13425edea056211643981899fbe6227a69457a3ff46bba029c88deda2d367ba0f074
|
@@ -10,8 +10,8 @@ module Api
|
|
10
10
|
end
|
11
11
|
|
12
12
|
before_action :find_resource, :only => [:show, :destroy]
|
13
|
-
before_action :find_proxy, :only => [:import, :obsolete]
|
14
|
-
before_action :create_importer, :only => [:import, :obsolete]
|
13
|
+
before_action :find_proxy, :only => [:import, :obsolete, :fetch]
|
14
|
+
before_action :create_importer, :only => [:import, :obsolete, :fetch]
|
15
15
|
|
16
16
|
api :GET, '/ansible_roles/:id', N_('Show role')
|
17
17
|
param :id, :identifier, :required => true
|
@@ -31,8 +31,9 @@ module Api
|
|
31
31
|
|
32
32
|
api :PUT, '/ansible_roles/import', N_('Import Ansible roles')
|
33
33
|
param :proxy_id, :identifier, N_('Smart Proxy to import from')
|
34
|
+
param :role_names, Array, N_('Ansible role names to import')
|
34
35
|
def import
|
35
|
-
@imported = @importer.import!
|
36
|
+
@imported = @importer.import!(role_names)
|
36
37
|
end
|
37
38
|
|
38
39
|
api :PUT, '/ansible_roles/obsolete', N_('Obsolete Ansible roles')
|
@@ -41,8 +42,27 @@ module Api
|
|
41
42
|
@obsoleted = @importer.obsolete!
|
42
43
|
end
|
43
44
|
|
45
|
+
api :GET, '/ansible_roles/fetch',
|
46
|
+
N_('Fetch Ansible roles available to be imported')
|
47
|
+
param :proxy_id, :identifier, N_('Smart Proxy to fetch from')
|
48
|
+
def fetch
|
49
|
+
fetched = []
|
50
|
+
@importer.fetch!.each do |role_name|
|
51
|
+
fetched << { :name => role_name }
|
52
|
+
end
|
53
|
+
respond_to do |format|
|
54
|
+
format.json do
|
55
|
+
render :json => { :results => { :ansible_roles => fetched } }
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
44
60
|
private
|
45
61
|
|
62
|
+
def role_names
|
63
|
+
params.fetch(:role_names, [])
|
64
|
+
end
|
65
|
+
|
46
66
|
# rubocop:disable DotPosition
|
47
67
|
def find_proxy
|
48
68
|
return nil unless params[:proxy_id]
|
@@ -9,10 +9,11 @@ module ForemanAnsible
|
|
9
9
|
|
10
10
|
# Included blocks shouldn't be bound by length, as otherwise concerns
|
11
11
|
# cannot extend the method properly.
|
12
|
+
# rubocop:disable BlockLength
|
12
13
|
included do
|
13
14
|
api :POST, '/hostgroups/:id/play_roles',
|
14
15
|
N_('Plays Ansible roles on a hostgroup')
|
15
|
-
param :id,
|
16
|
+
param :id, :identifier, :required => true
|
16
17
|
|
17
18
|
def play_roles
|
18
19
|
find_resource
|
@@ -20,9 +21,10 @@ module ForemanAnsible
|
|
20
21
|
process_response composer.trigger!, composer.job_invocation
|
21
22
|
end
|
22
23
|
|
23
|
-
api :POST, '/hostgroups/
|
24
|
+
api :POST, '/hostgroups/multiple_play_roles',
|
24
25
|
N_('Plays Ansible roles on hostgroups')
|
25
|
-
param :
|
26
|
+
param :hostgroup_ids, Array, N_('IDs of hostgroups to play roles on'),
|
27
|
+
:required => true
|
26
28
|
|
27
29
|
def multiple_play_roles
|
28
30
|
find_multiple
|
@@ -30,7 +32,18 @@ module ForemanAnsible
|
|
30
32
|
@hostgroups.map(&:host_ids).flatten.uniq)
|
31
33
|
process_response composer.trigger!, composer.job_invocation
|
32
34
|
end
|
35
|
+
|
36
|
+
api :GET, '/hostgroups/:id/ansible_roles',
|
37
|
+
N_('List all Ansible roles for a hostgroup')
|
38
|
+
param :id, :identifier, :required => true
|
39
|
+
|
40
|
+
def ansible_roles
|
41
|
+
find_resource
|
42
|
+
return unless @hostgroup
|
43
|
+
@ansible_roles = @hostgroup.all_ansible_roles
|
44
|
+
end
|
33
45
|
end
|
46
|
+
# rubocop:enable BlockLength
|
34
47
|
|
35
48
|
private
|
36
49
|
|
@@ -49,7 +62,7 @@ module ForemanAnsible
|
|
49
62
|
|
50
63
|
def action_permission
|
51
64
|
case params[:action]
|
52
|
-
when 'play_roles'
|
65
|
+
when 'play_roles', 'multiple_play_roles', 'ansible_roles'
|
53
66
|
:view
|
54
67
|
else
|
55
68
|
super
|
@@ -7,30 +7,51 @@ module ForemanAnsible
|
|
7
7
|
include ForemanTasks::Triggers
|
8
8
|
include ::ForemanAnsible::Concerns::JobInvocationHelper
|
9
9
|
|
10
|
+
# Included blocks shouldn't be bound by length, as otherwise concerns
|
11
|
+
# cannot extend the method properly.
|
12
|
+
# rubocop:disable BlockLength
|
10
13
|
included do
|
14
|
+
def find_resource
|
15
|
+
return true if params[:action] == 'multiple_play_roles'
|
16
|
+
super
|
17
|
+
end
|
18
|
+
|
11
19
|
api :POST, '/hosts/:id/play_roles',
|
12
20
|
N_('Plays Ansible roles on a host')
|
13
|
-
param :id,
|
21
|
+
param :id, :identifier, :required => true
|
14
22
|
|
15
23
|
def play_roles
|
16
24
|
composer = job_composer(:ansible_run_host, @host)
|
17
25
|
process_response composer.trigger!, composer.job_invocation
|
18
26
|
end
|
19
27
|
|
20
|
-
api :POST, '/hosts/
|
21
|
-
|
28
|
+
api :POST, '/hosts/multiple_play_roles',
|
29
|
+
N_('Plays Ansible roles on hosts')
|
30
|
+
param :host_ids, Array, N_('IDs of hosts to play roles on'),
|
31
|
+
:required => true
|
22
32
|
|
23
33
|
def multiple_play_roles
|
24
|
-
|
34
|
+
host_ids = params.fetch(:host_ids, []).uniq
|
35
|
+
composer = job_composer(:ansible_run_host, host_ids)
|
25
36
|
process_response composer.trigger!, composer.job_invocation
|
26
37
|
end
|
38
|
+
|
39
|
+
api :GET, '/hosts/:id/ansible_roles',
|
40
|
+
N_('List all Ansible roles for a host')
|
41
|
+
param :id, :identifier, :required => true
|
42
|
+
|
43
|
+
def ansible_roles
|
44
|
+
return unless @host
|
45
|
+
@ansible_roles = @host.all_ansible_roles
|
46
|
+
end
|
27
47
|
end
|
48
|
+
# rubocop:enable BlockLength
|
28
49
|
|
29
50
|
private
|
30
51
|
|
31
52
|
def action_permission
|
32
53
|
case params[:action]
|
33
|
-
when 'play_roles', 'multiple_play_roles'
|
54
|
+
when 'play_roles', 'multiple_play_roles', 'ansible_roles'
|
34
55
|
:view
|
35
56
|
else
|
36
57
|
super
|
@@ -7,10 +7,13 @@ module ForemanAnsible
|
|
7
7
|
def job_composer(feature_name, target)
|
8
8
|
composer = ::JobInvocationComposer.for_feature(feature_name, target)
|
9
9
|
return composer if composer.save
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
msg = if target.blank?
|
11
|
+
N_('There are no Ansible roles to play')
|
12
|
+
else
|
13
|
+
format(N_('Could not run Ansible roles for %{host}'),
|
14
|
+
:host => target)
|
15
|
+
end
|
16
|
+
raise ::Foreman::Exception.new(msg)
|
14
17
|
end
|
15
18
|
end
|
16
19
|
end
|
@@ -1,8 +1,13 @@
|
|
1
1
|
module ForemanAnsible
|
2
2
|
# imports Ansible roles through API
|
3
3
|
class ApiRolesImporter < RolesImporter
|
4
|
-
def import!
|
4
|
+
def import!(role_names = nil)
|
5
5
|
new_roles = import_role_names[:new]
|
6
|
+
if role_names.present?
|
7
|
+
new_roles.select! do |role|
|
8
|
+
role_names.include?(role.name)
|
9
|
+
end
|
10
|
+
end
|
6
11
|
new_roles.map(&:save)
|
7
12
|
new_roles
|
8
13
|
end
|
@@ -12,5 +17,9 @@ module ForemanAnsible
|
|
12
17
|
obsolete_roles.map(&:destroy)
|
13
18
|
obsolete_roles
|
14
19
|
end
|
20
|
+
|
21
|
+
def fetch!
|
22
|
+
fetch_role_names
|
23
|
+
end
|
15
24
|
end
|
16
25
|
end
|
@@ -12,6 +12,11 @@ module ForemanAnsible
|
|
12
12
|
import_roles local_roles
|
13
13
|
end
|
14
14
|
|
15
|
+
def fetch_role_names
|
16
|
+
return remote_roles if ansible_proxy
|
17
|
+
local_roles
|
18
|
+
end
|
19
|
+
|
15
20
|
def import_roles(roles)
|
16
21
|
imported = roles.map do |role_name|
|
17
22
|
::AnsibleRole.find_or_initialize_by(:name => role_name)
|
@@ -6,6 +6,10 @@ module ForemanAnsible
|
|
6
6
|
ForemanAnsible::FactName
|
7
7
|
end
|
8
8
|
|
9
|
+
def self.authorized_smart_proxy_features
|
10
|
+
'Ansible'
|
11
|
+
end
|
12
|
+
|
9
13
|
def initialize(host, facts = {})
|
10
14
|
# Try to assign these facts to the correct host as per the facts say
|
11
15
|
# If that host isn't created yet, the host parameter will contain it
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<%#
|
2
|
+
kind: job_template
|
3
|
+
name: Module Action - Ansible Default
|
4
|
+
model: JobTemplate
|
5
|
+
job_category: Ansible Modules
|
6
|
+
description_format: "Module %{action} %{module_spec}"
|
7
|
+
provider_type: Ansible
|
8
|
+
template_inputs:
|
9
|
+
- name: pre_script
|
10
|
+
description: A script to run prior to the module action
|
11
|
+
input_type: user
|
12
|
+
required: false
|
13
|
+
advanced: true
|
14
|
+
- name: action
|
15
|
+
description: 'The module action enable, install etc'
|
16
|
+
input_type: user
|
17
|
+
required: true
|
18
|
+
options: "\nlist\ninfo\nenable\ndisable\ninstall\nupdate\nremove\nprovides\nreset"
|
19
|
+
- name: module_spec
|
20
|
+
description: The module specification. module:stream/profile
|
21
|
+
input_type: user
|
22
|
+
required: false
|
23
|
+
- name: options
|
24
|
+
description: Other optional flags for the action
|
25
|
+
input_type: user
|
26
|
+
required: false
|
27
|
+
- name: post_script
|
28
|
+
description: A script to run after the module action
|
29
|
+
input_type: user
|
30
|
+
required: false
|
31
|
+
advanced: true
|
32
|
+
%>
|
33
|
+
|
34
|
+
<% command = "dnf -y module #{input(:action)} #{input(:module_spec)} #{input(:options)}" %>
|
35
|
+
|
36
|
+
---
|
37
|
+
- hosts: all
|
38
|
+
<%- if input('pre_script').present? -%>
|
39
|
+
pre_tasks:
|
40
|
+
- shell: "<%= input('pre_script') %>"
|
41
|
+
<%- end -%>
|
42
|
+
tasks:
|
43
|
+
- shell: |
|
44
|
+
<%= indent(8) { command } %>
|
45
|
+
register: out
|
46
|
+
args:
|
47
|
+
warn: false
|
48
|
+
- debug: var=out
|
49
|
+
<%- if input('post_script').present? -%>
|
50
|
+
post_tasks:
|
51
|
+
- shell: "<%= input('post_script') %>"
|
52
|
+
<%- end -%>
|
data/config/routes.rb
CHANGED
@@ -1,5 +1,34 @@
|
|
1
1
|
# rubocop:disable BlockLength
|
2
2
|
Rails.application.routes.draw do
|
3
|
+
namespace :api do
|
4
|
+
scope '(:apiv)',
|
5
|
+
:module => :v2,
|
6
|
+
:defaults => { :apiv => 'v2' },
|
7
|
+
:apiv => /v1|v2/,
|
8
|
+
:constraints => ApiConstraints.new(:version => 2) do
|
9
|
+
|
10
|
+
constraints(:id => %r{[^\/]+}) do
|
11
|
+
resources :hosts, :only => [] do
|
12
|
+
member do
|
13
|
+
post :play_roles
|
14
|
+
get :ansible_roles
|
15
|
+
end
|
16
|
+
collection do
|
17
|
+
post :multiple_play_roles
|
18
|
+
end
|
19
|
+
end
|
20
|
+
resources :hostgroups, :only => [] do
|
21
|
+
member do
|
22
|
+
post :play_roles
|
23
|
+
get :ansible_roles
|
24
|
+
end
|
25
|
+
collection do
|
26
|
+
post :multiple_play_roles
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
3
32
|
scope '/ansible' do
|
4
33
|
constraints(:id => %r{[^\/]+}) do
|
5
34
|
resources :hosts, :only => [] do
|
@@ -31,30 +60,11 @@ Rails.application.routes.draw do
|
|
31
60
|
:apiv => /v1|v2/,
|
32
61
|
:constraints => ApiConstraints.new(:version => 2) do
|
33
62
|
|
34
|
-
constraints(:id => %r{[^\/]+}) do
|
35
|
-
resources :hosts, :only => [] do
|
36
|
-
member do
|
37
|
-
post :play_roles
|
38
|
-
end
|
39
|
-
collection do
|
40
|
-
post :multiple_play_roles
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
resources :hostgroups, :only => [] do
|
45
|
-
member do
|
46
|
-
post :play_roles
|
47
|
-
end
|
48
|
-
collection do
|
49
|
-
post :multiple_play_roles
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
63
|
resources :ansible_roles, :only => [:show, :index, :destroy] do
|
55
64
|
collection do
|
56
65
|
put :import
|
57
66
|
put :obsolete
|
67
|
+
get :fetch
|
58
68
|
end
|
59
69
|
end
|
60
70
|
end
|
@@ -15,7 +15,7 @@ Foreman::Plugin.register :foreman_ansible do
|
|
15
15
|
:resource_type => 'Hostgroup'
|
16
16
|
permission :view_ansible_roles,
|
17
17
|
{ :ansible_roles => [:index],
|
18
|
-
:'api/v2/ansible_roles' => [:index, :show] },
|
18
|
+
:'api/v2/ansible_roles' => [:index, :show, :fetch] },
|
19
19
|
:resource_type => 'AnsibleRole'
|
20
20
|
permission :destroy_ansible_roles,
|
21
21
|
{ :ansible_roles => [:destroy],
|
@@ -25,6 +25,12 @@ Foreman::Plugin.register :foreman_ansible do
|
|
25
25
|
{ :ansible_roles => [:import, :confirm_import],
|
26
26
|
:'api/v2/ansible_roles' => [:import] },
|
27
27
|
:resource_type => 'AnsibleRole'
|
28
|
+
permission :view_hosts,
|
29
|
+
{ :'api/v2/hosts' => [:ansible_roles] },
|
30
|
+
:resource_type => 'Host'
|
31
|
+
permission :view_hostgroups,
|
32
|
+
{ :'api/v2/hostgroups' => [:ansible_roles] },
|
33
|
+
:resource_type => 'Hostgroup'
|
28
34
|
end
|
29
35
|
|
30
36
|
role 'Ansible Roles Manager',
|
Binary file
|
@@ -0,0 +1,444 @@
|
|
1
|
+
# German translations for foreman_ansible package.
|
2
|
+
# Copyright (C) 2018 THE PACKAGE'S COPYRIGHT HOLDER
|
3
|
+
# This file is distributed under the same license as the foreman_ansible package.
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
|
5
|
+
#
|
6
|
+
msgid ""
|
7
|
+
msgstr ""
|
8
|
+
"Project-Id-Version: foreman_ansible 2.2.9\n"
|
9
|
+
"Report-Msgid-Bugs-To: \n"
|
10
|
+
"PO-Revision-Date: 2018-03-12 12:24-0400\n"
|
11
|
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
12
|
+
"Language-Team: German\n"
|
13
|
+
"Language: de\n"
|
14
|
+
"MIME-Version: 1.0\n"
|
15
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
16
|
+
"Content-Transfer-Encoding: 8bit\n"
|
17
|
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
18
|
+
"\n"
|
19
|
+
|
20
|
+
#: ../app/controllers/ansible_roles_controller.rb:37
|
21
|
+
msgid "Import of roles successfully finished."
|
22
|
+
msgstr ""
|
23
|
+
|
24
|
+
#: ../app/controllers/ansible_roles_controller.rb:57
|
25
|
+
msgid "No changes in roles detected."
|
26
|
+
msgstr ""
|
27
|
+
|
28
|
+
#: ../app/controllers/ansible_roles_controller.rb:58
|
29
|
+
msgid "No changes in roles detected on %s."
|
30
|
+
msgstr ""
|
31
|
+
|
32
|
+
#: ../app/controllers/api/v2/ansible_roles_controller.rb:16
|
33
|
+
msgid "Show role"
|
34
|
+
msgstr ""
|
35
|
+
|
36
|
+
#: ../app/controllers/api/v2/ansible_roles_controller.rb:20
|
37
|
+
msgid "List Ansible roles"
|
38
|
+
msgstr ""
|
39
|
+
|
40
|
+
#: ../app/controllers/api/v2/ansible_roles_controller.rb:26
|
41
|
+
msgid "Deletes Ansible role"
|
42
|
+
msgstr ""
|
43
|
+
|
44
|
+
#: ../app/controllers/api/v2/ansible_roles_controller.rb:32
|
45
|
+
msgid "Import Ansible roles"
|
46
|
+
msgstr ""
|
47
|
+
|
48
|
+
#: ../app/controllers/api/v2/ansible_roles_controller.rb:33 ../app/controllers/api/v2/ansible_roles_controller.rb:40
|
49
|
+
msgid "Smart Proxy to import from"
|
50
|
+
msgstr ""
|
51
|
+
|
52
|
+
#: ../app/controllers/api/v2/ansible_roles_controller.rb:34
|
53
|
+
msgid "Ansible role names to import"
|
54
|
+
msgstr ""
|
55
|
+
|
56
|
+
#: ../app/controllers/api/v2/ansible_roles_controller.rb:39
|
57
|
+
msgid "Obsolete Ansible roles"
|
58
|
+
msgstr ""
|
59
|
+
|
60
|
+
#: ../app/controllers/api/v2/ansible_roles_controller.rb:46
|
61
|
+
msgid "Fetch Ansible roles available to be imported"
|
62
|
+
msgstr ""
|
63
|
+
|
64
|
+
#: ../app/controllers/api/v2/ansible_roles_controller.rb:47
|
65
|
+
msgid "Smart Proxy to fetch from"
|
66
|
+
msgstr ""
|
67
|
+
|
68
|
+
#: ../app/controllers/foreman_ansible/api/v2/hostgroups_controller_extensions.rb:15
|
69
|
+
msgid "Plays Ansible roles on a hostgroup"
|
70
|
+
msgstr ""
|
71
|
+
|
72
|
+
#: ../app/controllers/foreman_ansible/api/v2/hostgroups_controller_extensions.rb:25
|
73
|
+
msgid "Plays Ansible roles on hostgroups"
|
74
|
+
msgstr ""
|
75
|
+
|
76
|
+
#: ../app/controllers/foreman_ansible/api/v2/hostgroups_controller_extensions.rb:26
|
77
|
+
msgid "IDs of hostgroups to play roles on"
|
78
|
+
msgstr ""
|
79
|
+
|
80
|
+
#: ../app/controllers/foreman_ansible/api/v2/hostgroups_controller_extensions.rb:37
|
81
|
+
msgid "List all Ansible roles for a hostgroup"
|
82
|
+
msgstr ""
|
83
|
+
|
84
|
+
#: ../app/controllers/foreman_ansible/api/v2/hostgroups_param_group_extensions.rb:11 ../app/controllers/foreman_ansible/api/v2/hosts_param_group_extensions.rb:11
|
85
|
+
msgid "IDs of associated ansible roles"
|
86
|
+
msgstr ""
|
87
|
+
|
88
|
+
#: ../app/controllers/foreman_ansible/api/v2/hosts_controller_extensions.rb:20
|
89
|
+
msgid "Plays Ansible roles on a host"
|
90
|
+
msgstr ""
|
91
|
+
|
92
|
+
#: ../app/controllers/foreman_ansible/api/v2/hosts_controller_extensions.rb:29
|
93
|
+
msgid "Plays Ansible roles on hosts"
|
94
|
+
msgstr ""
|
95
|
+
|
96
|
+
#: ../app/controllers/foreman_ansible/api/v2/hosts_controller_extensions.rb:30
|
97
|
+
msgid "IDs of hosts to play roles on"
|
98
|
+
msgstr ""
|
99
|
+
|
100
|
+
#: ../app/controllers/foreman_ansible/api/v2/hosts_controller_extensions.rb:40
|
101
|
+
msgid "List all Ansible roles for a host"
|
102
|
+
msgstr ""
|
103
|
+
|
104
|
+
#: ../app/controllers/foreman_ansible/concerns/hostgroups_controller_extensions.rb:25
|
105
|
+
msgid "Host group has no associated hosts"
|
106
|
+
msgstr ""
|
107
|
+
|
108
|
+
#: ../app/controllers/foreman_ansible/concerns/job_invocation_helper.rb:11
|
109
|
+
msgid "There are no Ansible roles to play"
|
110
|
+
msgstr ""
|
111
|
+
|
112
|
+
#: ../app/controllers/foreman_ansible/concerns/job_invocation_helper.rb:13
|
113
|
+
msgid "Could not run Ansible roles for %{host}"
|
114
|
+
msgstr ""
|
115
|
+
|
116
|
+
#: ../app/helpers/foreman_ansible/ansible_roles_helper.rb:6
|
117
|
+
msgid "From %s"
|
118
|
+
msgstr ""
|
119
|
+
|
120
|
+
#: ../app/helpers/foreman_ansible/ansible_roles_helper.rb:13
|
121
|
+
msgid "Import"
|
122
|
+
msgstr ""
|
123
|
+
|
124
|
+
#: ../app/helpers/foreman_ansible/ansible_roles_helper.rb:19
|
125
|
+
msgid "%s ago"
|
126
|
+
msgstr ""
|
127
|
+
|
128
|
+
#: ../app/helpers/foreman_ansible/hosts_helper_extensions.rb:21 ../app/lib/actions/foreman_ansible/helpers/host_common.rb:16
|
129
|
+
msgid "Play Ansible roles"
|
130
|
+
msgstr ""
|
131
|
+
|
132
|
+
#: ../app/helpers/foreman_ansible/hosts_helper_extensions.rb:40
|
133
|
+
msgid "Run Ansible roles"
|
134
|
+
msgstr ""
|
135
|
+
|
136
|
+
#: ../app/lib/actions/foreman_ansible/helpers/host_common.rb:8
|
137
|
+
msgid "Playbook execution failed"
|
138
|
+
msgstr ""
|
139
|
+
|
140
|
+
#: ../app/lib/actions/foreman_ansible/helpers/host_common.rb:28 ../lib/foreman_ansible_core/remote_execution_core/ansible_runner.rb:31
|
141
|
+
msgid "Error loading data from proxy"
|
142
|
+
msgstr ""
|
143
|
+
|
144
|
+
#: ../app/lib/actions/foreman_ansible/helpers/play_roles_description.rb:11
|
145
|
+
msgid "Foreman"
|
146
|
+
msgstr ""
|
147
|
+
|
148
|
+
#: ../app/lib/proxy_api/ansible.rb:25
|
149
|
+
msgid "Unable to get roles from Ansible"
|
150
|
+
msgstr ""
|
151
|
+
|
152
|
+
#: ../app/models/setting/ansible.rb:18
|
153
|
+
msgid "Use this to supply a path to an SSH Private Key that Ansible will use in lieu of a password Override with \"ansible_ssh_private_key_file\" host parameter"
|
154
|
+
msgstr ""
|
155
|
+
|
156
|
+
#: ../app/models/setting/ansible.rb:23
|
157
|
+
msgid "Private Key Path"
|
158
|
+
msgstr ""
|
159
|
+
|
160
|
+
#: ../app/models/setting/ansible.rb:27
|
161
|
+
msgid "Use this connection type by default when running Ansible playbooks. You can override this on hosts by adding a parameter \"ansible_connection\""
|
162
|
+
msgstr ""
|
163
|
+
|
164
|
+
#: ../app/models/setting/ansible.rb:31
|
165
|
+
msgid "Connection type"
|
166
|
+
msgstr ""
|
167
|
+
|
168
|
+
#: ../app/models/setting/ansible.rb:35
|
169
|
+
msgid "Enable/disable WinRM server certificate validation when running Ansible playbooks. You can override this on hosts by adding a parameter \"ansible_winrm_server_cert_validation\""
|
170
|
+
msgstr ""
|
171
|
+
|
172
|
+
#: ../app/models/setting/ansible.rb:40
|
173
|
+
msgid "WinRM cert Validation"
|
174
|
+
msgstr ""
|
175
|
+
|
176
|
+
#: ../app/models/setting/ansible.rb:44
|
177
|
+
msgid "Foreman will add the this level of verbosity for additional debugging output when running Ansible playbooks."
|
178
|
+
msgstr ""
|
179
|
+
|
180
|
+
#: ../app/models/setting/ansible.rb:47
|
181
|
+
msgid "Default verbosity level"
|
182
|
+
msgstr ""
|
183
|
+
|
184
|
+
#: ../app/models/setting/ansible.rb:50
|
185
|
+
msgid "Disabled"
|
186
|
+
msgstr ""
|
187
|
+
|
188
|
+
#: ../app/models/setting/ansible.rb:51
|
189
|
+
msgid "Level 1 (-v)"
|
190
|
+
msgstr ""
|
191
|
+
|
192
|
+
#: ../app/models/setting/ansible.rb:52
|
193
|
+
msgid "Level 2 (-vv)"
|
194
|
+
msgstr ""
|
195
|
+
|
196
|
+
#: ../app/models/setting/ansible.rb:53
|
197
|
+
msgid "Level 3 (-vvv)"
|
198
|
+
msgstr ""
|
199
|
+
|
200
|
+
#: ../app/models/setting/ansible.rb:54
|
201
|
+
msgid "Level 4 (-vvvv)"
|
202
|
+
msgstr ""
|
203
|
+
|
204
|
+
#: ../app/models/setting/ansible.rb:60
|
205
|
+
msgid "Timeout (in seconds) to set when Foreman will trigger a play Ansible roles task after a host is fully provisioned. Set this to the maximum time you expect a host to take until it is ready after a reboot."
|
206
|
+
msgstr ""
|
207
|
+
|
208
|
+
#: ../app/models/setting/ansible.rb:65
|
209
|
+
msgid "Post-provision timeout"
|
210
|
+
msgstr ""
|
211
|
+
|
212
|
+
#: ../app/models/setting/ansible.rb:69
|
213
|
+
msgid "Whether to put Ansible parameters in the \"hostvars\" top-level key of the inventory. By default it is true, so that Host Parameters can be used directly in the playbooks.When false, Host Parameters can only be accessed throughforeman_params[\"host_parameter\"] in the playbooks."
|
214
|
+
msgstr ""
|
215
|
+
|
216
|
+
#: ../app/models/setting/ansible.rb:75
|
217
|
+
msgid "Top level Ansible variables"
|
218
|
+
msgstr ""
|
219
|
+
|
220
|
+
#: ../app/models/setting/ansible.rb:79
|
221
|
+
msgid "Timeout (in minutes) when hosts should have reported."
|
222
|
+
msgstr ""
|
223
|
+
|
224
|
+
#: ../app/models/setting/ansible.rb:81
|
225
|
+
msgid "Ansible report timeout"
|
226
|
+
msgstr ""
|
227
|
+
|
228
|
+
#: ../app/models/setting/ansible.rb:85
|
229
|
+
msgid "Disable host configuration status turning to out of sync for %{cfgmgmt} after report does not arrive within configured interval"
|
230
|
+
msgstr ""
|
231
|
+
|
232
|
+
#: ../app/models/setting/ansible.rb:89
|
233
|
+
msgid "%{cfgmgmt} out of sync disabled"
|
234
|
+
msgstr ""
|
235
|
+
|
236
|
+
#: ../app/models/setting/ansible.rb:102 ../lib/foreman_ansible/register.rb:50
|
237
|
+
msgid "Ansible"
|
238
|
+
msgstr ""
|
239
|
+
|
240
|
+
#: ../app/services/foreman_ansible/insights_notification_builder.rb:49
|
241
|
+
msgid "Remediation Plan"
|
242
|
+
msgstr ""
|
243
|
+
|
244
|
+
#: ../app/services/foreman_ansible/insights_notification_builder.rb:59 ../db/seeds.d/90_notification_blueprints.rb:11
|
245
|
+
msgid "Job Details"
|
246
|
+
msgstr ""
|
247
|
+
|
248
|
+
#: ../app/services/foreman_ansible/roles_importer.rb:37
|
249
|
+
msgid "Proxy not found"
|
250
|
+
msgstr ""
|
251
|
+
|
252
|
+
#: ../app/views/ansible_roles/import.html.erb:1
|
253
|
+
msgid "Changed Ansible roles"
|
254
|
+
msgstr ""
|
255
|
+
|
256
|
+
#: ../app/views/ansible_roles/import.html.erb:3
|
257
|
+
msgid "Select the changes you want to realize in Foreman"
|
258
|
+
msgstr ""
|
259
|
+
|
260
|
+
#: ../app/views/ansible_roles/import.html.erb:5
|
261
|
+
msgid "Toggle"
|
262
|
+
msgstr ""
|
263
|
+
|
264
|
+
#: ../app/views/ansible_roles/import.html.erb:6
|
265
|
+
msgid "New"
|
266
|
+
msgstr ""
|
267
|
+
|
268
|
+
#: ../app/views/ansible_roles/import.html.erb:8
|
269
|
+
msgid "Check/Uncheck new"
|
270
|
+
msgstr ""
|
271
|
+
|
272
|
+
#: ../app/views/ansible_roles/import.html.erb:9
|
273
|
+
msgid "Obsolete"
|
274
|
+
msgstr ""
|
275
|
+
|
276
|
+
#: ../app/views/ansible_roles/import.html.erb:11
|
277
|
+
msgid "Check/Uncheck obsolete"
|
278
|
+
msgstr ""
|
279
|
+
|
280
|
+
#: ../app/views/ansible_roles/import.html.erb:19
|
281
|
+
msgid "Check/Uncheck all"
|
282
|
+
msgstr ""
|
283
|
+
|
284
|
+
#: ../app/views/ansible_roles/import.html.erb:21
|
285
|
+
msgid "Name"
|
286
|
+
msgstr ""
|
287
|
+
|
288
|
+
#: ../app/views/ansible_roles/import.html.erb:22
|
289
|
+
msgid "Hosts count"
|
290
|
+
msgstr ""
|
291
|
+
|
292
|
+
#: ../app/views/ansible_roles/import.html.erb:23
|
293
|
+
msgid "Hostgroups count"
|
294
|
+
msgstr ""
|
295
|
+
|
296
|
+
#: ../app/views/ansible_roles/import.html.erb:24
|
297
|
+
msgid "Operation"
|
298
|
+
msgstr ""
|
299
|
+
|
300
|
+
#: ../app/views/ansible_roles/import.html.erb:35
|
301
|
+
msgid "Check/Uncheck all %s changes"
|
302
|
+
msgstr ""
|
303
|
+
|
304
|
+
#: ../app/views/ansible_roles/import.html.erb:40
|
305
|
+
msgid "Add"
|
306
|
+
msgstr ""
|
307
|
+
|
308
|
+
#: ../app/views/ansible_roles/import.html.erb:40
|
309
|
+
msgid "Remove"
|
310
|
+
msgstr ""
|
311
|
+
|
312
|
+
#: ../app/views/ansible_roles/import.html.erb:48
|
313
|
+
msgid "Cancel"
|
314
|
+
msgstr ""
|
315
|
+
|
316
|
+
#: ../app/views/ansible_roles/import.html.erb:49
|
317
|
+
msgid "Update"
|
318
|
+
msgstr ""
|
319
|
+
|
320
|
+
#: ../app/views/ansible_roles/index.html.erb:1 ../app/views/ansible_roles/welcome.html.erb:1 ../app/views/ansible_roles/welcome.html.erb:6 ../app/views/foreman_ansible/ansible_roles/_select_tab_title.html.erb:1
|
321
|
+
msgid "Ansible Roles"
|
322
|
+
msgstr ""
|
323
|
+
|
324
|
+
#: ../app/views/ansible_roles/index.html.erb:9
|
325
|
+
msgid "Role|Name"
|
326
|
+
msgstr ""
|
327
|
+
|
328
|
+
#: ../app/views/ansible_roles/index.html.erb:10
|
329
|
+
msgid "Hostgroups"
|
330
|
+
msgstr ""
|
331
|
+
|
332
|
+
#: ../app/views/ansible_roles/index.html.erb:11
|
333
|
+
msgid "Hosts"
|
334
|
+
msgstr ""
|
335
|
+
|
336
|
+
#: ../app/views/ansible_roles/index.html.erb:12
|
337
|
+
msgid "Imported at"
|
338
|
+
msgstr ""
|
339
|
+
|
340
|
+
#: ../app/views/ansible_roles/index.html.erb:13
|
341
|
+
msgid "Actions"
|
342
|
+
msgstr ""
|
343
|
+
|
344
|
+
#: ../app/views/ansible_roles/index.html.erb:26
|
345
|
+
msgid "Delete %s?"
|
346
|
+
msgstr ""
|
347
|
+
|
348
|
+
#: ../app/views/ansible_roles/welcome.html.erb:7
|
349
|
+
msgid ""
|
350
|
+
"No ansible roles were found in Foreman. If you want to assign roles to your hosts,\n"
|
351
|
+
" you have to import them first."
|
352
|
+
msgstr ""
|
353
|
+
|
354
|
+
#: ../app/views/ansible_roles/welcome.html.erb:10
|
355
|
+
msgid "Learn more about this in the documentation."
|
356
|
+
msgstr ""
|
357
|
+
|
358
|
+
#: ../app/views/foreman_ansible/ansible_roles/_hostgroup_ansible_roles_button.erb:5
|
359
|
+
msgid "Play Roles"
|
360
|
+
msgstr ""
|
361
|
+
|
362
|
+
#: ../app/views/foreman_ansible/ansible_roles/_hostgroup_ansible_roles_button.erb:9
|
363
|
+
msgid "Nest"
|
364
|
+
msgstr ""
|
365
|
+
|
366
|
+
#: ../app/views/foreman_ansible/ansible_roles/_hostgroup_ansible_roles_button.erb:10
|
367
|
+
msgid "Clone"
|
368
|
+
msgstr ""
|
369
|
+
|
370
|
+
#: ../app/views/foreman_ansible/ansible_roles/_select_tab_content.html.erb:9
|
371
|
+
msgid "Available roles"
|
372
|
+
msgstr ""
|
373
|
+
|
374
|
+
#: ../app/views/foreman_ansible/ansible_roles/_select_tab_content.html.erb:10
|
375
|
+
msgid "This list of roles will be applied when the host finishes<br/> provisioning. Users can also play these roles through the API<br/>or by clicking on the Play Roles button on the Host page "
|
376
|
+
msgstr ""
|
377
|
+
|
378
|
+
#: ../app/views/foreman_ansible/config_reports/_ansible.html.erb:7
|
379
|
+
msgid "Level"
|
380
|
+
msgstr ""
|
381
|
+
|
382
|
+
#: ../app/views/foreman_ansible/config_reports/_ansible.html.erb:8
|
383
|
+
msgid "Module"
|
384
|
+
msgstr ""
|
385
|
+
|
386
|
+
#: ../app/views/foreman_ansible/config_reports/_ansible.html.erb:9
|
387
|
+
msgid "Arguments"
|
388
|
+
msgstr ""
|
389
|
+
|
390
|
+
#: ../app/views/foreman_ansible/config_reports/_ansible.html.erb:10
|
391
|
+
msgid "Message"
|
392
|
+
msgstr ""
|
393
|
+
|
394
|
+
#: ../app/views/foreman_ansible/config_reports/_ansible.html.erb:23
|
395
|
+
msgid "Nothing to show"
|
396
|
+
msgstr ""
|
397
|
+
|
398
|
+
#: ../db/seeds.d/90_notification_blueprints.rb:3
|
399
|
+
msgid "Jobs"
|
400
|
+
msgstr ""
|
401
|
+
|
402
|
+
#: ../db/seeds.d/90_notification_blueprints.rb:5
|
403
|
+
msgid "Insights remediation on %{hosts_count} host(s) has finished successfully"
|
404
|
+
msgstr ""
|
405
|
+
|
406
|
+
#: ../lib/foreman_ansible/register.rb:52
|
407
|
+
msgid "Roles"
|
408
|
+
msgstr ""
|
409
|
+
|
410
|
+
#: ../lib/foreman_ansible/remote_execution.rb:18
|
411
|
+
msgid "Ansible: Run host roles"
|
412
|
+
msgstr ""
|
413
|
+
|
414
|
+
#: ../lib/foreman_ansible/remote_execution.rb:19
|
415
|
+
msgid "Runs an Ansible playbook which contains all the roles defined for a host"
|
416
|
+
msgstr ""
|
417
|
+
|
418
|
+
#: ../lib/foreman_ansible/remote_execution.rb:24
|
419
|
+
msgid "Ansible: Run Insights maintenance plan"
|
420
|
+
msgstr ""
|
421
|
+
|
422
|
+
#: ../lib/foreman_ansible/remote_execution.rb:25
|
423
|
+
msgid "Runs a given maintenance plan from Red Hat Access Insights given an ID."
|
424
|
+
msgstr ""
|
425
|
+
|
426
|
+
#: action_names.rb:2
|
427
|
+
msgid "Action with sub plans"
|
428
|
+
msgstr ""
|
429
|
+
|
430
|
+
#: action_names.rb:3
|
431
|
+
msgid "Import facts"
|
432
|
+
msgstr ""
|
433
|
+
|
434
|
+
#: action_names.rb:4
|
435
|
+
msgid "Import Puppet classes"
|
436
|
+
msgstr ""
|
437
|
+
|
438
|
+
#: action_names.rb:5
|
439
|
+
msgid "Remote action:"
|
440
|
+
msgstr ""
|
441
|
+
|
442
|
+
#: gemspec.rb:2
|
443
|
+
msgid "Ansible support in Foreman"
|
444
|
+
msgstr ""
|