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.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -20
  3. data/app/controllers/api/v2/concerns/api_authorizer.rb +27 -0
  4. data/app/controllers/api/v2/preupgrade_reports_controller.rb +21 -2
  5. data/app/controllers/preupgrade_reports_controller.rb +11 -1
  6. data/app/lib/actions/preupgrade_job.rb +2 -1
  7. data/app/lib/helpers/job_helper.rb +3 -4
  8. data/app/models/preupgrade_report.rb +1 -0
  9. data/app/models/preupgrade_report_entry.rb +1 -0
  10. data/app/views/api/v2/preupgrade_report_entries/base.json.rabl +1 -1
  11. data/app/views/api/v2/preupgrade_reports/job_invocation.json.rabl +3 -0
  12. data/app/views/foreman_leapp/job_templates/leapp_check.erb +15 -0
  13. data/app/views/foreman_leapp/job_templates/{preupgrade.erb → leapp_preupgrade.erb} +5 -2
  14. data/app/views/foreman_leapp/job_templates/leapp_remediation.erb +29 -0
  15. data/app/views/foreman_leapp/job_templates/{upgrade.erb → leapp_upgrade.erb} +9 -7
  16. data/config/routes.rb +2 -1
  17. data/db/migrate/20200429080939_report_entries_flags.rb +5 -0
  18. data/db/seeds.d/10_leapp_preupgrade.rb +1 -1
  19. data/lib/foreman_leapp/engine.rb +7 -6
  20. data/lib/foreman_leapp/version.rb +1 -1
  21. data/locale/action_names.rb +6 -0
  22. data/locale/en/foreman_leapp.po +104 -2
  23. data/locale/foreman_leapp.pot +164 -8
  24. data/package.json +3 -2
  25. data/test/functional/api/v2/preupgrade_reports_controller_test.rb +89 -6
  26. data/test/functional/preupgrade_reports_controller_test.rb +27 -4
  27. data/test/unit/actions/preupgrade_job_test.rb +1 -1
  28. data/test/unit/helpers/job_helper_test.rb +3 -10
  29. data/webpack/__mocks__/foremanReact/common/I18n.js +1 -1
  30. data/webpack/__mocks__/foremanReact/components/common/EmptyState.js +1 -0
  31. data/webpack/components/PreupgradeReports/PreupgradeReports.js +104 -21
  32. data/webpack/components/PreupgradeReports/PreupgradeReportsActions.js +1 -1
  33. data/webpack/components/PreupgradeReports/PreupgradeReportsHelpers.js +132 -15
  34. data/webpack/components/PreupgradeReports/PreupgradeReportsReducer.js +2 -0
  35. data/webpack/components/PreupgradeReports/PreupgradeReportsSelectors.js +10 -0
  36. data/webpack/components/PreupgradeReports/__tests__/PreupgradeReports.fixtures.js +45 -7
  37. data/webpack/components/PreupgradeReports/__tests__/PreupgradeReports.test.js +17 -1
  38. data/webpack/components/PreupgradeReports/__tests__/PreupgradeReportsHelpers.test.js +43 -3
  39. data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReports.test.js.snap +82 -134
  40. data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsHelpers.test.js.snap +409 -2
  41. data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsReducer.test.js.snap +21 -1
  42. data/webpack/components/PreupgradeReports/__tests__/__snapshots__/PreupgradeReportsSelectors.test.js.snap +17 -1
  43. data/webpack/components/PreupgradeReports/components/EntriesFilter.js +121 -0
  44. data/webpack/components/PreupgradeReports/components/EntriesFilter.scss +3 -0
  45. data/webpack/components/PreupgradeReports/components/EntriesFilter.test.js +30 -0
  46. data/webpack/components/PreupgradeReports/components/{FixAllButton.js → FixSelectedButton.js} +6 -8
  47. data/webpack/components/PreupgradeReports/components/FixSelectedButton.test.js +15 -0
  48. data/webpack/components/PreupgradeReports/components/NoReports.js +35 -0
  49. data/webpack/components/PreupgradeReports/components/NoReports.test.js +15 -0
  50. data/webpack/components/PreupgradeReports/components/UpgradeAllButton.js +29 -0
  51. data/webpack/components/PreupgradeReports/components/{FixAllButton.test.js → UpgradeAllButton.test.js} +3 -4
  52. data/webpack/components/PreupgradeReports/components/__snapshots__/EntriesFilter.test.js.snap +330 -0
  53. data/webpack/components/PreupgradeReports/components/__snapshots__/{FixAllButton.test.js.snap → FixSelectedButton.test.js.snap} +9 -3
  54. data/webpack/components/PreupgradeReports/components/__snapshots__/NoReports.test.js.snap +19 -0
  55. data/webpack/components/PreupgradeReports/components/__snapshots__/UpgradeAllButton.test.js.snap +29 -0
  56. data/webpack/components/PreupgradeReports/index.js +22 -4
  57. data/webpack/components/PreupgradeReportsList/PreupgradeReportList.scss +37 -0
  58. data/webpack/components/PreupgradeReportsList/__tests__/PreupgradeReportsList.test.js +16 -0
  59. data/webpack/components/PreupgradeReportsList/__tests__/__snapshots__/PreupgradeReportsList.test.js.snap +38 -0
  60. data/webpack/components/PreupgradeReportsList/components/InfoItem.js +1 -1
  61. data/webpack/components/PreupgradeReportsList/components/InhibitorInfoItem.js +33 -0
  62. data/webpack/components/PreupgradeReportsList/components/PreupgradeReportEntry.js +19 -9
  63. data/webpack/components/PreupgradeReportsList/components/PreupgradeReportsListHeader.js +56 -0
  64. data/webpack/components/PreupgradeReportsList/components/SortableHeaderItem.js +50 -0
  65. data/webpack/components/PreupgradeReportsList/components/__tests__/InhibitorInfoItem.test.js +27 -0
  66. data/webpack/components/PreupgradeReportsList/components/__tests__/PreupgradeReportEntry.test.js +2 -0
  67. data/webpack/components/PreupgradeReportsList/components/__tests__/PreupgradeReportsListHeader.test.js +14 -0
  68. data/webpack/components/PreupgradeReportsList/components/__tests__/SortableHeaderItem.test.js +29 -0
  69. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/InhibitorInfoItem.test.js.snap +32 -0
  70. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/PreupgradeReportEntry.test.js.snap +23 -17
  71. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/PreupgradeReportsListHeader.test.js.snap +113 -0
  72. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/SortableHeaderItem.test.js.snap +36 -0
  73. data/webpack/components/PreupgradeReportsList/components/__tests__/__snapshots__/helpers.test.js.snap +4 -10
  74. data/webpack/components/PreupgradeReportsList/components/__tests__/helpers.test.js +0 -2
  75. data/webpack/components/PreupgradeReportsList/components/foreman_leapp.scss +7 -1
  76. data/webpack/components/PreupgradeReportsList/components/helpers.js +47 -19
  77. data/webpack/components/PreupgradeReportsList/components/images/i_severity-critical.svg +61 -0
  78. data/webpack/components/PreupgradeReportsList/components/images/i_severity-high.svg +61 -0
  79. data/webpack/components/PreupgradeReportsList/components/images/i_severity-low.svg +62 -0
  80. data/webpack/components/PreupgradeReportsList/components/images/i_severity-med.svg +62 -0
  81. data/webpack/components/PreupgradeReportsList/index.js +28 -3
  82. metadata +54 -18
  83. 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: a75680a7afc44c4a8e90727d2319a53b231748a6db1f8a1c3627c319b3483902
