katello 3.5.1.1 → 3.5.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of katello might be problematic. Click here for more details.

Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/app/lib/actions/katello/repository/clear.rb +1 -0
  3. data/app/lib/actions/katello/repository/clone_to_environment.rb +2 -1
  4. data/app/lib/actions/katello/repository/clone_yum_metadata.rb +28 -0
  5. data/app/lib/actions/katello/repository/sync.rb +4 -1
  6. data/app/lib/actions/pulp/repository/remove_yum_metadata_file.rb +11 -0
  7. data/app/lib/katello/resources/candlepin.rb +3 -2
  8. data/app/models/katello/authorization/content_view_history.rb +0 -1
  9. data/app/models/katello/authorization/pool.rb +0 -2
  10. data/app/models/katello/authorization/repository.rb +0 -2
  11. data/app/models/katello/glue/pulp/repo.rb +4 -0
  12. data/app/models/katello/host/subscription_facet.rb +1 -1
  13. data/app/models/katello/repository.rb +1 -1
  14. data/app/views/foreman/unattended/kickstart-katello.erb +4 -0
  15. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +4 -1
  16. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +2 -2
  17. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +8 -8
  18. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +14 -4
  19. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-content-hosts.controller.js +22 -8
  20. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html +3 -3
  21. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/incremental-update.service.js +3 -2
  22. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +17 -6
  23. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-details.controller.js +1 -1
  24. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +1 -1
  25. data/lib/katello/version.rb +1 -1
  26. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 58fe4c573c3d98f121ceaf5e70a9f66d997e1d23
4
- data.tar.gz: 7158cda305566eeca84c46d165c6f851e98d7bfc
3
+ metadata.gz: bf8e8e75ea66a068954c0f1c81c467d8502b581d
4
+ data.tar.gz: 107669c4de9f0cab916fd4bc4c3c805d3ac06f06
5
5
  SHA512:
6
- metadata.gz: 55958b5b84e983b6e208cdf75bddebd7e0d54c3528f0d55642ef0356ffaedb3345e4d4a3b338c6d992410d92025686d967f3f7b89196978fccc31c93bec9230e
7
- data.tar.gz: b493dc0e535f9077115062340bad57acf19bb46a6dc9e2477aba5f9c21d94ad378ba1e00650330ba28c27f7cb6adbb0b0c6385dd114544d57713312209c27ea1
6
+ metadata.gz: e5f7a21ec394886599dc847e2e8da9caaee88ab41d6efaaa287b824ca2b9f941aa72141290527c10ea7ab8316201c423b29d75353e0e55ee00d380eabaf3de0c
7
+ data.tar.gz: 73a610d722cd161c032e659c37948786c107d52ff1f31548abc08d9b605d527badf22228f1e0d92e6c2387b9efc3c523f6266892ed363001539248459baf6b0d
@@ -7,6 +7,7 @@ module Actions
7
7
  Pulp::Repository::RemoveErrata,
8
8
  Pulp::Repository::RemovePackageGroup,
9
9
  Pulp::Repository::RemoveDistribution,
10
+ Pulp::Repository::RemoveYumMetadataFile,
10
11
  Pulp::Repository::RemoveFile,
11
12
  Pulp::Repository::RemovePuppetModule,
12
13
  Pulp::Repository::RemoveDockerManifest].each do |action_class|
@@ -11,7 +11,8 @@ module Actions
11
11
  if clone.new_record?
12
12
  plan_action(Repository::Create, clone, true, false)
13
13
  else
14
- plan_action(Repository::Clear, clone)
14
+ #only clear if it should be empty, but its not
15
+ plan_action(Repository::Clear, clone) if (!clone.yum? || !clone.empty_in_pulp?)
15
16
  clone.copy_library_instance_attributes
16
17
  clone.save!
17
18
 
