7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'app/lib/actions/katello/repository/clone_contents.rb', line 7
def plan(source_repositories, new_repository, options)
filters = options.fetch(:filters, nil)
rpm_filenames = options.fetch(:rpm_filenames, nil)
generate_metadata = options.fetch(:generate_metadata, true)
copy_contents = options.fetch(:copy_contents, true)
solve_dependencies = options.fetch(:solve_dependencies, false)
sequence do
if copy_contents
plan_action(Pulp3::Orchestration::Repository::CopyAllUnits,
new_repository,
SmartProxy.pulp_primary,
source_repositories,
filters: filters, rpm_filenames: rpm_filenames, solve_dependencies: solve_dependencies)
end
matching_content = check_matching_content(new_repository, source_repositories)
metadata_generate(source_repositories, new_repository, filters, rpm_filenames, matching_content) if generate_metadata
index_options = {id: new_repository.id, force_index: true}
index_options[:source_repository_id] = source_repositories.first.id if source_repositories.count == 1 && filters.empty? && rpm_filenames.nil?
if new_repository.deb? && generate_metadata
plan_action(Candlepin::Product::ContentUpdate,
owner: new_repository.organization.label,
repository_id: new_repository.id,
name: new_repository.root.name,
type: new_repository.root.content_type,
arches: new_repository.root.format_arches,
label: new_repository.root.custom_content_label,
content_url: new_repository.root.custom_content_path,
gpg_key_url: new_repository.yum_gpg_key_url,
metadata_expire: new_repository.root.metadata_expire)
end
plan_action(Katello::Repository::IndexContent, index_options)
end
end
|