hammer_cli_katello 0.24.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hammer_cli_katello.rb +24 -15
  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 +78 -0
  13. data/lib/hammer_cli_katello/content_view.rb +19 -32
  14. data/lib/hammer_cli_katello/content_view_version.rb +4 -290
  15. data/lib/hammer_cli_katello/deb_package.rb +3 -3
  16. data/lib/hammer_cli_katello/docker.rb +13 -0
  17. data/lib/hammer_cli_katello/docker_manifest.rb +53 -0
  18. data/lib/hammer_cli_katello/docker_tag.rb +40 -0
  19. data/lib/hammer_cli_katello/erratum.rb +1 -1
  20. data/lib/hammer_cli_katello/erratum_info_command.rb +1 -1
  21. data/lib/hammer_cli_katello/file.rb +3 -3
  22. data/lib/hammer_cli_katello/filter.rb +2 -2
  23. data/lib/hammer_cli_katello/foreman_search_options_creators.rb +0 -12
  24. data/lib/hammer_cli_katello/host_collection.rb +2 -2
  25. data/lib/hammer_cli_katello/host_deb.rb +1 -1
  26. data/lib/hammer_cli_katello/host_errata.rb +1 -1
  27. data/lib/hammer_cli_katello/host_extensions.rb +5 -5
  28. data/lib/hammer_cli_katello/host_package.rb +1 -1
  29. data/lib/hammer_cli_katello/hostgroup_extensions.rb +4 -4
  30. data/lib/hammer_cli_katello/id_resolver.rb +8 -7
  31. data/lib/hammer_cli_katello/lifecycle_environment.rb +2 -2
  32. data/lib/hammer_cli_katello/module_stream.rb +8 -8
  33. data/lib/hammer_cli_katello/organization.rb +10 -0
  34. data/lib/hammer_cli_katello/organization_options.rb +8 -6
  35. data/lib/hammer_cli_katello/ostree_branch.rb +2 -2
  36. data/lib/hammer_cli_katello/package.rb +5 -5
  37. data/lib/hammer_cli_katello/package_group.rb +4 -4
  38. data/lib/hammer_cli_katello/ping.rb +13 -19
  39. data/lib/hammer_cli_katello/product.rb +3 -3
  40. data/lib/hammer_cli_katello/product_content.rb +2 -2
  41. data/lib/hammer_cli_katello/repository.rb +27 -37
  42. data/lib/hammer_cli_katello/repository_set.rb +4 -4
  43. data/lib/hammer_cli_katello/simple_content_access.rb +42 -0
  44. data/lib/hammer_cli_katello/srpm.rb +2 -2
  45. data/lib/hammer_cli_katello/subscription.rb +2 -3
  46. data/lib/hammer_cli_katello/sync_plan.rb +2 -2
  47. data/lib/hammer_cli_katello/version.rb +1 -1
  48. data/locale/hammer-cli-katello.pot +0 -25
  49. data/test/data/3.19/foreman_api.json +1 -0
  50. data/test/data/4.0/foreman_api.json +1 -0
  51. data/test/data/4.1/foreman_api.json +1 -0
  52. data/test/functional/activation_key/subscriptions_test.rb +5 -2
  53. data/test/functional/capsule/content/info_test.rb +1 -2
  54. data/test/functional/content_credentials/create_test.rb +32 -0
  55. data/test/functional/{repository → content_credentials}/data/test_cert.json +0 -0
  56. data/test/functional/content_credentials/list_test.rb +6 -8
  57. data/test/functional/content_export/complete/library_test.rb +155 -0
  58. data/test/functional/content_export/complete/version_test.rb +217 -0
  59. data/test/functional/content_export/content_export_helpers.rb +26 -0
  60. data/test/functional/content_export/generate_metadata_test.rb +64 -0
  61. data/test/functional/content_export/incremental/library_test.rb +172 -0
  62. data/test/functional/content_export/incremental/version_test.rb +268 -0
  63. data/test/functional/content_export/list_test.rb +64 -0
  64. data/test/functional/content_import/library_test.rb +85 -0
  65. data/test/functional/content_import/list_test.rb +65 -0
  66. data/test/functional/content_import/metadata.json +1 -0
  67. data/test/functional/content_import/version_test.rb +85 -0
  68. data/test/functional/content_view/content_view_helpers.rb +3 -1
  69. data/test/functional/content_view/list_test.rb +0 -2
  70. data/test/functional/content_view/publish_test.rb +0 -21
  71. data/test/functional/content_view/version/promote_test.rb +1 -2
  72. data/test/functional/content_view/version/republish_repositories_test.rb +1 -2
  73. data/test/functional/host/errata/apply_test.rb +0 -2
  74. data/test/functional/host/errata/recalculate_test.rb +0 -2
  75. data/test/functional/lifecycle_environment/lifecycle_environment_helpers.rb +1 -1
  76. data/test/functional/organization/info_test.rb +22 -0
  77. data/test/functional/ping_test.rb +52 -15
  78. data/test/functional/repository/create_test.rb +0 -30
  79. data/test/functional/repository/info_test.rb +4 -4
  80. data/test/functional/repository/list_test.rb +0 -2
  81. data/test/functional/search_helpers.rb +11 -0
  82. data/test/functional/simple_content_access/disable_test.rb +48 -0
  83. data/test/functional/simple_content_access/enable_test.rb +46 -0
  84. data/test/test_helper.rb +1 -1
  85. metadata +50 -56
  86. data/lib/hammer_cli_katello/content_view_puppet_module.rb +0 -60
  87. data/lib/hammer_cli_katello/cv_import_export_helper.rb +0 -166
  88. data/lib/hammer_cli_katello/gpg_key.rb +0 -67
  89. data/lib/hammer_cli_katello/puppet_module.rb +0 -59
  90. data/test/functional/content_view/puppet_module/add_test.rb +0 -24
  91. data/test/functional/content_view/puppet_module/remove_test.rb +0 -54
  92. data/test/functional/content_view/version/default_export_test.rb +0 -40
  93. data/test/functional/content_view/version/export_histories_test.rb +0 -34
  94. data/test/functional/content_view/version/export_test.rb +0 -136
  95. data/test/functional/content_view/version/import_test.rb +0 -318
  96. data/test/functional/gpg_test.rb +0 -39
  97. data/test/functional/repository/data/test_ca.json +0 -43
  98. data/test/functional/repository/data/test_key.json +0 -43