@@ -0,0 +1,28 @@
1
+ module Actions
2
+ module Katello
3
+ module Repository
4
+ class CloneYumMetadata < Actions::Base
5
+ def plan(source_repo, target_repo, options = {})
6
+ sequence do
7
+ # Check for matching content before indexing happens, the content in pulp is
8
+ # actually updated, but it is not reflected in the database yet.
9
+ output = {}
10
+ if !target_repo.previous_changes.include?(:unprotected) &&
11
+ target_repo.environment && !options[:force_yum_metadata_regeneration]
12
+ output = plan_action(Katello::Repository::CheckMatchingContent,
13
+ :source_repo_id => source_repo.id,
14
+ :target_repo_id => target_repo.id).output
15
+ end
16
+
17
+ plan_action(Katello::Repository::IndexContent, id: target_repo.id)
18
+
19
+ plan_action(Katello::Repository::MetadataGenerate,
20
+ target_repo,
21
+ :source_repository => source_repo,
22
+ :matching_content => output[:matching_content])
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -15,7 +15,7 @@ module Actions
15
15
  # @param repo
16
16
  # @param pulp_sync_task_id in case the sync was triggered outside
17
17
  # of Katello and we just need to finish the rest of the orchestration
18
- def plan(repo, pulp_sync_task_id = nil, options = {})
18
+ def plan(repo, pulp_sync_task_id = nil, options = {}) # rubocop:disable MethodLength
19
19
  action_subject(repo)
20
20
 
21
21
  source_url = options.fetch(:source_url, nil)
@@ -34,6 +34,9 @@ module Actions
34
34
  fail ::Katello::Errors::InvalidActionOptionError, _("Cannot skip metadata check on non-yum repositories.") if skip_metadata_check && !repo.yum?
35
35
 
36
36
  sequence do
37
+ # clear yum metadata if validate_contents is on (to avoid metadata corruption issues)
38
+ plan_action(Pulp::Repository::RemoveYumMetadataFile, :pulp_id => repo.pulp_id) if validate_contents
39
+
37
40
  sync_args = {:pulp_id => repo.pulp_id, :task_id => pulp_sync_task_id, :source_url => source_url, :options => pulp_sync_options}
38
41
  output = plan_action(Pulp::Repository::Sync, sync_args).output
39
42
 
@@ -0,0 +1,11 @@
1
+ module Actions
2
+ module Pulp
3
+ module Repository
4
+ class RemoveYumMetadataFile < Pulp::Repository::AbstractRemoveContent
5
+ def content_extension
6
+ pulp_extensions.yum_repo_metadata_file
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -44,8 +44,9 @@ module Katello
44
44
  class CandlepinResource < HttpResource
45
45
  cfg = SETTINGS[:katello][:candlepin]
46
46
  url = cfg[:url]
47
- self.prefix = URI.parse(url).path
48
- self.site = url.gsub(self.prefix, "")
47
+ uri = URI.parse(url)
48
+ self.prefix = uri.path
49
+ self.site = "#{uri.scheme}://#{uri.host}:#{uri.port}"
49
50
  self.consumer_secret = cfg[:oauth_secret]
50
51
  self.consumer_key = cfg[:oauth_key]
51
52
  self.ca_cert_file = cfg[:ca_cert_file]
@@ -1,7 +1,6 @@
1
1
  module Katello
2
2
  module Authorization::ContentViewHistory
3
3
  extend ActiveSupport::Concern
4
- include Authorizable
5
4
 
6
5
  module ClassMethods
7
6
  def readable
@@ -2,8 +2,6 @@ module Katello
2
2
  module Authorization::Pool
3
3
  extend ActiveSupport::Concern
4
4
 
5
- include Authorizable
6
-
7
5
  module ClassMethods
8
6
  def readable
9
7
  where(:subscription_id => Katello::Subscription.authorized(:view_subscriptions))
@@ -2,8 +2,6 @@ module Katello
2
2
  module Authorization::Repository
3
3
  extend ActiveSupport::Concern
4
4
 
5
- include Authorizable
6
-
7
5
  delegate :editable?, to: :product
8
6
 
9
7
  def deletable?
@@ -125,6 +125,10 @@ module Katello
125
125
  ostree_branches.count != pulp_counts['ostree'].to_i
126
126
  end
127
127
 
128
+ def empty_in_pulp?
129
+ pulp_repo_facts[:content_unit_counts].values.all? { |value| value == 0 }
130
+ end
131
+
128
132
  def create_pulp_repo
129
133
  #if we are in library, no need for an distributor, but need to sync
130
134
  if self.environment.try(:library?)
@@ -192,7 +192,7 @@ module Katello
192
192
 