4
- data.tar.gz: 8506877b49e172205eeadb3a898d9ee5e8e1235525155673d52b98efdfb7441f
3
+ metadata.gz: 59cdca70be055403d924f568f8ccdd333123fbbdd6d6665bdaa7ca59706b7410
4
+ data.tar.gz: f1e4859e8b1c84faf8807d58656205ee60d2a8139ad304ec220810c64976f8c7
5
5
  SHA512:
6
- metadata.gz: 18a93546178c2252cd530f913d98633e24808dbf66698ddff5d4249d2eec0c9df2513447a304df59cd55e4b54c0bcefb31cae0713dd002ca1895bb78bb19be28
7
- data.tar.gz: 4993f008708cdb78a9defd9cd311cadb7396e75ad16f0827675ab32e0361e5ad5154810d3e8b1d5f9504d1db2849c6aebe9addae16006a9ff8698b70719b2247
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 rhel7 vms in foreman using leapp tool.
4
- For more information about leapp check [github](https://github.com/oamg/leapp) or
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 [How_to_Install_a_Plugin](http://projects.theforeman.org/projects/foreman/wiki/How_to_Install_a_Plugin)
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 2 remote execution jobs, "Run preupgrade via leapp" and "Run upgrade via leapp". Only
15
- preupgrade reports storage and retrieval has been implemented so far.
12
+ The plugin will add following jobs:
13
+ - Run preupgrade via Leapp
14
+ - Remediation plan
15
+ - Run upgrade via Leapp
16
16
 
17
- After running a preupgrade remote execution job on one or more foreman hosts the report can be retrieved from foreman db.
18
-
19
- The retrieval api looks like:
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
- before_action :find_resource, only: %i[show]
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; end
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.job_category == ::ForemanLeapp::JOB_CATEGORY &&
8
- RemoteExecutionFeature.find_by(job_template_id: job_invocation.pattern_template_invocations
9
- .pluck(:template_id)
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
@@ -27,6 +27,7 @@ class PreupgradeReport < ::Report
27
27
  leapp_run_id: data['leapp_run_id'],
28
28
  summary: entry['summary'],
29
29
  tags: entry['tags'],
30
+ flags: entry['flags'],
30
31
  detail: entry['detail'] }
31
32
  end
32
33
  end
@@ -5,6 +5,7 @@ class PreupgradeReportEntry < ApplicationRecord
5
5
  belongs_to_host
6
6
 
7
7
  serialize :tags, Array
8
+ serialize :flags, Array
8
9
  serialize :detail, JSON
9
10
 
10
11
  validates :preupgrade_report, :host, :hostname, :title, :actor, :audience, :severity, :leapp_run_id, presence: true
@@ -1,4 +1,4 @@
1
1
  object @preupgrade_report_entry
2
2
 
3
3
  attributes :id, :preupgrade_report_id, :host_id, :hostname, :title, :actor, :audience,
4
- :severity, :leapp_run_id, :summary, :tags, :created_at, :updated_at
4
+ :severity, :leapp_run_id, :summary, :tags, :flags, :created_at, :updated_at
@@ -0,0 +1,3 @@
1
+ collection @preupgrade_reports
2
+
3
+ extends 'api/v2/preupgrade_reports/base'
@@ -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: Ansible Playbook
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: reboot
10
- description: reboot the vm automaticaly to continue with the upgrade
10
+ - name: Reboot
11
+ description: Reboot the host automaticaly to continue with the upgrade
11
12
  input_type: user
12
- required: false
13
- options: "false\ntrue"
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
- <% if input('reboot') == "true" %>
22
+ <%- if input('Reboot') == "true" -%>
21
23
  - name: Reboot the machine
22
24
  reboot:
23
25
  reboot_timeout: 1800
24
- <% end %>
26
+ <%- end -%>
@@ -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
@@ -0,0 +1,5 @@
1
+ class ReportEntriesFlags < ActiveRecord::Migration[6.0]
2
+ def change
3
+ add_column :preupgrade_report_entries, :flags, :text
4
+ end
5
+ 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
- :locked => true,
12
+ :lock => true,
13
13
  :update => true)
14
14
  template.organizations = organizations if template.present?
15
15
  template.locations = locations if template.present?
@@ -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.16'
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| ::Helpers::JobHelper.correct_feature?(subject, 'leapp_preupgrade') }
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
- Host::JobInvocation.include ForemanLeapp::JobInvocationExtensions
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ForemanLeapp
4
- VERSION = '0.0.6'
4
+ VERSION = '0.1.4'
5
5
  end
@@ -0,0 +1,6 @@
1
+ # Autogenerated!
2
+ _("Preupgrade job")
3
+ _("Remote action:")
4
+ _("Import Puppet classes")
5
+ _("Import facts")
6
+ _("Action with sub plans")
@@ -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 ""