@@ -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")
@@ -0,0 +1,13 @@
1
+ module HammerCLIKatello
2
+ class DockerCommand < HammerCLI::AbstractCommand
3
+ require 'hammer_cli_katello/docker_manifest'
4
+ subcommand 'manifest',
5
+ HammerCLIKatello::DockerManifestCommand.desc,
6
+ HammerCLIKatello::DockerManifestCommand
7
+
8
+ require 'hammer_cli_katello/docker_tag'
9
+ subcommand 'tag',
10
+ HammerCLIKatello::DockerTagCommand.desc,
11
+ HammerCLIKatello::DockerTagCommand
12
+ end
13
+ end
@@ -0,0 +1,53 @@
1
+ module HammerCLIKatello
2
+ class DockerManifestCommand < HammerCLIForeman::Command
3
+ resource :docker_manifests
4
+ command_name 'manifest'
5
+ desc _('Manage docker manifests')
6
+
7
+ class ListCommand < HammerCLIKatello::ListCommand
8
+ include HammerCLIKatello::LifecycleEnvironmentNameMapping
9
+
10
+ output do
11
+ field :id, _("ID")
12
+ field :name, _("Name")
13
+ field :schema_version, _("Schema Version")
14
+ field :digest, _("Digest")
15
+ field :downloaded, _("Downloaded"), Fields::Boolean
16
+ field :_tags, _("Tags")
17
+ end
18
+
19
+ def extend_data(manifest)
20
+ manifest['_tags'] = manifest['tags'].map { |e| e["name"] }.join(", ")
21
+ manifest
22
+ end
23
+
24
+ build_options do |o|
25
+ o.expand.including(:products, :organizations, :content_views)
26
+ end
27
+
28
+ extend_with(HammerCLIKatello::CommandExtensions::LifecycleEnvironment.new)
29
+ end
30
+
31
+ class InfoCommand < HammerCLIKatello::InfoCommand
32
+ output do
33
+ field :id, _("ID")
34
+ field :name, _("Name")
35
+ field :schema_version, _("Schema Version")
36
+ field :digest, _("Digest")
37
+ field :downloaded, _("Downloaded"), Fields::Boolean
38
+ collection :tags, _("Tags") do
39
+ field :name, _("Name")
40
+ end
41
+ end
42
+
43
+ def extend_data(manifest)
44
+ manifest['_tags'] = manifest['tags'].map { |e| { name: e["name"] } }.join(", ")
45
+ manifest
46
+ end
47
+
48
+ build_options
49
+ end
50
+
51
+ autoload_subcommands
52
+ end
53
+ end
@@ -0,0 +1,40 @@
1
+ module HammerCLIKatello
2
+ class DockerTagCommand < HammerCLIForeman::Command
3
+ resource :docker_tags
4
+ command_name 'tag'
5
+ desc _('Manage docker tags')
6
+
7
+ class ListCommand < HammerCLIKatello::ListCommand
8
+ include HammerCLIKatello::LifecycleEnvironmentNameMapping
9
+
10
+ output do
11
+ field :id, _("ID")
12
+ field :name, _("Tag")
13
+ field :repository_id, _("Repository ID")
14
+ end
15
+
16
+ build_options do |o|
17
+ o.expand.including(:products, :organizations, :content_views)
18
+ end
19
+
20
+ extend_with(HammerCLIKatello::CommandExtensions::LifecycleEnvironment.new)
21
+ end
22
+
23
+ class InfoCommand < HammerCLIKatello::InfoCommand
24
+ output do
25
+ field :id, _("ID")
26
+ field :name, _("Tag")
27
+ field :repository_id, _("Repository ID")
28
+
29
+ from :manifest do
30
+ field :id, _("Docker Manifest ID")
31
+ field :name, _("Docker Manifest Name")
32
+ end
33
+ end
34
+
35
+ build_options
36
+ end
37
+
38
+ autoload_subcommands
39
+ end
40
+ end
@@ -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
@@ -45,22 +45,22 @@ module HammerCLIKatello
45
45
  ::HammerCLIForeman::Hostgroup::InfoCommand.instance_eval do