193
193
  def self.find_host(facts, organization)
194
194
  host_name = propose_existing_hostname(facts)
195
- hosts = ::Host.where(:name => host_name)
195
+ hosts = ::Host.unscoped.where(:name => host_name)
196
196
 
197
197
  return nil if hosts.empty? #no host exists
198
198
  if hosts.where("organization_id = #{organization.id} OR organization_id is NULL").empty? #not in the correct org
@@ -515,7 +515,7 @@ module Katello
515
515
  end
516
516
 
517
517
  def exist_for_environment?(environment, content_view, attribute = nil)
518
- if environment.present?
518
+ if environment.present? && content_view.in_environment?(environment)
519
519
  repos = content_view.version(environment).repos(environment)
520
520
 
521
521
  repos.any? do |repo|
@@ -68,6 +68,10 @@ yum
68
68
  dhclient
69
69
  ntp
70
70
  wget
71
+ <% if host_param('kt_activation_keys') -%>
72
+ <% # if you want to use subscription manager you need to install it now, in %post it would rely on upstream mirror -%>
73
+ subscription-manager
74
+ <% end -%>
71
75
  @Core
72
76
  <%= section_end -%>
73
77
 
@@ -134,7 +134,10 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkPackagesModa
134
134
  $scope.packageActionFormValues.remoteAction = 'package_' + action;
135
135
  }
136
136
 
137
- $scope.packageActionFormValues.hostIds = selectedHosts.included.ids.join(',');
137
+ if (selectedHosts.included.ids) {
138
+ $scope.packageActionFormValues.hostIds = selectedHosts.included.ids.join(',');
139
+ }
140
+
138
141
  $scope.packageActionFormValues.search = selectedHosts.included.search;
139
142
 
