hammer_cli_katello 0.23.1 → 1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/hammer_cli_katello.rb +20 -16
- data/lib/hammer_cli_katello/activation_key.rb +5 -5
- data/lib/hammer_cli_katello/capsule.rb +2 -3
- data/lib/hammer_cli_katello/command_extensions/lifecycle_environment.rb +10 -7
- data/lib/hammer_cli_katello/command_extensions/lifecycle_environments.rb +11 -8
- data/lib/hammer_cli_katello/content_credential.rb +20 -19
- data/lib/hammer_cli_katello/content_export.rb +73 -0
- data/lib/hammer_cli_katello/content_export_complete.rb +25 -0
- data/lib/hammer_cli_katello/content_export_helper.rb +181 -0
- data/lib/hammer_cli_katello/content_export_incremental.rb +25 -0
- data/lib/hammer_cli_katello/content_import.rb +63 -0
- data/lib/hammer_cli_katello/content_view.rb +19 -32
- data/lib/hammer_cli_katello/content_view_version.rb +4 -11
- data/lib/hammer_cli_katello/deb_package.rb +3 -3
- data/lib/hammer_cli_katello/erratum.rb +1 -1
- data/lib/hammer_cli_katello/erratum_info_command.rb +1 -1
- data/lib/hammer_cli_katello/file.rb +3 -3
- data/lib/hammer_cli_katello/filter.rb +2 -2
- data/lib/hammer_cli_katello/foreman_search_options_creators.rb +0 -12
- data/lib/hammer_cli_katello/host_collection.rb +2 -2
- data/lib/hammer_cli_katello/host_deb.rb +1 -1
- data/lib/hammer_cli_katello/host_errata.rb +1 -1
- data/lib/hammer_cli_katello/host_extensions.rb +5 -5
- data/lib/hammer_cli_katello/host_package.rb +1 -1
- data/lib/hammer_cli_katello/host_traces.rb +17 -0
- data/lib/hammer_cli_katello/hostgroup_extensions.rb +4 -4
- data/lib/hammer_cli_katello/id_resolver.rb +5 -6
- data/lib/hammer_cli_katello/lifecycle_environment.rb +2 -2
- data/lib/hammer_cli_katello/module_stream.rb +8 -8
- data/lib/hammer_cli_katello/organization_options.rb +8 -6
- data/lib/hammer_cli_katello/ostree_branch.rb +2 -2
- data/lib/hammer_cli_katello/package.rb +5 -5
- data/lib/hammer_cli_katello/package_group.rb +4 -4
- data/lib/hammer_cli_katello/ping.rb +2 -9
- data/lib/hammer_cli_katello/product.rb +3 -3
- data/lib/hammer_cli_katello/product_content.rb +2 -2
- data/lib/hammer_cli_katello/repository.rb +6 -37
- data/lib/hammer_cli_katello/repository_set.rb +4 -4
- data/lib/hammer_cli_katello/simple_content_access.rb +40 -0
- data/lib/hammer_cli_katello/srpm.rb +2 -2
- data/lib/hammer_cli_katello/subscription.rb +2 -3
- data/lib/hammer_cli_katello/sync_plan.rb +2 -2
- data/lib/hammer_cli_katello/version.rb +1 -1
- data/test/data/3.18/foreman_api.json +1 -0
- data/test/data/3.19/foreman_api.json +1 -0
- data/test/data/4.0/foreman_api.json +1 -0
- data/test/functional/capsule/content/info_test.rb +1 -2
- data/test/functional/content_credentials/create_test.rb +32 -0
- data/test/functional/{repository → content_credentials}/data/test_cert.json +0 -0
- data/test/functional/content_credentials/list_test.rb +6 -8
- data/test/functional/content_export/complete/library_test.rb +155 -0
- data/test/functional/content_export/complete/version_test.rb +217 -0
- data/test/functional/content_export/content_export_helpers.rb +26 -0
- data/test/functional/content_export/generate_metadata_test.rb +64 -0
- data/test/functional/content_export/incremental/library_test.rb +172 -0
- data/test/functional/content_export/incremental/version_test.rb +268 -0
- data/test/functional/content_export/list_test.rb +64 -0
- data/test/functional/content_import/library_test.rb +85 -0
- data/test/functional/content_import/metadata.json +1 -0
- data/test/functional/content_import/version_test.rb +85 -0
- data/test/functional/content_view/content_view_helpers.rb +3 -1
- data/test/functional/content_view/list_test.rb +0 -2
- data/test/functional/content_view/publish_test.rb +0 -21
- data/test/functional/content_view/version/promote_test.rb +1 -2
- data/test/functional/content_view/version/republish_repositories_test.rb +1 -2
- data/test/functional/host/errata/apply_test.rb +0 -2
- data/test/functional/host/errata/recalculate_test.rb +0 -2
- data/test/functional/host/extensions/update_test.rb +0 -1
- data/test/functional/host/traces/resolve_test.rb +31 -0
- data/test/functional/lifecycle_environment/lifecycle_environment_helpers.rb +1 -1
- data/test/functional/ping_test.rb +1 -2
- data/test/functional/repository/create_test.rb +0 -30
- data/test/functional/repository/info_test.rb +4 -4
- data/test/functional/repository/list_test.rb +0 -2
- data/test/functional/search_helpers.rb +11 -0
- data/test/functional/simple_content_access/disable_test.rb +48 -0
- data/test/functional/simple_content_access/enable_test.rb +46 -0
- data/test/test_helper.rb +1 -1
- metadata +45 -18
- data/lib/hammer_cli_katello/content_view_puppet_module.rb +0 -60
- data/lib/hammer_cli_katello/gpg_key.rb +0 -67
- data/lib/hammer_cli_katello/puppet_module.rb +0 -59
- data/test/functional/content_view/puppet_module/add_test.rb +0 -24
- data/test/functional/content_view/puppet_module/remove_test.rb +0 -54
- data/test/functional/gpg_test.rb +0 -39
- data/test/functional/repository/data/test_ca.json +0 -43
- data/test/functional/repository/data/test_key.json +0 -43
@@ -0,0 +1,25 @@
|
|
1
|
+
module HammerCLIKatello
|
2
|
+
class ContentExportIncremental < HammerCLIKatello::Command
|
3
|
+
desc "Prepare content for an incremental export to a disconnected Katello"
|
4
|
+
resource :content_export_incrementals
|
5
|
+
command_name 'incremental'
|
6
|
+
|
7
|
+
class VersionCommand < HammerCLIKatello::SingleResourceCommand
|
8
|
+
desc _('Performs an incremental export of a content view version')
|
9
|
+
command_name "version"
|
10
|
+
|
11
|
+
include HammerCLIForemanTasks::Async
|
12
|
+
include ContentExportHelper
|
13
|
+
end
|
14
|
+
|
15
|
+
class LibraryCommand < HammerCLIKatello::SingleResourceCommand
|
16
|
+
desc _("Performs an incremental export of the organization's library environment")
|
17
|
+
command_name "library"
|
18
|
+
|
19
|
+
include HammerCLIForemanTasks::Async
|
20
|
+
include ContentExportHelper
|
21
|
+
end
|
22
|
+
|
23
|
+
autoload_subcommands
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module HammerCLIKatello
|
2
|
+
class ContentImport < HammerCLIKatello::Command
|
3
|
+
desc "Import content from a content archive"
|
4
|
+
resource :content_imports
|
5
|
+
|
6
|
+
module ContentImportCommon
|
7
|
+
def self.included(base)
|
8
|
+
base.option "--metadata-file",
|
9
|
+
"METADATA_FILE", _("Location of the metadata.json file. "\
|
10
|
+
"This is not required if the metadata.json file"\
|
11
|
+
" is already in the archive directory."),
|
12
|
+
:attribute_name => :option_metadata_file,
|
13
|
+
:required => false
|
14
|
+
|
15
|
+
base.build_options do |o|
|
16
|
+
o.expand(:all).including(:content_views, :organizations).except(:metadata)
|
17
|
+
end
|
18
|
+
|
19
|
+
base.validate_options do
|
20
|
+
option(:option_path).required
|
21
|
+
|
22
|
+
metadata_file = option(:option_metadata_file).value ||
|
23
|
+
File.join(option(:option_path).value, "metadata.json")
|
24
|
+
unless File.exist?(metadata_file)
|
25
|
+
msg = _("Unable to find '#{metadata_file}'. "\
|
26
|
+
"If the metadata.json file is at a different location "\
|
27
|
+
"provide it to the --metadata-file option ")
|
28
|
+
raise HammerCLI::Options::Validators::ValidationError, msg
|
29
|
+
end
|
30
|
+
end
|
31
|
+
base.success_message _("Archive is being imported in task %{id}.")
|
32
|
+
base.failure_message _("Could not import the archive.")
|
33
|
+
end
|
34
|
+
|
35
|
+
def request_params
|
36
|
+
super.tap do |opts|
|
37
|
+
metadata_file = option_metadata_file || File.join(option_path, "metadata.json")
|
38
|
+
opts["metadata"] = JSON.parse(File.read(metadata_file))
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
class VersionCommand < HammerCLIKatello::SingleResourceCommand
|
44
|
+
desc _('Imports a content archive to a content view version')
|
45
|
+
action :version
|
46
|
+
command_name "version"
|
47
|
+
|
48
|
+
include HammerCLIForemanTasks::Async
|
49
|
+
include ContentImportCommon
|
50
|
+
end
|
51
|
+
|
52
|
+
class LibraryCommand < HammerCLIKatello::SingleResourceCommand
|
53
|
+
desc _("Imports a content archive to an organization's library lifecycle environment")
|
54
|
+
action :library
|
55
|
+
command_name "library"
|
56
|
+
|
57
|
+
include HammerCLIForemanTasks::Async
|
58
|
+
include ContentImportCommon
|
59
|
+
end
|
60
|
+
|
61
|
+
autoload_subcommands
|
62
|
+
end
|
63
|
+
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'hammer_cli_katello/content_view_puppet_module'
|
2
1
|
require 'hammer_cli_katello/content_view_purge'
|
3
2
|
require 'hammer_cli_katello/filter'
|
4
3
|
require 'hammer_cli_katello/content_view_version'
|
@@ -29,13 +28,12 @@ module HammerCLIKatello
|
|
29
28
|
include OrganizationOptions
|
30
29
|
|
31
30
|
output do
|
32
|
-
field :id, _("
|
31
|
+
field :id, _("Id")
|
33
32
|
field :name, _("Name")
|
34
33
|
field :label, _("Label")
|
35
34
|
field :composite, _("Composite")
|
36
35
|
field :description, _("Description")
|
37
36
|
field :content_host_count, _("Content Host Count")
|
38
|
-
field :force_puppet_environment, _("Force Puppet")
|
39
37
|
field :solve_dependencies, _("Solve Dependencies")
|
40
38
|
|
41
39
|
from :organization do
|
@@ -43,43 +41,36 @@ module HammerCLIKatello
|
|
43
41
|
end
|
44
42
|
|
45
43
|
collection :_yum_repositories, _("Yum Repositories") do
|
46
|
-
field :id, _("
|
44
|
+
field :id, _("Id")
|
47
45
|
field :name, _("Name")
|
48
46
|
field :label, _("Label")
|
49
47
|
end
|
50
48
|
|
51
49
|
collection :_docker_repositories, _("Container Image Repositories") do
|
52
|
-
field :id, _("
|
50
|
+
field :id, _("Id")
|
53
51
|
field :name, _("Name")
|
54
52
|
field :label, _("Label")
|
55
53
|
end
|
56
54
|
|
57
55
|
collection :_ostree_repositories, _("OSTree Repositories") do
|
58
|
-
field :id, _("
|
56
|
+
field :id, _("Id")
|
59
57
|
field :name, _("Name")
|
60
58
|
field :label, _("Label")
|
61
59
|
end
|
62
60
|
|
63
|
-
collection :puppet_modules, _("Puppet Modules") do
|
64
|
-
field :id, _("ID")
|
65
|
-
field :uuid, _("UUID"), Fields::Field, :hide_blank => true
|
66
|
-
field :name, _("Name")
|
67
|
-
field :author, _("Author")
|
68
|
-
end
|
69
|
-
|
70
61
|
collection :environments, _("Lifecycle Environments") do
|
71
|
-
field :id, _("
|
62
|
+
field :id, _("Id")
|
72
63
|
field :name, _("Name")
|
73
64
|
end
|
74
65
|
|
75
66
|
collection :versions, _("Versions") do
|
76
|
-
field :id, _("
|
67
|
+
field :id, _("Id")
|
77
68
|
field :version, _("Version")
|
78
69
|
field :published, _("Published"), Fields::Date
|
79
70
|
end
|
80
71
|
|
81
72
|
collection :components, _("Components") do
|
82
|
-
field :id, _("
|
73
|
+
field :id, _("Id")
|
83
74
|
field :name, _("Name")
|
84
75
|
end
|
85
76
|
|
@@ -106,10 +97,12 @@ module HammerCLIKatello
|
|
106
97
|
failure_message _("Could not create the content view")
|
107
98
|
|
108
99
|
option ["--composite"], :flag, _("Create a composite content view")
|
109
|
-
|
100
|
+
option ["--import-only"], :flag, _("Designate this Content View for "\
|
101
|
+
"importing from upstream servers only.")
|
110
102
|
def request_params
|
111
103
|
super.tap do |opts|
|
112
104
|
opts['composite'] = option_composite? || false
|
105
|
+
opts['import_only'] = option_import_only? || false
|
113
106
|
end
|
114
107
|
end
|
115
108
|
|
@@ -244,13 +237,6 @@ module HammerCLIKatello
|
|
244
237
|
action :remove
|
245
238
|
command_name "remove"
|
246
239
|
|
247
|
-
option ["--content-view-version-ids"], "VERSION_IDS",
|
248
|
-
_("Version ids to remove"),
|
249
|
-
:format => HammerCLI::Options::Normalizers::List.new
|
250
|
-
option ["--lifecycle-environment-ids"], "LIFECYCLE_ENVIRONMENT_IDS",
|
251
|
-
_("Environment ids to remove"),
|
252
|
-
:format => HammerCLI::Options::Normalizers::List.new
|
253
|
-
|
254
240
|
def option_sources
|
255
241
|
sources = super
|
256
242
|
sources.find_by_name('IdResolution').insert_relative(
|
@@ -283,10 +269,15 @@ module HammerCLIKatello
|
|
283
269
|
command_name 'add-version'
|
284
270
|
desc _('Add a content view version to a composite view')
|
285
271
|
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
272
|
+
option_family do
|
273
|
+
parent "--content-view-id", "CONTENT_VIEW_ID",
|
274
|
+
_("Content view id to search by"),
|
275
|
+
attribute_name: :option_content_view_id,
|
276
|
+
format: HammerCLI::Options::Normalizers::Number.new
|
277
|
+
child "--content-view", "CONTENT_VIEW_NAME",
|
278
|
+
_("Content view name to search by"),
|
279
|
+
attribute_name: :option_content_view_name
|
280
|
+
end
|
290
281
|
|
291
282
|
validate_options :before, 'IdResolution' do
|
292
283
|
if option(:option_content_view_version_version).exist?
|
@@ -356,10 +347,6 @@ module HammerCLIKatello
|
|
356
347
|
|
357
348
|
autoload_subcommands
|
358
349
|
|
359
|
-
subcommand 'puppet-module',
|
360
|
-
HammerCLIKatello::ContentViewPuppetModule.desc,
|
361
|
-
HammerCLIKatello::ContentViewPuppetModule
|
362
|
-
|
363
350
|
subcommand HammerCLIKatello::Filter.command_name,
|
364
351
|
HammerCLIKatello::Filter.desc,
|
365
352
|
HammerCLIKatello::Filter
|
@@ -10,7 +10,7 @@ module HammerCLIKatello
|
|
10
10
|
include LifecycleEnvironmentNameMapping
|
11
11
|
|
12
12
|
output do
|
13
|
-
field :id, _("
|
13
|
+
field :id, _("Id")
|
14
14
|
field :name, _("Name")
|
15
15
|
field :version, _("Version")
|
16
16
|
field :description, _("Description")
|
@@ -35,7 +35,7 @@ module HammerCLIKatello
|
|
35
35
|
resource :content_view_versions, :show
|
36
36
|
|
37
37
|
output do
|
38
|
-
field :id, _("
|
38
|
+
field :id, _("Id")
|
39
39
|
field :name, _("Name")
|
40
40
|
field :version, _("Version")
|
41
41
|
field :description, _("Description")
|
@@ -47,23 +47,16 @@ module HammerCLIKatello
|
|
47
47
|
end
|
48
48
|
|
49
49
|
collection :environments, _("Lifecycle Environments") do
|
50
|
-
field :id, _("
|
50
|
+
field :id, _("Id")
|
51
51
|
field :name, _("Name")
|
52
52
|
field :label, _("Label")
|
53
53
|
end
|
54
54
|
|
55
55
|
collection :repositories, _("Repositories") do
|
56
|
-
field :id, _("
|
56
|
+
field :id, _("Id")
|
57
57
|
field :name, _("Name")
|
58
58
|
field :label, _("Label")
|
59
59
|
end
|
60
|
-
|
61
|
-
collection :puppet_modules, _("Puppet Modules") do
|
62
|
-
field :id, _("ID")
|
63
|
-
field :name, _("Name")
|
64
|
-
field :author, _("Author")
|
65
|
-
field :version, _("Version")
|
66
|
-
end
|
67
60
|
end
|
68
61
|
|
69
62
|
build_options do |o|
|
@@ -7,7 +7,7 @@ module HammerCLIKatello
|
|
7
7
|
include LifecycleEnvironmentNameMapping
|
8
8
|
|
9
9
|
output do
|
10
|
-
field :id, _("
|
10
|
+
field :id, _("Id")
|
11
11
|
field :filename, _("Filename")
|
12
12
|
end
|
13
13
|
|
@@ -43,9 +43,9 @@ module HammerCLIKatello
|
|
43
43
|
|
44
44
|
class InfoCommand < HammerCLIKatello::InfoCommand
|
45
45
|
output do
|
46
|
-
field :id, _("
|
46
|
+
field :id, _("Id")
|
47
47
|
field :pulp_id, _("Pulp ID")
|
48
|
-
field :uuid, _("
|
48
|
+
field :uuid, _("Uuid")
|
49
49
|
field :name, _("Name")
|
50
50
|
field :version, _("Version")
|
51
51
|
field :checksum, _("checksum")
|
@@ -7,7 +7,7 @@ module HammerCLIKatello
|
|
7
7
|
field :version, _("Version")
|
8
8
|
field :description, _("Description")
|
9
9
|
field :status, _("Status")
|
10
|
-
field :id, _("
|
10
|
+
field :id, _("Id")
|
11
11
|
field :errata_id, _("Errata ID")
|
12
12
|
field :reboot_suggested, _("Reboot Suggested")
|
13
13
|
field :updated, _("Updated")
|
@@ -8,7 +8,7 @@ module HammerCLIKatello
|
|
8
8
|
validate_repo_name_requires_product_options(:option_repository_name)
|
9
9
|
|
10
10
|
output do
|
11
|
-
field :id, _("
|
11
|
+
field :id, _("Id")
|
12
12
|
field :name, _("Name")
|
13
13
|
field :path, _("Path")
|
14
14
|
end
|
@@ -28,10 +28,10 @@ module HammerCLIKatello
|
|
28
28
|
|
29
29
|
class InfoCommand < HammerCLIKatello::InfoCommand
|
30
30
|
output do
|
31
|
-
field :id, _("
|
31
|
+
field :id, _("Id")
|
32
32
|
field :name, _("Name")
|
33
33
|
field :path, _("Path")
|
34
|
-
field :uuid, _("
|
34
|
+
field :uuid, _("Uuid")
|
35
35
|
field :checksum, _("Checksum")
|
36
36
|
end
|
37
37
|
|
@@ -34,13 +34,13 @@ module HammerCLIKatello
|
|
34
34
|
field :description, _("Description")
|
35
35
|
|
36
36
|
collection :repositories, _("Repositories") do
|
37
|
-
field :id, _("
|
37
|
+
field :id, _("Id")
|
38
38
|
field :name, _("Name")
|
39
39
|
field :label, _("Label")
|
40
40
|
end
|
41
41
|
|
42
42
|
collection :rules, _("Rules") do
|
43
|
-
field :id, _("
|
43
|
+
field :id, _("Id")
|
44
44
|
field :name, _("Name"), Fields::Field, :hide_blank => true
|
45
45
|
field :version, _("Version"), Fields::Field, :hide_blank => true
|
46
46
|
field :min_version, _("Minimum Version"), Fields::Field, :hide_blank => true
|
@@ -48,18 +48,6 @@ module HammerCLIKatello
|
|
48
48
|
create_search_options_without_katello_api(options, api.resource(:ptables), mode)
|
49
49
|
end
|
50
50
|
|
51
|
-
def create_puppet_ca_proxies_search_options(options, mode = nil)
|
52
|
-
create_search_options_without_katello_api(options, api.resource(:puppet_ca_proxies), mode)
|
53
|
-
end
|
54
|
-
|
55
|
-
def create_puppet_proxies_search_options(options, mode = nil)
|
56
|
-
create_search_options_without_katello_api(options, api.resource(:puppet_proxies), mode)
|
57
|
-
end
|
58
|
-
|
59
|
-
def create_puppetclasses_search_options(options, mode = nil)
|
60
|
-
create_search_options_without_katello_api(options, api.resource(:puppetclasses), mode)
|
61
|
-
end
|
62
|
-
|
63
51
|
def create_subnets_search_options(options, mode = nil)
|
64
52
|
create_search_options_without_katello_api(options, api.resource(:subnets), mode)
|
65
53
|
end
|
@@ -28,7 +28,7 @@ module HammerCLIKatello
|
|
28
28
|
resource :host_collections, :index
|
29
29
|
|
30
30
|
output do
|
31
|
-
field :id, _("
|
31
|
+
field :id, _("Id")
|
32
32
|
field :name, _("Name")
|
33
33
|
field :_limit, _("Limit")
|
34
34
|
field :description, _("Description")
|
@@ -99,7 +99,7 @@ module HammerCLIKatello
|
|
99
99
|
end
|
100
100
|
|
101
101
|
output do
|
102
|
-
field :id, _("
|
102
|
+
field :id, _("Id")
|
103
103
|
field :name, _("Name")
|
104
104
|
from :content_facet_attributes do
|
105
105
|
from :errata_counts do
|
@@ -41,22 +41,22 @@ module HammerCLIKatello
|
|
41
41
|
label _('Content Information') do
|
42
42
|
from :content_facet_attributes do
|
43
43
|
label _("Content View") do
|
44
|
-
field :content_view_id, _("
|
44
|
+
field :content_view_id, _("Id")
|
45
45
|
field :content_view_name, _("Name")
|
46
46
|
end
|
47
47
|
|
48
48
|
label _("Lifecycle Environment") do
|
49
|
-
field :lifecycle_environment_id, _("
|
49
|
+
field :lifecycle_environment_id, _("Id")
|
50
50
|
field :lifecycle_environment_name, _("Name")
|
51
51
|
end
|
52
52
|
|
53
53
|
label _("Content Source") do
|
54
|
-
field :content_source_id, _("
|
54
|
+
field :content_source_id, _("Id")
|
55
55
|
field :content_source_name, _("Name")
|
56
56
|
end
|
57
57
|
|
58
58
|
label _("Kickstart Repository") do
|
59
|
-
field :kickstart_repository_id, _("
|
59
|
+
field :kickstart_repository_id, _("Id")
|
60
60
|
field :kickstart_repository_name, _("Name")
|
61
61
|
end
|
62
62
|
|
@@ -75,7 +75,7 @@ module HammerCLIKatello
|
|
75
75
|
|
76
76
|
label _('Subscription Information') do
|
77
77
|
from :subscription_facet_attributes do
|
78
|
-
field :uuid, _('
|
78
|
+
field :uuid, _('Uuid')
|
79
79
|
field :last_checkin, _('Last Checkin')
|
80
80
|
field :release_version, _('Release Version')
|
81
81
|
field :autoheal, _('Autoheal')
|