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.
- checksums.yaml +4 -4
- data/app/lib/actions/katello/repository/clear.rb +1 -0
- data/app/lib/actions/katello/repository/clone_to_environment.rb +2 -1
- data/app/lib/actions/katello/repository/clone_yum_metadata.rb +28 -0
- data/app/lib/actions/katello/repository/sync.rb +4 -1
- data/app/lib/actions/pulp/repository/remove_yum_metadata_file.rb +11 -0
- data/app/lib/katello/resources/candlepin.rb +3 -2
- data/app/models/katello/authorization/content_view_history.rb +0 -1
- data/app/models/katello/authorization/pool.rb +0 -2
- data/app/models/katello/authorization/repository.rb +0 -2
- data/app/models/katello/glue/pulp/repo.rb +4 -0
- data/app/models/katello/host/subscription_facet.rb +1 -1
- data/app/models/katello/repository.rb +1 -1
- data/app/views/foreman/unattended/kickstart-katello.erb +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +4 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +8 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +14 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-content-hosts.controller.js +22 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/incremental-update.service.js +3 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +17 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-details.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +1 -1
- data/lib/katello/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf8e8e75ea66a068954c0f1c81c467d8502b581d
|
4
|
+
data.tar.gz: 107669c4de9f0cab916fd4bc4c3c805d3ac06f06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
|
@@ -44,8 +44,9 @@ module Katello
|
|
44
44
|
class CandlepinResource < HttpResource
|
45
45
|
cfg = SETTINGS[:katello][:candlepin]
|
46
46
|
url = cfg[:url]
|
47
|
-
|
48
|
-
self.
|
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]
|
@@ -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
|
-
|
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
|
-
<
|
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
|
-
</
|
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
|
-
|
19
|
-
|
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']
|
70
|
-
|
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
|
-
|
45
|
+
searchString = addition;
|
46
|
+
} else {
|
47
|
+
searchString = term + ' and ' + addition;
|
47
48
|
}
|
48
|
-
|
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
|
-
|
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
|
-
|
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
|
-
<
|
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
|
-
<
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
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
|
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
|
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>
|
data/lib/katello/version.rb
CHANGED
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.
|
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-
|
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.
|
2105
|
+
rubygems_version: 2.6.14.1
|
2104
2106
|
signing_key:
|
2105
2107
|
specification_version: 4
|
2106
2108
|
summary: ''
|