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.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hammer_cli_katello.rb +20 -16
  3. data/lib/hammer_cli_katello/activation_key.rb +5 -5
  4. data/lib/hammer_cli_katello/capsule.rb +2 -3
  5. data/lib/hammer_cli_katello/command_extensions/lifecycle_environment.rb +10 -7
  6. data/lib/hammer_cli_katello/command_extensions/lifecycle_environments.rb +11 -8
  7. data/lib/hammer_cli_katello/content_credential.rb +20 -19
  8. data/lib/hammer_cli_katello/content_export.rb +73 -0
  9. data/lib/hammer_cli_katello/content_export_complete.rb +25 -0
  10. data/lib/hammer_cli_katello/content_export_helper.rb +181 -0
  11. data/lib/hammer_cli_katello/content_export_incremental.rb +25 -0
  12. data/lib/hammer_cli_katello/content_import.rb +63 -0
  13. data/lib/hammer_cli_katello/content_view.rb +19 -32
  14. data/lib/hammer_cli_katello/content_view_version.rb +4 -11
  15. data/lib/hammer_cli_katello/deb_package.rb +3 -3
  16. data/lib/hammer_cli_katello/erratum.rb +1 -1
  17. data/lib/hammer_cli_katello/erratum_info_command.rb +1 -1
  18. data/lib/hammer_cli_katello/file.rb +3 -3
  19. data/lib/hammer_cli_katello/filter.rb +2 -2
  20. data/lib/hammer_cli_katello/foreman_search_options_creators.rb +0 -12
  21. data/lib/hammer_cli_katello/host_collection.rb +2 -2
  22. data/lib/hammer_cli_katello/host_deb.rb +1 -1
  23. data/lib/hammer_cli_katello/host_errata.rb +1 -1
  24. data/lib/hammer_cli_katello/host_extensions.rb +5 -5
  25. data/lib/hammer_cli_katello/host_package.rb +1 -1
  26. data/lib/hammer_cli_katello/host_traces.rb +17 -0
  27. data/lib/hammer_cli_katello/hostgroup_extensions.rb +4 -4
  28. data/lib/hammer_cli_katello/id_resolver.rb +5 -6
  29. data/lib/hammer_cli_katello/lifecycle_environment.rb +2 -2
  30. data/lib/hammer_cli_katello/module_stream.rb +8 -8
  31. data/lib/hammer_cli_katello/organization_options.rb +8 -6
  32. data/lib/hammer_cli_katello/ostree_branch.rb +2 -2
  33. data/lib/hammer_cli_katello/package.rb +5 -5
  34. data/lib/hammer_cli_katello/package_group.rb +4 -4
  35. data/lib/hammer_cli_katello/ping.rb +2 -9
  36. data/lib/hammer_cli_katello/product.rb +3 -3
  37. data/lib/hammer_cli_katello/product_content.rb +2 -2
  38. data/lib/hammer_cli_katello/repository.rb +6 -37
  39. data/lib/hammer_cli_katello/repository_set.rb +4 -4
  40. data/lib/hammer_cli_katello/simple_content_access.rb +40 -0
  41. data/lib/hammer_cli_katello/srpm.rb +2 -2
  42. data/lib/hammer_cli_katello/subscription.rb +2 -3
  43. data/lib/hammer_cli_katello/sync_plan.rb +2 -2
  44. data/lib/hammer_cli_katello/version.rb +1 -1
  45. data/test/data/3.18/foreman_api.json +1 -0
  46. data/test/data/3.19/foreman_api.json +1 -0
  47. data/test/data/4.0/foreman_api.json +1 -0
  48. data/test/functional/capsule/content/info_test.rb +1 -2
  49. data/test/functional/content_credentials/create_test.rb +32 -0
  50. data/test/functional/{repository → content_credentials}/data/test_cert.json +0 -0
  51. data/test/functional/content_credentials/list_test.rb +6 -8
  52. data/test/functional/content_export/complete/library_test.rb +155 -0
  53. data/test/functional/content_export/complete/version_test.rb +217 -0
  54. data/test/functional/content_export/content_export_helpers.rb +26 -0
  55. data/test/functional/content_export/generate_metadata_test.rb +64 -0
  56. data/test/functional/content_export/incremental/library_test.rb +172 -0
  57. data/test/functional/content_export/incremental/version_test.rb +268 -0
  58. data/test/functional/content_export/list_test.rb +64 -0
  59. data/test/functional/content_import/library_test.rb +85 -0
  60. data/test/functional/content_import/metadata.json +1 -0
  61. data/test/functional/content_import/version_test.rb +85 -0
  62. data/test/functional/content_view/content_view_helpers.rb +3 -1
  63. data/test/functional/content_view/list_test.rb +0 -2
  64. data/test/functional/content_view/publish_test.rb +0 -21
  65. data/test/functional/content_view/version/promote_test.rb +1 -2
  66. data/test/functional/content_view/version/republish_repositories_test.rb +1 -2
  67. data/test/functional/host/errata/apply_test.rb +0 -2
  68. data/test/functional/host/errata/recalculate_test.rb +0 -2
  69. data/test/functional/host/extensions/update_test.rb +0 -1
  70. data/test/functional/host/traces/resolve_test.rb +31 -0
  71. data/test/functional/lifecycle_environment/lifecycle_environment_helpers.rb +1 -1
  72. data/test/functional/ping_test.rb +1 -2
  73. data/test/functional/repository/create_test.rb +0 -30
  74. data/test/functional/repository/info_test.rb +4 -4
  75. data/test/functional/repository/list_test.rb +0 -2
  76. data/test/functional/search_helpers.rb +11 -0
  77. data/test/functional/simple_content_access/disable_test.rb +48 -0
  78. data/test/functional/simple_content_access/enable_test.rb +46 -0
  79. data/test/test_helper.rb +1 -1
  80. metadata +45 -18
  81. data/lib/hammer_cli_katello/content_view_puppet_module.rb +0 -60
  82. data/lib/hammer_cli_katello/gpg_key.rb +0 -67
  83. data/lib/hammer_cli_katello/puppet_module.rb +0 -59
  84. data/test/functional/content_view/puppet_module/add_test.rb +0 -24
  85. data/test/functional/content_view/puppet_module/remove_test.rb +0 -54
  86. data/test/functional/gpg_test.rb +0 -39
  87. data/test/functional/repository/data/test_ca.json +0 -43
  88. 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, _("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, _("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, _("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, _("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, _("ID")
62
+ field :id, _("Id")
72
63
  field :name, _("Name")
73
64
  end
74
65
 
75
66
  collection :versions, _("Versions") do
76
- field :id, _("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, _("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
- option "--content-view-id", "CONTENT_VIEW_ID",
287
- _("Content view numeric identifier to search by"),
288
- attribute_name: :option_content_view_id,
289
- format: HammerCLI::Options::Normalizers::Number.new
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, _("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, _("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, _("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, _("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, _("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, _("ID")
46
+ field :id, _("Id")
47
47
  field :pulp_id, _("Pulp ID")
48
- field :uuid, _("UUID")
48
+ field :uuid, _("Uuid")
49
49
  field :name, _("Name")
50
50
  field :version, _("Version")
51
51
  field :checksum, _("checksum")
@@ -10,7 +10,7 @@ module HammerCLIKatello
10
10
  validate_repo_name_requires_product_options(:option_repository_name)
11
11
 
12
12
  output do
13
- field :id, _("ID")
13
+ field :id, _("Id")
14
14
  field :errata_id, _("Errata ID")
15
15
  field :type, _("Type")
16
16
  field :title, _("Title")
@@ -7,7 +7,7 @@ module HammerCLIKatello
7
7
  field :version, _("Version")
8
8
  field :description, _("Description")
9
9
  field :status, _("Status")
10
- field :id, _("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, _("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, _("ID")
31
+ field :id, _("Id")
32
32
  field :name, _("Name")
33
33
  field :path, _("Path")
34
- field :uuid, _("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, _("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, _("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, _("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, _("ID")
102
+ field :id, _("Id")
103
103
  field :name, _("Name")
104
104
  from :content_facet_attributes do
105
105
  from :errata_counts do
@@ -6,7 +6,7 @@ module HammerCLIKatello
6
6
  resource :host_debs, :index
7
7
 
8
8
  output do
9
- field :id, _("ID")
9
+ field :id, _("Id")
10
10
  field :name, _("Name")
11
11
  field :version, _("Version")
12
12
  field :architecture, _("Arch")
@@ -21,7 +21,7 @@ module HammerCLIKatello
21
21
  command_name "list"
22
22
 
23
23
  output do
24
- field :id, _("ID")
24
+ field :id, _("Id")
25
25
  field :errata_id, _("Erratum ID")
26
26
  field :type, _("Type")
27
27
  field :title, _("Title")
@@ -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, _("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, _("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, _("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, _("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, _('UUID')
78
+ field :uuid, _('Uuid')
79
79
  field :last_checkin, _('Last Checkin')
80
80
  field :release_version, _('Release Version')
81
81
  field :autoheal, _('Autoheal')
@@ -6,7 +6,7 @@ module HammerCLIKatello
6
6
  resource :host_packages, :index
7
7
 
8
8
  output do
9
- field :nvra, _("NVRA")
9
+ field :nvra, _("Nvra")
10
10
  end
11
11
 
12
12
  build_options