foreman_leapp 0.0.6 → 0.1.4
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 +4 -4
- data/README.md +11 -20
- data/app/controllers/api/v2/concerns/api_authorizer.rb +27 -0
- data/app/controllers/api/v2/preupgrade_reports_controller.rb +21 -2
- data/app/controllers/preupgrade_reports_controller.rb +11 -1
- data/app/lib/actions/preupgrade_job.rb +2 -1
- data/app/lib/helpers/job_helper.rb +3 -4
- data/app/models/preupgrade_report.rb +1 -0
- data/app/models/preupgrade_report_entry.rb +1 -0
- data/app/views/api/v2/preupgrade_report_entries/base.json.rabl +1 -1
- data/app/views/api/v2/preupgrade_reports/job_invocation.json.rabl +3 -0
- data/app/views/foreman_leapp/job_templates/leapp_check.erb +15 -0
- data/app/views/foreman_leapp/job_templates/{preupgrade.erb → leapp_preupgrade.erb} +5 -2
- data/app/views/foreman_leapp/job_templates/leapp_remediation.erb +29 -0
- data/app/views/foreman_leapp/job_templates/{upgrade.erb → leapp_upgrade.erb} +9 -7
- data/config/routes.rb +2 -1
- data/db/migrate/20200429080939_report_entries_flags.rb +5 -0
- data/db/seeds.d/10_leapp_preupgrade.rb +1 -1
- data/lib/foreman_leapp/engine.rb +7 -6
- data/lib/foreman_leapp/version.rb +1 -1
- data/locale/action_names.rb +6 -0
- data/locale/en/foreman_leapp.po +104 -2
- data/locale/foreman_leapp.pot +164 -8
- data/package.json +3 -2
- data/test/functional/api/v2/preupgrade_reports_controller_test.rb +89 -6
- data/test/functional/preupgrade_reports_controller_test.rb +27 -4
- data/test/unit/actions/preupgrade_job_test.rb +1 -1
- data/test/unit/helpers/job_helper_test.rb +3 -10
- data/webpack/__mocks__/foremanReact/common/I18n.js +1 -1
- data/webpack/__mocks__/foremanReact/components/common/EmptyState.js +1 -0
- data/webpack/components/PreupgradeReports/PreupgradeReports.js +104 -21
- data/webpack/components/PreupgradeReports/PreupgradeReportsActions.js +1 -1
- data/webpack/components/PreupgradeReports/PreupgradeReportsHelpers.js +132 -15
- data/webpack/components/PreupgradeReports/PreupgradeReportsReducer.js +2 -0
- data/webpack/components/PreupgradeReports/PreupgradeReportsSelectors.js +10 -0
- data/webpack/components/PreupgradeReports/__tests__/PreupgradeReports.fixtures.js +45 -7
- data/webpack/components/PreupgradeReports/__tests__/PreupgradeReports.test.js +17 -1
- data/webpack/components/PreupgradeReports/__tests__/PreupgradeReportsHelpers.test.js +43 -3
- data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReports.test.js.snap +82 -134
- data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsHelpers.test.js.snap +409 -2
- data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsReducer.test.js.snap +21 -1
- data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsSelectors.test.js.snap +17 -1
- data/webpack/components/PreupgradeReports/components/EntriesFilter.js +121 -0
- data/webpack/components/PreupgradeReports/components/EntriesFilter.scss +3 -0
- data/webpack/components/PreupgradeReports/components/EntriesFilter.test.js +30 -0
- data/webpack/components/PreupgradeReports/components/{FixAllButton.js → FixSelectedButton.js} +6 -8
- data/webpack/components/PreupgradeReports/components/FixSelectedButton.test.js +15 -0
- data/webpack/components/PreupgradeReports/components/NoReports.js +35 -0
- data/webpack/components/PreupgradeReports/components/NoReports.test.js +15 -0
- data/webpack/components/PreupgradeReports/components/UpgradeAllButton.js +29 -0
- data/webpack/components/PreupgradeReports/components/{FixAllButton.test.js → UpgradeAllButton.test.js} +3 -4
- data/webpack/components/PreupgradeReports/components/__snapshots__/EntriesFilter.test.js.snap +330 -0
- data/webpack/components/PreupgradeReports/components/__snapshots__/{FixAllButton.test.js.snap → FixSelectedButton.test.js.snap} +9 -3
- data/webpack/components/PreupgradeReports/components/__snapshots__/NoReports.test.js.snap +19 -0
- data/webpack/components/PreupgradeReports/components/__snapshots__/UpgradeAllButton.test.js.snap +29 -0
- data/webpack/components/PreupgradeReports/index.js +22 -4
- data/webpack/components/PreupgradeReportsList/PreupgradeReportList.scss +37 -0
- data/webpack/components/PreupgradeReportsList/__tests__/PreupgradeReportsList.test.js +16 -0
- data/webpack/components/PreupgradeReportsList/__tests__/__snapshots__/PreupgradeReportsList.test.js.snap +38 -0
- data/webpack/components/PreupgradeReportsList/components/InfoItem.js +1 -1
- data/webpack/components/PreupgradeReportsList/components/InhibitorInfoItem.js +33 -0
- data/webpack/components/PreupgradeReportsList/components/PreupgradeReportEntry.js +19 -9
- data/webpack/components/PreupgradeReportsList/components/PreupgradeReportsListHeader.js +56 -0
- data/webpack/components/PreupgradeReportsList/components/SortableHeaderItem.js +50 -0
- data/webpack/components/PreupgradeReportsList/components/__tests__/InhibitorInfoItem.test.js +27 -0
- data/webpack/components/PreupgradeReportsList/components/__tests__/PreupgradeReportEntry.test.js +2 -0
- data/webpack/components/PreupgradeReportsList/components/__tests__/PreupgradeReportsListHeader.test.js +14 -0
- data/webpack/components/PreupgradeReportsList/components/__tests__/SortableHeaderItem.test.js +29 -0
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/InhibitorInfoItem.test.js.snap +32 -0
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/PreupgradeReportEntry.test.js.snap +23 -17
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/PreupgradeReportsListHeader.test.js.snap +113 -0
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/SortableHeaderItem.test.js.snap +36 -0
- data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/helpers.test.js.snap +4 -10
- data/webpack/components/PreupgradeReportsList/components/__tests__/helpers.test.js +0 -2
- data/webpack/components/PreupgradeReportsList/components/foreman_leapp.scss +7 -1
- data/webpack/components/PreupgradeReportsList/components/helpers.js +47 -19
- data/webpack/components/PreupgradeReportsList/components/images/i_severity-critical.svg +61 -0
- data/webpack/components/PreupgradeReportsList/components/images/i_severity-high.svg +61 -0
- data/webpack/components/PreupgradeReportsList/components/images/i_severity-low.svg +62 -0
- data/webpack/components/PreupgradeReportsList/components/images/i_severity-med.svg +62 -0
- data/webpack/components/PreupgradeReportsList/index.js +28 -3
- metadata +54 -18
- data/app/views/foreman_leapp/job_templates/remediation.erb +0 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 59cdca70be055403d924f568f8ccdd333123fbbdd6d6665bdaa7ca59706b7410
|
|
4
|
+
data.tar.gz: f1e4859e8b1c84faf8807d58656205ee60d2a8139ad304ec220810c64976f8c7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 89d6b5ebb3171d2a286f91995fd719652bcd486d3038b3e349ea8a147925464d41d1cc47e52d0b4e719a57c1aa88ca458eb36745870d7e1b3796a8c33779c42a
|
|
7
|
+
data.tar.gz: ffe034b5513860e72b8c4672b5a444c886334f21a7f7d232b4eb82e9b92d8defd8fca5150fc257d69ce7263c38f12941d2558ac04809aa023cdba7109a240834
|
data/README.md
CHANGED
|
@@ -1,32 +1,23 @@
|
|
|
1
1
|
# ForemanLeapp
|
|
2
2
|
|
|
3
|
-
This plugin allows to run inplace upgrades for
|
|
4
|
-
For more information about
|
|
5
|
-
[developer docs](https://leapp.readthedocs.io/en/latest/).
|
|
3
|
+
This plugin allows to run inplace upgrades for RHEL 7 hosts in Foreman using Leapp tool.
|
|
4
|
+
For more information about Leapp tool check [github](https://github.com/oamg/leapp) or [developer docs](https://leapp.readthedocs.io/en/latest/).
|
|
6
5
|
|
|
7
6
|
## Installation
|
|
8
7
|
|
|
9
|
-
See [
|
|
10
|
-
for how to install Foreman plugins
|
|
8
|
+
See [Plugins Manual](https://www.theforeman.org/plugins/#2.Installation) for how to install Foreman plugins.
|
|
11
9
|
|
|
12
10
|
## Usage
|
|
13
11
|
|
|
14
|
-
The plugin will add
|
|
15
|
-
|
|
12
|
+
The plugin will add following jobs:
|
|
13
|
+
- Run preupgrade via Leapp
|
|
14
|
+
- Remediation plan
|
|
15
|
+
- Run upgrade via Leapp
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- to fetch a specific preupgrade report - GET http://FOREMAN_URL:FOREMAN_PORT/api/v2/preupgrade_reports/REPORT_ID.
|
|
22
|
-
- to fetch all reports for specific job invocation - GET http://FOREMAN_URL:FOREMAN_PORT/api/v2/aggregation/JOB_INVOCATION_ID.
|
|
23
|
-
- to fetch last preupgrade report per host - GET http://FOREMAN_URL:FOREMAN_PORT/api/v2/preupgrade_reports/hosts/HOST_NAME_OR_ID/last.
|
|
24
|
-
|
|
25
|
-
## TODO
|
|
26
|
-
|
|
27
|
-
- Unit tests
|
|
28
|
-
- Automate rubocop checks
|
|
29
|
-
- Frontend (either from scratch or adapt the react/patternfly/typescript one for cockpit upgrades)
|
|
17
|
+
## Api
|
|
18
|
+
- `GET /api/preupgrade_reports` List Preupgrade reports
|
|
19
|
+
- `GET /api/preupgrade_reports/:id` Show Preupgrade report
|
|
20
|
+
- `GET /api/job_invocations/:id/preupgrade_reports` List Preupgrade reports for Job invocation
|
|
30
21
|
|
|
31
22
|
## Contributing
|
|
32
23
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ApiAuthorizer
|
|
4
|
+
extend ActiveSupport::Concern
|
|
5
|
+
|
|
6
|
+
included do
|
|
7
|
+
before_action :hosts_permission
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
private
|
|
11
|
+
|
|
12
|
+
def hosts_permission
|
|
13
|
+
return if User.current.can?('view_hosts')
|
|
14
|
+
|
|
15
|
+
render_error 'access_denied', status: :forbidden,
|
|
16
|
+
locals: { details: _('Missing one of the required permissions: view_hosts'),
|
|
17
|
+
missing_permissions: 'view_hosts' }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def resource_scope(_options = {})
|
|
21
|
+
@resource_scope ||= begin
|
|
22
|
+
scope = PreupgradeReport.joins(:host).merge(Host.authorized(:view_hosts, Host))
|
|
23
|
+
scope = scope.where(job_invocation_id: params[:id]) if action_name == 'job_invocation'
|
|
24
|
+
scope
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
module Api
|
|
4
4
|
module V2
|
|
5
5
|
class PreupgradeReportsController < ::Api::V2::BaseController
|
|
6
|
-
|
|
6
|
+
include ApiAuthorizer
|
|
7
|
+
|
|
8
|
+
layout 'api/v2/layouts/index_layout', except: %i[show]
|
|
7
9
|
|
|
8
10
|
api :GET, '/preupgrade_reports/', N_('List Preupgrade reports')
|
|
9
11
|
param_group :search_and_pagination, ::Api::V2::BaseController
|
|
@@ -13,7 +15,24 @@ module Api
|
|
|
13
15
|
|
|
14
16
|
api :GET, '/preupgrade_reports/:id', N_('Show Preupgrade report')
|
|
15
17
|
param :id, :identifier, required: true
|
|
16
|
-
def show
|
|
18
|
+
def show
|
|
19
|
+
@preupgrade_report = resource_scope.find(params[:id])
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
api :GET, '/job_invocations/:id/preupgrade_reports', N_('List Preupgrade reports for Job invocation')
|
|
23
|
+
param :id, :identifier, required: true
|
|
24
|
+
def job_invocation
|
|
25
|
+
@preupgrade_reports = resource_scope_for_index.where(job_invocation_id: params[:id])
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
private
|
|
29
|
+
|
|
30
|
+
# By overriding path_to_authenticate we can require REX's permission view_job_invocations
|
|
31
|
+
def path_to_authenticate
|
|
32
|
+
params['action'] = 'show' if params['action'] == 'job_invocation'
|
|
33
|
+
Foreman::AccessControl.normalize_path_hash params.slice(:action, :id, :user_id)
|
|
34
|
+
.merge({ controller: 'api/v2/job_invocations' })
|
|
35
|
+
end
|
|
17
36
|
end
|
|
18
37
|
end
|
|
19
38
|
end
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
class PreupgradeReportsController < ::Api::V2::BaseController
|
|
4
|
+
include ApiAuthorizer
|
|
5
|
+
|
|
4
6
|
def index
|
|
5
|
-
@preupgrade_reports = resource_scope.search_for(*search_options)
|
|
7
|
+
@preupgrade_reports = resource_scope.includes(:preupgrade_report_entries).search_for(*search_options)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
private
|
|
11
|
+
|
|
12
|
+
# By overriding :path_to_authenticate we can require REX's :view_job_invocations permission
|
|
13
|
+
def path_to_authenticate
|
|
14
|
+
Foreman::AccessControl.normalize_path_hash params.slice(:action, :id, :user_id)
|
|
15
|
+
.merge({ controller: 'job_invocations' })
|
|
6
16
|
end
|
|
7
17
|
end
|
|
@@ -8,7 +8,8 @@ module Actions
|
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
def plan(job_invocation, host, *_args)
|
|
11
|
-
return unless ::Helpers::JobHelper.correct_feature?(job_invocation, 'leapp_preupgrade')
|
|
11
|
+
return unless ::Helpers::JobHelper.correct_feature?(job_invocation, 'leapp_preupgrade') ||
|
|
12
|
+
::Helpers::JobHelper.correct_feature?(job_invocation, 'leapp_remediation_plan')
|
|
12
13
|
|
|
13
14
|
plan_self(host_id: host.id, job_invocation_id: job_invocation.id)
|
|
14
15
|
end
|
|
@@ -4,10 +4,9 @@ module Helpers
|
|
|
4
4
|
module JobHelper
|
|
5
5
|
class << self
|
|
6
6
|
def correct_feature?(job_invocation, feature)
|
|
7
|
-
job_invocation.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
.first)&.label == feature
|
|
7
|
+
RemoteExecutionFeature.where(job_template_id: job_invocation.pattern_template_invocations
|
|
8
|
+
.first
|
|
9
|
+
.template_id, label: feature).any?
|
|
11
10
|
end
|
|
12
11
|
end
|
|
13
12
|
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<%#
|
|
2
|
+
name: Check Leapp
|
|
3
|
+
description_format: 'Check if Leapp package is installed.'
|
|
4
|
+
kind: job_template
|
|
5
|
+
job_category: Leapp
|
|
6
|
+
provider_type: SSH
|
|
7
|
+
snippet: true
|
|
8
|
+
model: JobTemplate
|
|
9
|
+
%>
|
|
10
|
+
|
|
11
|
+
if ! command -v leapp > /dev/null
|
|
12
|
+
then
|
|
13
|
+
echo "Leapp is not installed."
|
|
14
|
+
exit 1
|
|
15
|
+
fi
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
<%#
|
|
2
2
|
kind: job_template
|
|
3
3
|
name: Run preupgrade via Leapp
|
|
4
|
-
job_category: Leapp
|
|
4
|
+
job_category: Leapp - Preupgrade
|
|
5
5
|
description_format: 'Upgradeability check for RHEL 7 host'
|
|
6
6
|
provider_type: SSH
|
|
7
7
|
feature: leapp_preupgrade
|
|
8
|
+
model: JobTemplate
|
|
8
9
|
%>
|
|
9
10
|
|
|
11
|
+
<%= render_template 'Check Leapp' %>
|
|
12
|
+
|
|
13
|
+
rm -f /var/log/leapp/leapp-report.json
|
|
10
14
|
leapp preupgrade
|
|
11
|
-
[ $? -eq 0 ] || exit 1
|
|
12
15
|
|
|
13
16
|
echo "===leap_upgrade_report_start==="
|
|
14
17
|
cat /var/log/leapp/leapp-report.json
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<%#
|
|
2
|
+
kind: job_template
|
|
3
|
+
name: Run remediation plan via Leapp
|
|
4
|
+
job_category: Other
|
|
5
|
+
description_format: 'Run remediation plan via Leapp'
|
|
6
|
+
provider_type: SSH
|
|
7
|
+
feature: leapp_remediation_plan
|
|
8
|
+
model: JobTemplate
|
|
9
|
+
template_inputs:
|
|
10
|
+
- name: remediation_ids
|
|
11
|
+
required: true
|
|
12
|
+
advanced: true
|
|
13
|
+
input_type: user
|
|
14
|
+
value_type: plain
|
|
15
|
+
description: List of remediation ids
|
|
16
|
+
- name: run_preupgrade
|
|
17
|
+
description: Run preupgrade check again when remediation entries are fixed.
|
|
18
|
+
input_type: user
|
|
19
|
+
required: true
|
|
20
|
+
options: "true\nfalse"
|
|
21
|
+
default: "true"
|
|
22
|
+
%>
|
|
23
|
+
|
|
24
|
+
<%= render_template 'Check Leapp' %>
|
|
25
|
+
|
|
26
|
+
<%= build_remediation_plan(input('remediation_ids').split(','), @host) %>
|
|
27
|
+
<% if input('run_preupgrade') == 'true' %>
|
|
28
|
+
<%= render_template 'Run preupgrade via Leapp' %>
|
|
29
|
+
<% end %>
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
<%#
|
|
2
2
|
kind: job_template
|
|
3
3
|
name: Run upgrade via Leapp
|
|
4
|
-
job_category:
|
|
4
|
+
job_category: Leapp - Upgrade
|
|
5
5
|
description_format: 'Upgrade RHEL 7 host'
|
|
6
6
|
provider_type: Ansible
|
|
7
7
|
feature: leapp_upgrade
|
|
8
|
+
model: JobTemplate
|
|
8
9
|
template_inputs:
|
|
9
|
-
- name:
|
|
10
|
-
description:
|
|
10
|
+
- name: Reboot
|
|
11
|
+
description: Reboot the host automaticaly to continue with the upgrade
|
|
11
12
|
input_type: user
|
|
12
|
-
required:
|
|
13
|
-
|
|
13
|
+
required: true
|
|
14
|
+
default: "true"
|
|
15
|
+
options: "true\nfalse"
|
|
14
16
|
%>
|
|
15
17
|
---
|
|
16
18
|
- hosts: all
|
|
17
19
|
tasks:
|
|
18
20
|
- name: Run Leapp Upgrade
|
|
19
21
|
command: leapp upgrade
|
|
20
|
-
|
|
22
|
+
<%- if input('Reboot') == "true" -%>
|
|
21
23
|
- name: Reboot the machine
|
|
22
24
|
reboot:
|
|
23
25
|
reboot_timeout: 1800
|
|
24
|
-
|
|
26
|
+
<%- end -%>
|
data/config/routes.rb
CHANGED
|
@@ -4,8 +4,9 @@ Rails.application.routes.draw do
|
|
|
4
4
|
resources :preupgrade_reports, :only => %i[index]
|
|
5
5
|
|
|
6
6
|
namespace :api, defaults: { format: 'json' } do
|
|
7
|
-
scope '(:apiv)', module: :v2, defaults: { apiv: 'v2'}, apiv: /v2/, constraints: ApiConstraints.new( version: 2, default: true) do
|
|
7
|
+
scope '(:apiv)', module: :v2, defaults: { apiv: 'v2' }, apiv: /v2/, constraints: ApiConstraints.new( version: 2, default: true) do
|
|
8
8
|
resources :preupgrade_reports, only: %i[index show]
|
|
9
|
+
get 'job_invocations/:id/preupgrade_reports', to: 'preupgrade_reports#job_invocation'
|
|
9
10
|
end
|
|
10
11
|
end
|
|
11
12
|
end
|
|
@@ -9,7 +9,7 @@ User.as_anonymous_admin do
|
|
|
9
9
|
'job_templates/**/*.erb')].each do |template|
|
|
10
10
|
template = JobTemplate.import_raw!(File.read(template),
|
|
11
11
|
:default => true,
|
|
12
|
-
:
|
|
12
|
+
:lock => true,
|
|
13
13
|
:update => true)
|
|
14
14
|
template.organizations = organizations if template.present?
|
|
15
15
|
template.locations = locations if template.present?
|
data/lib/foreman_leapp/engine.rb
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module ForemanLeapp
|
|
4
|
-
JOB_CATEGORY = 'Leapp'
|
|
5
|
-
|
|
6
4
|
class Engine < ::Rails::Engine
|
|
7
5
|
engine_name 'foreman_leapp'
|
|
8
6
|
|
|
@@ -23,7 +21,7 @@ module ForemanLeapp
|
|
|
23
21
|
|
|
24
22
|
initializer 'foreman_leapp.register_plugin', before: :finisher_hook do |_app|
|
|
25
23
|
Foreman::Plugin.register :foreman_leapp do
|
|
26
|
-
requires_foreman '>= 1
|
|
24
|
+
requires_foreman '>= 2.1'
|
|
27
25
|
|
|
28
26
|
apipie_documented_controllers ["#{ForemanLeapp::Engine.root}/app/controllers/api/v2/*.rb"]
|
|
29
27
|
extend_template_helpers ForemanLeapp::TemplateHelper
|
|
@@ -33,7 +31,10 @@ module ForemanLeapp
|
|
|
33
31
|
partial: 'job_invocations/leapp_preupgrade_report',
|
|
34
32
|
name: _('Leapp preupgrade report'),
|
|
35
33
|
id: 'leapp_preupgrade_report',
|
|
36
|
-
onlyif: proc { |subject|
|
|
34
|
+
onlyif: proc { |subject|
|
|
35
|
+
::Helpers::JobHelper.correct_feature?(subject, 'leapp_preupgrade') ||
|
|
36
|
+
::Helpers::JobHelper.correct_feature?(subject, 'leapp_remediation_plan')
|
|
37
|
+
}
|
|
37
38
|
end
|
|
38
39
|
end
|
|
39
40
|
end
|
|
@@ -41,8 +42,8 @@ module ForemanLeapp
|
|
|
41
42
|
# Include concerns in this config.to_prepare block
|
|
42
43
|
config.to_prepare do
|
|
43
44
|
begin
|
|
44
|
-
HostsHelper.prepend ForemanLeapp::HostsHelperExtensions
|
|
45
|
-
|
|
45
|
+
::HostsHelper.prepend ForemanLeapp::HostsHelperExtensions
|
|
46
|
+
::JobInvocation.include ForemanLeapp::JobInvocationExtensions
|
|
46
47
|
rescue StandardError => e
|
|
47
48
|
Rails.logger.warn "ForemanLeapp: skipping engine hook (#{e})"
|
|
48
49
|
end
|
data/locale/en/foreman_leapp.po
CHANGED
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
#
|
|
3
3
|
# This file is distributed under the same license as foreman_leapp.
|
|
4
4
|
#
|
|
5
|
-
#, fuzzy
|
|
6
5
|
msgid ""
|
|
7
6
|
msgstr ""
|
|
8
7
|
"Project-Id-Version: version 0.0.1\n"
|
|
9
8
|
"Report-Msgid-Bugs-To: \n"
|
|
10
|
-
"POT-Creation-Date: 2014-08-20 08:46+0100\n"
|
|
11
9
|
"PO-Revision-Date: 2014-08-20 08:54+0100\n"
|
|
12
10
|
"Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
|
|
13
11
|
"Language-Team: Foreman Team <foreman-dev@googlegroups.com>\n"
|
|
@@ -17,3 +15,107 @@ msgstr ""
|
|
|
17
15
|
"Content-Transfer-Encoding: 8bit\n"
|
|
18
16
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
19
17
|
|
|
18
|
+
msgid "A foreman plugin to support inplace RHEL 7 -> RHEL 8 upgrades with Leapp utility."
|
|
19
|
+
msgstr ""
|
|
20
|
+
|
|
21
|
+
msgid "All"
|
|
22
|
+
msgstr ""
|
|
23
|
+
|
|
24
|
+
msgid "Command"
|
|
25
|
+
msgstr ""
|
|
26
|
+
|
|
27
|
+
msgid "Fix Selected"
|
|
28
|
+
msgstr ""
|
|
29
|
+
|
|
30
|
+
msgid "Fix Type"
|
|
31
|
+
msgstr ""
|
|
32
|
+
|
|
33
|
+
msgid "Has Remediation?"
|
|
34
|
+
msgstr ""
|
|
35
|
+
|
|
36
|
+
msgid "High"
|
|
37
|
+
msgstr ""
|
|
38
|
+
|
|
39
|
+
msgid "Hint"
|
|
40
|
+
msgstr ""
|
|
41
|
+
|
|
42
|
+
msgid "Host"
|
|
43
|
+
msgstr ""
|
|
44
|
+
|
|
45
|
+
msgid "Info"
|
|
46
|
+
msgstr ""
|
|
47
|
+
|
|
48
|
+
msgid "Inhibitor"
|
|
49
|
+
msgstr ""
|
|
50
|
+
|
|
51
|
+
msgid "Inhibitor?"
|
|
52
|
+
msgstr ""
|
|
53
|
+
|
|
54
|
+
msgid "Leapp preupgrade report"
|
|
55
|
+
msgstr ""
|
|
56
|
+
|
|
57
|
+
msgid "List Preupgrade reports"
|
|
58
|
+
msgstr ""
|
|
59
|
+
|
|
60
|
+
msgid "List Preupgrade reports for Job invocation"
|
|
61
|
+
msgstr ""
|
|
62
|
+
|
|
63
|
+
msgid "Low"
|
|
64
|
+
msgstr ""
|
|
65
|
+
|
|
66
|
+
msgid "Medium"
|
|
67
|
+
msgstr ""
|
|
68
|
+
|
|
69
|
+
msgid "Missing one of the required permissions: view_hosts"
|
|
70
|
+
msgstr ""
|
|
71
|
+
|
|
72
|
+
msgid "No"
|
|
73
|
+
msgstr ""
|
|
74
|
+
|
|
75
|
+
msgid "No Preupgrade Report Available"
|
|
76
|
+
msgstr ""
|
|
77
|
+
|
|
78
|
+
msgid "Preupgrade check with Leapp"
|
|
79
|
+
msgstr ""
|
|
80
|
+
|
|
81
|
+
msgid "Remediation plan"
|
|
82
|
+
msgstr ""
|
|
83
|
+
|
|
84
|
+
msgid "Rerun preupgrade check"
|
|
85
|
+
msgstr ""
|
|
86
|
+
|
|
87
|
+
msgid "Risk Factor"
|
|
88
|
+
msgstr ""
|
|
89
|
+
|
|
90
|
+
msgid "Run Leapp Preupgrade check again"
|
|
91
|
+
msgstr ""
|
|
92
|
+
|
|
93
|
+
msgid "Run Leapp upgrade job for RHEL 7 host"
|
|
94
|
+
msgstr ""
|
|
95
|
+
|
|
96
|
+
msgid "Run Remediation plan with Leapp"
|
|
97
|
+
msgstr ""
|
|
98
|
+
|
|
99
|
+
msgid "Run Upgrade"
|
|
100
|
+
msgstr ""
|
|
101
|
+
|
|
102
|
+
msgid "Show Preupgrade report"
|
|
103
|
+
msgstr ""
|
|
104
|
+
|
|
105
|
+
msgid "The preupgrade report will be available after the job finishes"
|
|
106
|
+
msgstr ""
|
|
107
|
+
|
|
108
|
+
msgid "This issue inhibits the upgrade."
|
|
109
|
+
msgstr ""
|
|
110
|
+
|
|
111
|
+
msgid "Title"
|
|
112
|
+
msgstr ""
|
|
113
|
+
|
|
114
|
+
msgid "Upgrade with Leapp"
|
|
115
|
+
msgstr ""
|
|
116
|
+
|
|
117
|
+
msgid "Upgradeability check for RHEL 7 host"
|
|
118
|
+
msgstr ""
|
|
119
|
+
|
|
120
|
+
msgid "Yes"
|
|
121
|
+
msgstr ""
|