140
143
  $timeout(function () {
@@ -30,14 +30,14 @@
30
30
  </ul>
31
31
  </span>
32
32
 
33
- <div ng-form id="packageActionForm" name="packageActionForm" class="form" method="post" action="/katello/remote_execution">
33
+ <form id="packageActionForm" name="packageActionForm" class="form" method="post" action="/katello/remote_execution">
34
34
  <input type="hidden" name="name" ng-value="content.content"/>
35
35
  <input type="hidden" name="remote_action" ng-value="packageActionFormValues.remoteAction"/>
36
36
  <input type="hidden" name="scoped_search" ng-value="packageActionFormValues.search"/>
37
37
  <input type="hidden" name="host_ids" ng-value="packageActionFormValues.hostIds"/>
38
38
  <input type="hidden" name="authenticity_token" ng-value="packageActionFormValues.authenticityToken"/>
39
39
  <input type="hidden" name="customize" ng-value="packageActionFormValues.customize"/>
40
- </div>
40
+ </form>
41
41
 
42
42
  <div ng-form name="systemContentForm" class="form" ng-hide="content.workingMode || denied('edit_hosts')" novalidate>
43
43
  <div>
@@ -31,6 +31,14 @@
31
31
  </p>
32
32
  </div>
33
33
 
34
+ <form id="errataActionForm" method="post" action="/katello/remote_execution">
35
+ <input type="hidden" name="remote_action" value="errata_install"/>
36
+ <input type="hidden" name="name" ng-value="errataActionFormValues.errata"/>
37
+ <input type="hidden" name="host_ids" ng-value="errataActionFormValues.hostIds"/>
38
+ <input type="hidden" name="customize" ng-value="errataActionFormValues.customize"/>
39
+ <input type="hidden" name="authenticity_token" ng-value="errataActionFormValues.authenticityToken"/>
40
+ </form>
41
+
34
42
  <div data-extend-template="layouts/partials/table.html">
35
43
  <span data-block="search-filter" bst-feature-flag="remote_actions">
36
44
  <label class="sr-only" translate>
@@ -44,14 +52,6 @@
44
52
  </select>
45
53
  </span>
46
54
 
47
- <form id="errataActionForm" method="post" action="/katello/remote_execution">
48
- <input type="hidden" name="remote_action" value="errata_install"/>
49
- <input type="hidden" name="name" ng-value="errataActionFormValues.errata"/>
50
- <input type="hidden" name="host_ids" ng-value="errataActionFormValues.hostIds"/>
51
- <input type="hidden" name="customize" ng-value="errataActionFormValues.customize"/>
52
- <input type="hidden" name="authenticity_token" ng-value="errataActionFormValues.authenticityToken"/>
53
- </form>
54
-
55
55
  <span data-block="list-actions" ng-hide="contentHost.readonly">
56
56
  <div bst-modal="applySelected()" model="host">
57
57
  <div data-block="modal-header" translate>Apply Errata to Content Host "{{host.name}}"?</div>
@@ -15,8 +15,13 @@ angular.module('Bastion.content-views').controller('DateTypeErrataFilterControll
15
15
  ['$scope', 'translate', 'Rule', 'Notification', function ($scope, translate, Rule, Notification) {
16
16
 
17
17
  function convertRuleStringsToDates() {
18
- $scope.rule['start_date'] = new Date($scope.rule['start_date']);
19
- $scope.rule['end_date'] = new Date($scope.rule['end_date']);
18
+ if ($scope.rule['start_date']) {
19
+ $scope.rule['start_date'] = new Date($scope.rule['start_date']);
20
+ }
21
+
22
+ if ($scope.rule['end_date']) {
23
+ $scope.rule['end_date'] = new Date($scope.rule['end_date']);
24
+ }
20
25
  }
21
26
 
22
27
  function success() {
@@ -66,8 +71,13 @@ angular.module('Bastion.content-views').controller('DateTypeErrataFilterControll
66
71
  var params;
67
72
 
68
73
  // Remove any hours from the dates
69
- rule['start_date'].setHours(0, 0, 0, 0);
70
- rule['end_date'].setHours(0, 0, 0, 0);
74
+ if (rule['start_date']) {
75
+ rule['start_date'].setHours(0, 0, 0, 0);
76
+ }
77
+
78
+ if (rule['end_date']) {
79
+ rule['end_date'].setHours(0, 0, 0, 0);
80
+ }
71
81
 
72
82
  params = {filterId: filter.id, ruleId: rule.id};
73
83
  rule.$update(params, success, failure);
@@ -15,7 +15,7 @@
15
15
  angular.module('Bastion.errata').controller('ErratumContentHostsController',
16
16
  ['$scope', 'Nutupane', 'Host', 'IncrementalUpdate', 'Environment', 'CurrentOrganization',
17
17
  function ($scope, Nutupane, Host, IncrementalUpdate, Environment, CurrentOrganization) {
18
- var nutupane, params, nutupaneParams = {
18
+ var nutupane, params, searchString, nutupaneParams = {
19
19
  'overrideAutoLoad': true
20
20
  };
21
21
 
@@ -27,9 +27,8 @@ angular.module('Bastion.errata').controller('ErratumContentHostsController',
27
27
  };
28
28
 
29
29
  nutupane = new Nutupane(Host, params, 'postIndex', nutupaneParams);
30
- $scope.controllerName = 'hosts';
31
- nutupane.masterOnly = true;
32
30
  nutupane.enableSelectAllResults();
31
+ $scope.controllerName = 'hosts';
33
32
 
34
33
  $scope.nutupane = nutupane;
35
34
  $scope.table = nutupane.table;
@@ -43,9 +42,12 @@ angular.module('Bastion.errata').controller('ErratumContentHostsController',
43
42
  }
44
43
 
45
44
  if (term === "" || angular.isUndefined(term)) {
46
- return addition;
45
+ searchString = addition;
46
+ } else {
47
+ searchString = term + ' and ' + addition;
47
48
  }
48
- return term + ' and ' + addition;
49
+
50
+ return searchString;
49
51
  };
50
52
 
51
53
  Environment.queryUnpaged(function (response) {
@@ -58,7 +60,7 @@ angular.module('Bastion.errata').controller('ErratumContentHostsController',
58
60
 
59
61
  $scope.errataSearchString = function(installable) {
60
62
  var searchTerm = installable ? 'installable_errata' : 'applicable_errata',
61
- searchStatements, errataIds;
63
+ searchStatements, errataIds, hostSearchString;
62
64
 
63
65
  if ($scope.errata) {
64
66
  errataIds = [$scope.errata['errata_id']];
@@ -69,7 +71,10 @@ angular.module('Bastion.errata').controller('ErratumContentHostsController',
69
71
  searchStatements = _.map(errataIds, function(errataId) {
70
72
  return searchTerm + ' = "' + errataId + '"';
71
73
  });
72
- return searchStatements.join(" or ");
74
+
75
+ hostSearchString = searchStatements.join(" or ");
76
+
77
+ return hostSearchString;
73
78
  };
74
79
  nutupane.load();
75
80
 
@@ -79,7 +84,8 @@ angular.module('Bastion.errata').controller('ErratumContentHostsController',
79
84
  };
80
85
 
81
86
  $scope.goToNextStep = function () {
82
- IncrementalUpdate.setBulkContentHosts(nutupane.getAllSelectedResults());
87
+ var bulkContentHosts = nutupane.getAllSelectedResults();
88
+
83
89
  if ($scope.errata) {
84
90
  IncrementalUpdate.setErrataIds([$scope.errata['errata_id']]);
85
91
  }
@@ -89,6 +95,14 @@ angular.module('Bastion.errata').controller('ErratumContentHostsController',
89
95
  } else {
90
96
  $scope.transitionTo('apply-errata.confirm');
91
97
  }
98
+
99
+ if ($scope.table.allResultsSelected) {
100
+ bulkContentHosts.included.search = searchString;
101
+ } else {
102
+ bulkContentHosts.included.search = null;
103
+ }
104
+
105
+ IncrementalUpdate.setBulkContentHosts(bulkContentHosts);
92
106
  };
93
107
 
94
108
  $scope.incrementalUpdates = IncrementalUpdate.getIncrementalUpdates();
@@ -46,7 +46,9 @@
46
46
  <span translate>The Content View or Lifecycle Environment needs to be updated in order to make errata available to these hosts.</span>
47
47
  </p>
48
48
 
49
- <table class="table table-striped table-bordered" ng-class="{'table-mask': table.working}">
49
+ <div data-extend-template="layouts/select-all-results.html"></div>
50
+
51
+ <table class="table table-striped table-bordered">
50
52
  <thead>
51
53
  <tr bst-table-head row-select>
52
54
  <th bst-table-column="name"><span translate>Name</span></th>
@@ -70,7 +72,5 @@
70
72
  </tr>
71
73
  </tbody>
72
74
  </table>
73
-
74
- <div data-block="footer-actions" class="footer-actions"></div>
75
75
  </div>
76
76
  </div>
@@ -8,7 +8,7 @@
8
8
  * Provides a helper service for Incremental Updates.
9
9
  *
10
10
  */
11
- function IncrementalUpdate($q, Task, CurrentOrganization) {
11
+ function IncrementalUpdate($q, $httpParamSerializer, Task, CurrentOrganization) {
12
12
  var getIdsFromBulk;
13
13
 
14
14
  getIdsFromBulk = function (bulkResource) {
@@ -66,6 +66,7 @@
66
66
  * Allows setting the Bulk Content Hosts.
67
67
  *
68
68
  * @param {Object} bulkContentHosts the bulk selection of the content hosts.
69
+ * @param {Array} errataIds the errata IDs to add to the bulk search
69
70
  *
70
71
  * @returns {Boolean}
71
72
  */
@@ -133,6 +134,6 @@
133
134
 
134
135
  angular.module('Bastion.errata').service('IncrementalUpdate', IncrementalUpdate);
135
136
 
136
- IncrementalUpdate.$inject = ['$q', 'Task', 'CurrentOrganization'];
137
+ IncrementalUpdate.$inject = ['$q', '$httpParamSerializer', 'Task', 'CurrentOrganization'];
137
138
 
138
139
  })();
@@ -16,12 +16,23 @@
16
16
  <h3 ng-show="errata" translate>Apply {{ errata.errata_id }}</h3>
17
17
 
18
18
  <section ng-hide="updates.length > 0">
19
- <p translate ng-show="errata">
20
- Apply {{ errata.errata_id }} to {{ contentHostIds.length }} Content Host(s)?
21
- </p>
22
- <p translate ng-hide="errata">
23
- Apply {{ errataIds.length }} Errata to {{ contentHostIds.length }} Content Host(s)?
24
- </p>
19
+ <div ng-show="errata">
20
+ <p translate ng-show="contentHostIds.length === 0">
21
+ Apply {{ errata.errata_id }} to all Content Host(s)?
22
+ </p>
23
+ <p translate ng-hide="contentHostIds.length === 0">
24
+ Apply {{ errata.errata_id }} to {{ contentHostIds.length }} Content Host(s)?
25
+ </p>
26
+ </div>
27
+
28
+ <div ng-hide="errata">
29
+ <p translate ng-show="contentHostIds.length === 0">
30
+ Apply {{ errataIds.length }} Errata to all Content Host(s)?
31
+ </p>
32
+ <p translate ng-hide="contentHostIds.length === 0">
33
+ Apply {{ errataIds.length }} Errata to {{ contentHostIds.length }} Content Host(s)?
34
+ </p>
35
+ </div>
25
36
  </section>
26
37
 
27
38
  <section ng-show="updates.length > 0">
@@ -53,6 +53,6 @@ angular.module('Bastion.subscriptions').controller('SubscriptionDetailsControlle
53
53
  return "";
54
54
  };
55
55
 
56
- $scope.virtWhoToolTip = translate("If the virt-who field is Yes then the subscription requires the use of virt-who. Learn how to configure and use this tool in the <a href=\"https://access.redhat.com/documentation/en/red-hat-satellite/6.2/single/virtual-instances-guide/\">Virtual Instances Guide</a>.");
56
+ $scope.virtWhoToolTip = translate("If the virt-who field is Yes then the subscription requires the use of virt-who. Learn how to configure and use this tool at the <a href=\"https://access.redhat.com/articles/subscription-management-satellite-6\">Subscription Management Home Page</a>.");
57
57
  }]
58
58
  );
@@ -78,7 +78,7 @@
78
78
 
79
79
  <div bst-alert="info" ng-if="details.virt_who">
80
80
  <span translate>
81
- The uploaded manifest contains subscriptions that require the use of virt-who. Learn how to configure and use this tool in the <a href="https://access.redhat.com/documentation/en/red-hat-satellite/6.2/single/virtual-instances-guide/">Virtual Instances Guide</a>.
81
+ The uploaded manifest contains subscriptions that require the use of virt-who. Learn how to configure and use this tool at the <a href="https://access.redhat.com/articles/subscription-management-satellite-6">Subscription Management Home Page</a>.
82
82
  </span>
83
83
  </div>
84
84
  </section>
@@ -1,3 +1,3 @@
1
1
  module Katello
2
- VERSION = "3.5.1.1".freeze
2
+ VERSION = "3.5.2".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: katello
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.1.1
4
+ version: 3.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - N/A
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-06 00:00:00.000000000 Z
11
+ date: 2018-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -662,6 +662,7 @@ files:
662
662
  - app/lib/actions/katello/repository/clone_to_environment.rb
663
663
  - app/lib/actions/katello/repository/clone_to_version.rb
664
664
  - app/lib/actions/katello/repository/clone_yum_content.rb
665
+ - app/lib/actions/katello/repository/clone_yum_metadata.rb
665
666
  - app/lib/actions/katello/repository/correct_checksum.rb
666
667
  - app/lib/actions/katello/repository/create.rb
667
668
  - app/lib/actions/katello/repository/destroy.rb
@@ -761,6 +762,7 @@ files:
761
762
  - app/lib/actions/pulp/repository/remove_puppet_module.rb
762
763
  - app/lib/actions/pulp/repository/remove_rpm.rb
763
764
  - app/lib/actions/pulp/repository/remove_schedule.rb
765
+ - app/lib/actions/pulp/repository/remove_yum_metadata_file.rb
764
766
  - app/lib/actions/pulp/repository/sync.rb
765
767
  - app/lib/actions/pulp/repository/update_importer.rb
766
768
  - app/lib/actions/pulp/repository/update_schedule.rb
@@ -2100,7 +2102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2100
2102
  version: '0'
2101
2103
  requirements: []
2102
2104
  rubyforge_project:
2103
- rubygems_version: 2.4.6
2105
+ rubygems_version: 2.6.14.1
2104
2106
  signing_key:
2105
2107
  specification_version: 4
2106
2108
  summary: ''