foreman_leapp 0.0.2
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 +7 -0
- data/LICENSE +619 -0
- data/README.md +50 -0
- data/Rakefile +49 -0
- data/app/controllers/api/v2/preupgrade_reports_controller.rb +19 -0
- data/app/controllers/preupgrade_reports_controller.rb +7 -0
- data/app/helpers/concerns/foreman_leapp/hosts_helper_extensions.rb +17 -0
- data/app/helpers/concerns/foreman_leapp/remote_execution_helper_extension.rb +15 -0
- data/app/helpers/foreman_leapp/template_helper.rb +15 -0
- data/app/lib/actions/preupgrade_job.rb +35 -0
- data/app/lib/helpers/job_helper.rb +14 -0
- data/app/models/concerns/foreman_leapp/job_invocation_extensions.rb +11 -0
- data/app/models/preupgrade_report.rb +32 -0
- data/app/models/preupgrade_report_entry.rb +15 -0
- data/app/views/api/v2/preupgrade_report_entries/base.json.rabl +4 -0
- data/app/views/api/v2/preupgrade_reports/base.json.rabl +3 -0
- data/app/views/api/v2/preupgrade_reports/index.json.rabl +3 -0
- data/app/views/api/v2/preupgrade_reports/show.json.rabl +7 -0
- data/app/views/foreman_leapp/job_templates/preupgrade.erb +14 -0
- data/app/views/foreman_leapp/job_templates/remediation.erb +17 -0
- data/app/views/foreman_leapp/job_templates/upgrade.erb +16 -0
- data/app/views/job_invocations/_leapp_preupgrade_report.html.erb +10 -0
- data/app/views/preupgrade_report_entries/base.json.rabl +4 -0
- data/app/views/preupgrade_reports/index.json.rabl +3 -0
- data/app/views/preupgrade_reports/show.json.rabl +7 -0
- data/config/routes.rb +11 -0
- data/db/migrate/20200320104040_preupgrade_report_entries.rb +25 -0
- data/db/migrate/20200326142259_add_job_id_to_report.rb +6 -0
- data/db/migrate/20200327091009_add_host_to_report.rb +6 -0
- data/db/seeds.d/10_leapp_preupgrade.rb +19 -0
- data/lib/foreman_leapp/engine.rb +95 -0
- data/lib/foreman_leapp/version.rb +5 -0
- data/lib/foreman_leapp.rb +7 -0
- data/lib/tasks/foreman_leapp_tasks.rake +49 -0
- data/locale/Makefile +60 -0
- data/locale/en/foreman_leapp.po +19 -0
- data/locale/foreman_leapp.pot +19 -0
- data/locale/gemspec.rb +4 -0
- data/test/factories/foreman_leapp_factories.rb +27 -0
- data/test/functional/api/v2/preupgrade_reports_controller_test.rb +30 -0
- data/test/functional/preupgrade_reports_controller_test.rb +16 -0
- data/test/helpers/template_helper_test.rb +31 -0
- data/test/models/preupgrade_report_entry_test.rb +36 -0
- data/test/models/preupgrade_report_test.rb +46 -0
- data/test/test_plugin_helper.rb +11 -0
- data/test/unit/actions/preupgrade_job_test.rb +43 -0
- data/test/unit/helpers/job_helper_test.rb +37 -0
- metadata +141 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
# foreman_leapp
|
2
|
+
#
|
3
|
+
# This file is distributed under the same license as foreman_leapp.
|
4
|
+
#
|
5
|
+
#, fuzzy
|
6
|
+
msgid ""
|
7
|
+
msgstr ""
|
8
|
+
"Project-Id-Version: version 0.0.1\n"
|
9
|
+
"Report-Msgid-Bugs-To: \n"
|
10
|
+
"POT-Creation-Date: 2014-08-20 08:46+0100\n"
|
11
|
+
"PO-Revision-Date: 2014-08-20 08:46+0100\n"
|
12
|
+
"Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
|
13
|
+
"Language-Team: Foreman Team <foreman-dev@googlegroups.com>\n"
|
14
|
+
"Language: \n"
|
15
|
+
"MIME-Version: 1.0\n"
|
16
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
17
|
+
"Content-Transfer-Encoding: 8bit\n"
|
18
|
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
19
|
+
|
data/locale/gemspec.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :preupgrade_report do
|
5
|
+
host
|
6
|
+
reported_at { Time.now.utc }
|
7
|
+
type { 'PreupgradeReport' }
|
8
|
+
status { '0' }
|
9
|
+
end
|
10
|
+
|
11
|
+
factory :preupgrade_report_entry do
|
12
|
+
host
|
13
|
+
preupgrade_report
|
14
|
+
sequence(:title) { |n| "Leap report entry title #{n}" }
|
15
|
+
sequence(:actor) { |n| "leapp_actor#{n}" }
|
16
|
+
hostname { host.name }
|
17
|
+
audience { 'sys_admin' }
|
18
|
+
severity { 'medium' }
|
19
|
+
leapp_run_id { SecureRandom.hex(8) }
|
20
|
+
tags { %w[tag1 tag2] }
|
21
|
+
summary { '' }
|
22
|
+
detail do
|
23
|
+
{ remediations: [{ type: 'hint', context: 'meh.' },
|
24
|
+
{ type: 'command', context: ['yum', '-y', 'remove', 'leapp_pkg'] }] }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
module Api
|
6
|
+
module V2
|
7
|
+
class PreupgradeReportsControllerTest < ActionController::TestCase
|
8
|
+
setup do
|
9
|
+
@host = FactoryBot.create(:host)
|
10
|
+
@report = FactoryBot.create(:preupgrade_report, host: @host)
|
11
|
+
@entry = FactoryBot.create(:preupgrade_report_entry, host: @host, preupgrade_report: @report)
|
12
|
+
end
|
13
|
+
|
14
|
+
test 'should get index' do
|
15
|
+
get :index, session: set_session_user
|
16
|
+
assert_response :success
|
17
|
+
assert_not_empty ActiveSupport::JSON.decode(@response.body)['results']
|
18
|
+
end
|
19
|
+
|
20
|
+
test 'should get detail of report and its entries' do
|
21
|
+
get :show, params: { id: @report.id }
|
22
|
+
assert_response :success
|
23
|
+
|
24
|
+
response = ActiveSupport::JSON.decode(@response.body)
|
25
|
+
assert_equal response['id'], @report.id
|
26
|
+
assert_not_empty response['preupgrade_report_entries']
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
class PreupgradeReportsControllerTest < ActionController::TestCase
|
6
|
+
setup do
|
7
|
+
@host = FactoryBot.create :host
|
8
|
+
FactoryBot.create :preupgrade_report, host: @host
|
9
|
+
end
|
10
|
+
|
11
|
+
test 'should get index' do
|
12
|
+
get :index, session: set_session_user
|
13
|
+
response = ActiveSupport::JSON.decode(@response.body)
|
14
|
+
assert_equal @host.id, response['results'].first['host_id']
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
module ForemanLeapp
|
6
|
+
class TemplateHelperTest < ActionView::TestCase
|
7
|
+
let(:host) { FactoryBot.create(:host) }
|
8
|
+
let(:report) { FactoryBot.create(:preupgrade_report, host: host) }
|
9
|
+
let(:entry) { FactoryBot.create(:preupgrade_report_entry, host: host, preupgrade_report: report) }
|
10
|
+
|
11
|
+
describe 'build_remediation_plan' do
|
12
|
+
test 'with remediation commands' do
|
13
|
+
template = build_remediation_plan([entry.id], host)
|
14
|
+
assert_equal template, "yum -y remove leapp_pkg\n"
|
15
|
+
end
|
16
|
+
|
17
|
+
test 'without remediation commands' do
|
18
|
+
empty_entry = FactoryBot.create(:preupgrade_report_entry, host: host, preupgrade_report: report,
|
19
|
+
detail: { remediations: [{ type: 'hint',
|
20
|
+
context: 'meh.' }] })
|
21
|
+
template = build_remediation_plan([empty_entry.id], host)
|
22
|
+
assert_equal template, ''
|
23
|
+
end
|
24
|
+
|
25
|
+
test 'only for current host' do
|
26
|
+
template = build_remediation_plan([entry.id], FactoryBot.create(:host))
|
27
|
+
assert_equal template, ''
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
class PreupgradeReportEntryTest < ActiveSupport::TestCase
|
6
|
+
should belong_to(:preupgrade_report)
|
7
|
+
should belong_to(:host)
|
8
|
+
|
9
|
+
should validate_presence_of(:preupgrade_report)
|
10
|
+
should validate_presence_of(:host)
|
11
|
+
should validate_presence_of(:hostname)
|
12
|
+
should validate_presence_of(:title)
|
13
|
+
should validate_presence_of(:actor)
|
14
|
+
should validate_presence_of(:audience)
|
15
|
+
should validate_presence_of(:severity)
|
16
|
+
should validate_presence_of(:leapp_run_id)
|
17
|
+
|
18
|
+
describe 'remediation_details' do
|
19
|
+
setup do
|
20
|
+
@host = FactoryBot.create(:host)
|
21
|
+
|
22
|
+
report = FactoryBot.create(:preupgrade_report)
|
23
|
+
@entry1 = FactoryBot.create(:preupgrade_report_entry, preupgrade_report: report, host: @host)
|
24
|
+
@entry2 = FactoryBot.create(:preupgrade_report_entry, preupgrade_report: report, host: @host, detail: nil)
|
25
|
+
end
|
26
|
+
|
27
|
+
it do
|
28
|
+
details = PreupgradeReportEntry.remediation_details([@entry1.id, @entry2.id], @host.id)
|
29
|
+
assert_equal details.size, 1
|
30
|
+
assert_equal details[0], @entry1.detail
|
31
|
+
|
32
|
+
details = PreupgradeReportEntry.remediation_details([@entry1.id, @entry2.id], FactoryBot.create(:host))
|
33
|
+
assert_equal details.size, 0
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
class PreupgradeReportTest < ActiveSupport::TestCase
|
6
|
+
should belong_to(:job_invocation)
|
7
|
+
should have_many(:preupgrade_report_entries).dependent(:destroy)
|
8
|
+
|
9
|
+
describe '#create_report' do
|
10
|
+
let(:job_invocation) { FactoryBot.create(:job_invocation) }
|
11
|
+
let(:host) { FactoryBot.create(:host) }
|
12
|
+
|
13
|
+
it 'with commands and hints' do
|
14
|
+
data = { 'leapp_run_id' => 'leapp_c13e471c',
|
15
|
+
'entries' => [sample_entry_1, sample_entry_2] }
|
16
|
+
|
17
|
+
assert_difference -> { PreupgradeReport.count } => 1, -> { PreupgradeReportEntry.count } => 2 do
|
18
|
+
PreupgradeReport.create_report(host, data, job_invocation)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'no entries' do
|
23
|
+
data = { 'leapp_run_id' => 'leapp_c13e471c' }
|
24
|
+
|
25
|
+
assert_difference -> { PreupgradeReport.count } => 1, -> { PreupgradeReportEntry.count } => 0 do
|
26
|
+
PreupgradeReport.create_report(host, data, job_invocation)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def sample_entry_1
|
32
|
+
{ 'severity' => 'low', 'title' => 'SElinux will be set to permissive mode',
|
33
|
+
'tags' => %w[selinux security], 'actor' => 'check_se_linux',
|
34
|
+
'summary' => 'sum', 'audience' => 'sysadmin', 'id' => 'id1' }
|
35
|
+
end
|
36
|
+
|
37
|
+
def sample_entry_2
|
38
|
+
{ 'severity' => 'high', 'tags' => ['kernel'], 'title' => 'Multiple devel kernels installed',
|
39
|
+
'detail' => { 'remediations' => [
|
40
|
+
{ 'type' => 'hint', 'context' => 'Some context' },
|
41
|
+
{ 'type' => 'command', 'context' => ['yum', '-y', 'remove', 'kernel-devel-3.10.0.1127.el7'] }
|
42
|
+
] },
|
43
|
+
'actor' => 'check_installed_devel_kernels', 'summary' => 'Sum', 'audience' => 'sysadmin',
|
44
|
+
'flags' => ['inhibitor'], 'id' => 'id2' }
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# This calls the main test_helper in Foreman-core
|
4
|
+
require 'test_helper'
|
5
|
+
require 'dynflow/testing'
|
6
|
+
|
7
|
+
# Add plugin to FactoryBot's paths
|
8
|
+
FactoryBot.definition_file_paths << File.join(File.dirname(__FILE__), 'factories')
|
9
|
+
FactoryBot.definition_file_paths << "#{ForemanTasks::Engine.root}/test/factories"
|
10
|
+
FactoryBot.definition_file_paths << "#{ForemanRemoteExecution::Engine.root}/test/factories"
|
11
|
+
FactoryBot.reload
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
module ForemanLeapp
|
6
|
+
class PreupgradeJobTest < ActiveSupport::TestCase
|
7
|
+
include Dynflow::Testing
|
8
|
+
|
9
|
+
let(:host) { FactoryBot.create(:host) }
|
10
|
+
let(:job_template) do
|
11
|
+
FactoryBot.create(:job_template, template: 'echo "1"', job_category: 'leapp',
|
12
|
+
provider_type: 'SSH', name: 'Leapp preupgrade')
|
13
|
+
end
|
14
|
+
let(:job_invocation) { FactoryBot.create(:job_invocation, job_category: ::ForemanLeapp::JOB_CATEGORY) }
|
15
|
+
let(:template_invocation) do
|
16
|
+
FactoryBot.create(:template_invocation, template: job_template, job_invocation: job_invocation)
|
17
|
+
end
|
18
|
+
|
19
|
+
let(:action) { create_action(Actions::ForemanLeapp::PreupgradeJob) }
|
20
|
+
let(:planned_action) { plan_action(action, job_invocation, host, template_invocation) }
|
21
|
+
|
22
|
+
setup do
|
23
|
+
RemoteExecutionFeature.find_by(label: 'leapp_preupgrade').update(job_template: job_template)
|
24
|
+
end
|
25
|
+
|
26
|
+
describe 'plan' do
|
27
|
+
test 'run plan phase' do
|
28
|
+
assert_equal planned_action.input['host_id'], host.id
|
29
|
+
assert_equal planned_action.input['job_invocation_id'], job_invocation.id
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe '#format_output' do
|
34
|
+
let(:output) { "first_line\n===leap_upgrade_report_start===\n{\n\"report\": \"yes!\"\n}\nExit status: 0\n" }
|
35
|
+
|
36
|
+
it { assert action.send(:format_output, output), '{"report": "yes!"}' }
|
37
|
+
end
|
38
|
+
|
39
|
+
describe 'finalize' do
|
40
|
+
it { assert_finalize_phase planned_action }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
module Helpers
|
6
|
+
class JobHelperTest < ActionView::TestCase
|
7
|
+
let(:helper) { ::Helpers::JobHelper }
|
8
|
+
# let(:host) { FactoryBot.create(:host) }
|
9
|
+
let(:job_template) do
|
10
|
+
FactoryBot.create(:job_template, template: 'echo "1"', job_category: 'leapp',
|
11
|
+
provider_type: 'SSH', name: 'Leapp preupgrade')
|
12
|
+
end
|
13
|
+
let(:job_invocation) { FactoryBot.create(:job_invocation, job_category: ::ForemanLeapp::JOB_CATEGORY) }
|
14
|
+
|
15
|
+
describe 'correct_feature?' do
|
16
|
+
setup do
|
17
|
+
RemoteExecutionFeature.find_by(label: 'leapp_preupgrade').update(job_template: job_template)
|
18
|
+
FactoryBot.create(:template_invocation, template: job_template, job_invocation: job_invocation)
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'correct category & feature' do
|
22
|
+
assert helper.correct_feature?(job_invocation, 'leapp_preupgrade')
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'wrong category' do
|
26
|
+
job_invocation = FactoryBot.create(:job_invocation, job_category: 'NOPE')
|
27
|
+
FactoryBot.create(:template_invocation, template: job_template, job_invocation: job_invocation)
|
28
|
+
|
29
|
+
assert_not helper.correct_feature?(job_invocation, 'leapp_preupgrade')
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'wrong feature' do
|
33
|
+
assert_not helper.correct_feature?(job_invocation, 'leapp_preupgrade2')
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
metadata
ADDED
@@ -0,0 +1,141 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: foreman_leapp
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Foreman Leapp team
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-04-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: foreman_remote_execution
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rdoc
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '6.2'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '6.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rubocop
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.80'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.80'
|
55
|
+
description: A Foreman plugin to support inplace RHEL 7 -> RHEL 8 upgrades with Leapp
|
56
|
+
utility.
|
57
|
+
email:
|
58
|
+
- foreman-dev@googlegroups.com
|
59
|
+
executables: []
|
60
|
+
extensions: []
|
61
|
+
extra_rdoc_files: []
|
62
|
+
files:
|
63
|
+
- LICENSE
|
64
|
+
- README.md
|
65
|
+
- Rakefile
|
66
|
+
- app/controllers/api/v2/preupgrade_reports_controller.rb
|
67
|
+
- app/controllers/preupgrade_reports_controller.rb
|
68
|
+
- app/helpers/concerns/foreman_leapp/hosts_helper_extensions.rb
|
69
|
+
- app/helpers/concerns/foreman_leapp/remote_execution_helper_extension.rb
|
70
|
+
- app/helpers/foreman_leapp/template_helper.rb
|
71
|
+
- app/lib/actions/preupgrade_job.rb
|
72
|
+
- app/lib/helpers/job_helper.rb
|
73
|
+
- app/models/concerns/foreman_leapp/job_invocation_extensions.rb
|
74
|
+
- app/models/preupgrade_report.rb
|
75
|
+
- app/models/preupgrade_report_entry.rb
|
76
|
+
- app/views/api/v2/preupgrade_report_entries/base.json.rabl
|
77
|
+
- app/views/api/v2/preupgrade_reports/base.json.rabl
|
78
|
+
- app/views/api/v2/preupgrade_reports/index.json.rabl
|
79
|
+
- app/views/api/v2/preupgrade_reports/show.json.rabl
|
80
|
+
- app/views/foreman_leapp/job_templates/preupgrade.erb
|
81
|
+
- app/views/foreman_leapp/job_templates/remediation.erb
|
82
|
+
- app/views/foreman_leapp/job_templates/upgrade.erb
|
83
|
+
- app/views/job_invocations/_leapp_preupgrade_report.html.erb
|
84
|
+
- app/views/preupgrade_report_entries/base.json.rabl
|
85
|
+
- app/views/preupgrade_reports/index.json.rabl
|
86
|
+
- app/views/preupgrade_reports/show.json.rabl
|
87
|
+
- config/routes.rb
|
88
|
+
- db/migrate/20200320104040_preupgrade_report_entries.rb
|
89
|
+
- db/migrate/20200326142259_add_job_id_to_report.rb
|
90
|
+
- db/migrate/20200327091009_add_host_to_report.rb
|
91
|
+
- db/seeds.d/10_leapp_preupgrade.rb
|
92
|
+
- lib/foreman_leapp.rb
|
93
|
+
- lib/foreman_leapp/engine.rb
|
94
|
+
- lib/foreman_leapp/version.rb
|
95
|
+
- lib/tasks/foreman_leapp_tasks.rake
|
96
|
+
- locale/Makefile
|
97
|
+
- locale/en/foreman_leapp.po
|
98
|
+
- locale/foreman_leapp.pot
|
99
|
+
- locale/gemspec.rb
|
100
|
+
- test/factories/foreman_leapp_factories.rb
|
101
|
+
- test/functional/api/v2/preupgrade_reports_controller_test.rb
|
102
|
+
- test/functional/preupgrade_reports_controller_test.rb
|
103
|
+
- test/helpers/template_helper_test.rb
|
104
|
+
- test/models/preupgrade_report_entry_test.rb
|
105
|
+
- test/models/preupgrade_report_test.rb
|
106
|
+
- test/test_plugin_helper.rb
|
107
|
+
- test/unit/actions/preupgrade_job_test.rb
|
108
|
+
- test/unit/helpers/job_helper_test.rb
|
109
|
+
homepage: https://github.com/oamg/foreman_leapp
|
110
|
+
licenses:
|
111
|
+
- GPL-3.0
|
112
|
+
metadata: {}
|
113
|
+
post_install_message:
|
114
|
+
rdoc_options: []
|
115
|
+
require_paths:
|
116
|
+
- lib
|
117
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
requirements: []
|
128
|
+
rubygems_version: 3.0.3
|
129
|
+
signing_key:
|
130
|
+
specification_version: 4
|
131
|
+
summary: A Foreman plugin for Leapp utility.
|
132
|
+
test_files:
|
133
|
+
- test/functional/api/v2/preupgrade_reports_controller_test.rb
|
134
|
+
- test/functional/preupgrade_reports_controller_test.rb
|
135
|
+
- test/models/preupgrade_report_test.rb
|
136
|
+
- test/models/preupgrade_report_entry_test.rb
|
137
|
+
- test/unit/helpers/job_helper_test.rb
|
138
|
+
- test/unit/actions/preupgrade_job_test.rb
|
139
|
+
- test/test_plugin_helper.rb
|
140
|
+
- test/helpers/template_helper_test.rb
|
141
|
+
- test/factories/foreman_leapp_factories.rb
|