46
46
  output do
47
47
  label _("Content View") do
48
- field :content_view_id, _("ID")
48
+ field :content_view_id, _("Id")
49
49
  field :content_view_name, _("Name")
50
50
  end
51
51
 
52
52
  label _("Lifecycle Environment") do
53
- field :lifecycle_environment_id, _("ID")
53
+ field :lifecycle_environment_id, _("Id")
54
54
  field :lifecycle_environment_name, _("Name")
55
55
  end
56
56
 
57
57
  label _("Content Source") do
58
- field :content_source_id, _("ID")
58
+ field :content_source_id, _("Id")
59
59
  field :content_source_name, _("Name")
60
60
  end
61
61
 
62
62
  label _("Kickstart Repository") do
63
- field :kickstart_repository_id, _("ID")
63
+ field :kickstart_repository_id, _("Id")
64
64
  field :kickstart_repository_name, _("Name")
65
65
  end
66
66
  end
@@ -28,12 +28,9 @@ module HammerCLIKatello
28
28
  :subscription => [s_name(_("Subscription name to search by"))],
29
29
  :sync_plan => [s_name(_("Sync plan name to search by"))],
30
30
  :task => [s_name(_("Task name to search by"))],
31
- :content_view_puppet_module => [
32
- s_name(_("Puppet module name to search by")),
33
- s("author", _("Puppet module's author to search by")),
34
- s("uuid", _("Puppet module's UUID to search by"))
35
- ],
36
- :content_view_version => [s("version", _("Content view version number"))]
31
+ :content_view_version => [s("version", _("Content view version number"))],
32
+ :content_export => [],
33
+ :content_import => []
37
34
  }.freeze
38
35
 
39
36
  DEFAULT_SEARCHABLES = [s_name(_("Name to search by"))].freeze
@@ -117,6 +114,7 @@ module HammerCLIKatello
117
114
  end
118
115
  end
119
116
 
117
+ # rubocop:disable Style/EmptyElse
120
118
  def content_view_version_id(options)
121
119
  key_id = HammerCLI.option_accessor_name("id")
122
120
  key_content_view_id = HammerCLI.option_accessor_name("content_view_id")
@@ -129,6 +127,8 @@ module HammerCLIKatello
129
127
  results = find_resources(:content_view_versions, options)
130
128
  options[from_environment_id] ||= from_lifecycle_environment_id(options)
131
129
 
130
+ return pick_result(results, @api.resource(:content_view_versions))['id'] if results.size == 1
131
+
132
132
  if results.size > 1 && options[from_environment_id]
133
133
  results_in_from_environment = results.select do |version|
134
134
  member_of_environment_ids = version['environments'].map { |env| env['id'].to_s }
@@ -137,9 +137,10 @@ module HammerCLIKatello
137
137
  results_in_from_environment
138
138
  .sort { |a, b| a['version'].to_f <=> b['version'].to_f }.last['id']
139
139
  else
140
- pick_result(results, @api.resource(:content_view_versions))['id']
140
+ nil
141
141
  end
142
142
  end
143
+ # rubocop:enable Style/EmptyElse
143
144
 
144
145
  private
145
146
 
@@ -29,7 +29,7 @@ module HammerCLIKatello
29
29
 
30
30
  class ListCommand < HammerCLIKatello::ListCommand
31
31
  output do
32
- field :id, _("ID")
32
+ field :id, _("Id")
33
33
  field :name, _("Name")
34
34
  from :prior do
35
35
  field :name, _("Prior")
@@ -57,7 +57,7 @@ module HammerCLIKatello
57
57
 
58
58
  class InfoCommand < HammerCLIKatello::InfoCommand
59
59
  output do
60
- field :id, _("ID")
60
+ field :id, _("Id")
61
61
  field :name, _("Name")
62
62
  field :label, _("Label")
63
63
  field :description, _("Description")
@@ -10,10 +10,10 @@ 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 :name, _("Module Stream Name")
15
15
  field :stream, _("Stream")
16
- field :uuid, _("UUID")
16
+ field :uuid, _("Uuid")
17
17
  field :version, _("Version")
18
18
  field :arch, _("Architecture")
19
19
  field :context, _("Context")
@@ -30,30 +30,30 @@ module HammerCLIKatello
30
30
  validate_repo_name_requires_product_options(:option_repository_name)
31
31
 
32
32
  output do
33
- field :id, _("ID")
33
+ field :id, _("Id")
34
34
  field :name, _("Module Stream Name")
35
35
  field :stream, _("Stream")
36
- field :uuid, _("UUID")
36
+ field :uuid, _("Uuid")
37
37
  field :version, _("Version")
38
38
  field :arch, _("Architecture")
39
39
  field :context, _("Context")
40
40
 
41
41
  collection :repositories, _("Repositories") do
42
- field :id, _("ID")
42
+ field :id, _("Id")
43
43
  field :name, _("Name")
44
44
  field :label, _("Label")
45
45
  end
46
46
 
47
47
  collection :artifacts, _("Artifacts") do
48
- field :id, _("ID")
48
+ field :id, _("Id")
49
49
  field :name, _("Name")
50
50
  end
51
51
 
52
52
  collection :profiles, _("Profiles") do
53
- field :id, _("ID")
53
+ field :id, _("Id")
54
54
  field :name, _("Name")
55
55
  collection :rpms, _("RPMs") do
56
- field :id, _("ID")
56
+ field :id, _("Id")
57
57
  field :name, _("Name")
58
58
  end
59
59
  end
@@ -21,9 +21,19 @@ module HammerCLIKatello
21
21
  field :label, _("Label")
22
22
  field :description, _("Description")
23
23
  field :redhat_repository_url, _("Red Hat Repository URL")
24
+ field :simple_content_access_label, _("Simple Content Access")
24
25
  field :service_levels, _("Service Levels"), Fields::List
25
26
  end
26
27
 
28
+ def extend_data(data)
29
+ data["simple_content_access_label"] = if data["simple_content_access"]
30
+ _("Enabled")
31
+ else
32
+ _("Disabled")
33
+ end
34
+ data
35
+ end
36
+
27
37
  build_options
28
38
  end
29
39