Bug 983294

Summary: puppet repo - sync status is inconsistent with rpm repo sync status
Product: [Retired] Pulp Reporter: Brad Buckingham <bbuckingham>
Component: user-experienceAssignee: pulp-bugs
Status: CLOSED NOTABUG QA Contact: Preethi Thomas <pthomas>
Severity: medium Docs Contact:
Priority: low    
Version: 2.1 BetaCC: bbuckingham, jsherril, skarmark
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-19 17:20:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 950743, 1012073    

Description Brad Buckingham 2013-07-10 22:02:43 UTC
Description of problem:

The sync status for puppet repositories is not consistent with the sync status for rpm repositories.  For example, the puppet repo sync status is lacking 'size' fields which katello uses to determine the 'progress' of a sync.

In addition, from the example (in Actual Results) below, you'll notice that the puppet sync status has multiple fields to denote 'error' information (e.g. error_count, error, error_message, individual_errors & traceback).  From the data, it is unclear from the values whether this particular sync should be considered a success or not.  The following is a summary:
 - state = success
 - error = None
 - error_message = nil
 - traceback = nil
 - error_count = 10
 - individual_errors = a hash consisting of several (e.g. No such file or directory)
 
Version-Release number of selected component (if applicable):
pulp-server-2.1.3-1.el6.noarch

How reproducible:
always

Steps to Reproduce:
1. create an rpm repo, sync it and monitor the sync status
2. create a puppet repo, sync it and monitor the sync status

Actual results:

The status for the rpm repo should look similar to:

{"task_group_id"=>"fa85b32e-4e3f-4a03-a0ad-d805027668db", "exception"=>nil, "traceback"=>nil, "task_id"=>"25f1ebee-cb5e-49ff-8d4a-681d3c5718bd", "call_request_tags"=>["pulp:repository:ACME_Corporation-zoo-zoo", "pulp:action:sync"], "reasons"=>[], "start_time"=>"2013-07-10T20:22:46Z", "tags"=>["pulp:repository:ACME_Corporation-zoo-zoo", "pulp:action:sync"], "state"=>"finished", "finish_time"=>"2013-07-10T20:22:48Z", "dependency_failures"=>{}, "schedule_id"=>nil, "progress"=>{"yum_importer"=>{"content"=>{"num_success"=>0, "size_total"=>0, "items_left"=>0, "items_total"=>0, "state"=>"FINISHED", "size_left"=>0, "details"=>{"tree_file"=>{"num_success"=>0, "size_total"=>0, "items_left"=>0, "items_total"=>0, "size_left"=>0, "num_error"=>0}, "rpm"=>{"num_success"=>0, "size_total"=>0, "items_left"=>0, "items_total"=>0, "size_left"=>0, "num_error"=>0}, "delta_rpm"=>{"num_success"=>0, "size_total"=>0, "items_left"=>0, "items_total"=>0, "size_left"=>0, "num_error"=>0}, "file"=>{"num_success"=>0, "size_total"=>0, "items_left"=>0, "items_total"=>0, "size_left"=>0, "num_error"=>0}}, "error_details"=>[], "num_error"=>0}, "comps"=>{"state"=>"FINISHED"}, "errata"=>{"state"=>"FINISHED", "num_errata"=>4}, "metadata"=>{"state"=>"FINISHED"}}}, "call_request_group_id"=>"fa85b32e-4e3f-4a03-a0ad-d805027668db", "call_request_id"=>"25f1ebee-cb5e-49ff-8d4a-681d3c5718bd", "principal_login"=>"admin", "response"=>"accepted", "result"=>{"importer_id"=>"yum_importer", "exception"=>nil, "repo_id"=>"ACME_Corporation-zoo-zoo", "traceback"=>nil, "started"=>"2013-07-10T16:22:46-04:00", "_ns"=>"repo_sync_results", "completed"=>"2013-07-10T16:22:48-04:00", "importer_type_id"=>"yum_importer", "error_message"=>nil, "summary"=>{"comps"=>{"time_total_sec"=>0.012338876724243164, "num_orphaned_groups"=>0, "num_available_groups"=>2, "num_new_groups"=>0, "num_new_categories"=>0, "num_orphaned_categories"=>0, "num_available_categories"=>1}, "packages"=>{"num_synced_new_rpms"=>0, "num_resynced_distribution_files"=>0, "num_not_synced_srpms"=>0, "num_synced_new_distributions_files"=>0, "num_rpms"=>32, "num_not_synced_drpms"=>0, "time_total_sec"=>1.7557430267333984, "num_orphaned_distributions"=>0, "num_orphaned_rpms"=>0, "num_synced_new_srpms"=>0, "num_synced_new_drpms"=>0, "num_resynced_distributions"=>0, "num_orphaned_srpms"=>0, "num_resynced_rpms"=>0, "num_synced_new_distributions"=>0, "num_orphaned_drpms"=>0, "num_resynced_srpms"=>0, "num_resynced_drpms"=>0, "removal_errors"=>[], "num_not_synced_rpms"=>0}, "errata"=>{"errata_time_total_sec"=>0.06302213668823242, "num_existing_errata"=>4, "num_orphaned_errata"=>0, "num_new_errata"=>0}}, "added_count"=>0, "result"=>"success", "updated_count"=>4, "details"=>{"comps"=>{}, "packages"=>{"time_download_sec"=>0.5237729549407959, "not_synced"=>[], "time_metadata_sec"=>0.7556071281433105, "size_total"=>0, "sync_report"=>{"errors"=>0, "size_total"=>0, "successes"=>0, "downloads"=>0, "items_left"=>0, "items_total"=>0, "error_details"=>[], "details"=>{}, "size_left"=>0}}, "errata"=>{"num_bugfix_errata"=>0, "link_report"=>{"missing_rpms"=>[], "linked_units"=>[]}, "num_security_errata"=>0, "num_enhancement_errata"=>0}}, "id"=>"51ddc2983cbbb5727e001d3b", "removed_count"=>0}}

The status for the puppet repo should look similar to:

{"task_group_id"=>"16ecf2ac-b658-469e-84c3-b28d4768135a", "exception"=>nil, "traceback"=>nil, "task_id"=>"aef1c6ac-ce0e-4207-a3b8-d4c0b3d15e47", "call_request_tags"=>["pulp:repository:ACME_Corporation-puppet-puppet", "pulp:action:sync"], "reasons"=>[], "start_time"=>"2013-07-10T20:46:20Z", "tags"=>["pulp:repository:ACME_Corporation-puppet-puppet", "pulp:action:sync"], "state"=>"finished", "finish_time"=>"2013-07-10T21:06:53Z", "dependency_failures"=>{}, "schedule_id"=>nil, "progress"=>{"puppet_importer"=>{"modules"=>{"finished_count"=>1236, "state"=>"success", "traceback"=>nil, "error_count"=>10, "error"=>"None", "execution_time"=>1211, "total_count"=>1246, "error_message"=>nil, "individual_errors"=>{"sensu-0.7.5-sensu"=>{"exception"=>"[Errno 2] No such file or directory: '/var/lib/pulp/working/repos/ACME_Corporation-puppet-puppet/importers/puppet_importer/sensu/sensu/0.7.5/sensu-puppet-0.7.5/spec/fixtures/modules/sensu'", "traceback"=>[["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 250, "_do_import_modules", "self._add_new_module(downloader, module)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 295, "_add_new_module", "metadata.extract_metadata(module, unit.storage_path, self.repo.working_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 81, "extract_metadata", "metadata_json = _extract_non_standard_json(module, filename, temp_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 145, "_extract_non_standard_json", "metadata_file_dir = _find_file_in_dir(extraction_dir, constants.MODULE_METADATA_FILENAME)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 187, "_find_file_in_dir", "for found in os.listdir(dir):"]]}, "mediawiki-0.3.0-rcoleman"=>{"exception"=>"[Errno 2] No such file or directory: '/var/lib/pulp/working/repos/ACME_Corporation-puppet-puppet/importers/puppet_importer/rcoleman/mediawiki/0.3.0/martasd-mediawiki-0.3.0/spec/fixtures/modules/mediawiki/templates'", "traceback"=>[["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 250, "_do_import_modules", "self._add_new_module(downloader, module)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 295, "_add_new_module", "metadata.extract_metadata(module, unit.storage_path, self.repo.working_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 81, "extract_metadata", "metadata_json = _extract_non_standard_json(module, filename, temp_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 145, "_extract_non_standard_json", "metadata_file_dir = _find_file_in_dir(extraction_dir, constants.MODULE_METADATA_FILENAME)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 187, "_find_file_in_dir", "for found in os.listdir(dir):"]]}, "gradle-0.1.2-smarchive"=>{"exception"=>"[Errno 2] No such file or directory: '/var/lib/pulp/working/repos/ACME_Corporation-puppet-puppet/importers/puppet_importer/smarchive/gradle/0.1.2/puppet-gradle-0.1.2/spec/fixtures/modules/gradle/lib'", "traceback"=>[["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 250, "_do_import_modules", "self._add_new_module(downloader, module)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 295, "_add_new_module", "metadata.extract_metadata(module, unit.storage_path, self.repo.working_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 81, "extract_metadata", "metadata_json = _extract_non_standard_json(module, filename, temp_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 145, "_extract_non_standard_json", "metadata_file_dir = _find_file_in_dir(extraction_dir, constants.MODULE_METADATA_FILENAME)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 187, "_find_file_in_dir", "for found in os.listdir(dir):"]]}, "idea-0.1.0-smarchive"=>{"exception"=>"[Errno 2] No such file or directory: '/var/lib/pulp/working/repos/ACME_Corporation-puppet-puppet/importers/puppet_importer/smarchive/idea/0.1.0/puppet-idea-0.1.0/spec/fixtures/modules/idea/lib'", "traceback"=>[["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 250, "_do_import_modules", "self._add_new_module(downloader, module)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 295, "_add_new_module", "metadata.extract_metadata(module, unit.storage_path, self.repo.working_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 81, "extract_metadata", "metadata_json = _extract_non_standard_json(module, filename, temp_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 145, "_extract_non_standard_json", "metadata_file_dir = _find_file_in_dir(extraction_dir, constants.MODULE_METADATA_FILENAME)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 187, "_find_file_in_dir", "for found in os.listdir(dir):"]]}, "haproxy-0.0.2-glarizza"=>{"exception"=>"[Errno 40] Too many levels of symbolic links: '/var/lib/pulp/working/repos/ACME_Corporation-puppet-puppet/importers/puppet_importer/glarizza/haproxy/0.0.2/puppet-haproxy-0.0.2/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy/spec/fixtures/modules/haproxy'", "traceback"=>[["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 250, "_do_import_modules", "self._add_new_module(downloader, module)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 295, "_add_new_module", "metadata.extract_metadata(module, unit.storage_path, self.repo.working_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 81, "extract_metadata", "metadata_json = _extract_non_standard_json(module, filename, temp_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 145, "_extract_non_standard_json", "metadata_file_dir = _find_file_in_dir(extraction_dir, constants.MODULE_METADATA_FILENAME)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 187, "_find_file_in_dir", "for found in os.listdir(dir):"]]}, "googlechrome-0.1.0-smarchive"=>{"exception"=>"[Errno 2] No such file or directory: '/var/lib/pulp/working/repos/ACME_Corporation-puppet-puppet/importers/puppet_importer/smarchive/googlechrome/0.1.0/puppet-googlechrome-0.1.0/spec/fixtures/modules/googlechrome/files'", "traceback"=>[["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 250, "_do_import_modules", "self._add_new_module(downloader, module)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 295, "_add_new_module", "metadata.extract_metadata(module, unit.storage_path, self.repo.working_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 81, "extract_metadata", "metadata_json = _extract_non_standard_json(module, filename, temp_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 145, "_extract_non_standard_json", "metadata_file_dir = _find_file_in_dir(extraction_dir, constants.MODULE_METADATA_FILENAME)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 187, "_find_file_in_dir", "for found in os.listdir(dir):"]]}, "samba-0.0.4-pdxcat"=>{"exception"=>"[Errno 2] No such file or directory: '/var/lib/pulp/working/repos/ACME_Corporation-puppet-puppet/importers/puppet_importer/pdxcat/samba/0.0.4/puppet-module-samba-0.0.4/spec/fixtures/modules/samba/files'", "traceback"=>[["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 250, "_do_import_modules", "self._add_new_module(downloader, module)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 295, "_add_new_module", "metadata.extract_metadata(module, unit.storage_path, self.repo.working_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 81, "extract_metadata", "metadata_json = _extract_non_standard_json(module, filename, temp_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 145, "_extract_non_standard_json", "metadata_file_dir = _find_file_in_dir(extraction_dir, constants.MODULE_METADATA_FILENAME)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 187, "_find_file_in_dir", "for found in os.listdir(dir):"]]}, "xhgui-0.1.0-zeleznypa"=>{"exception"=>"'utf8' codec can't decode byte 0xbd in position 13: invalid start byte", "traceback"=>[["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 250, "_do_import_modules", "self._add_new_module(downloader, module)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 295, "_add_new_module", "metadata.extract_metadata(module, unit.storage_path, self.repo.working_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 83, "extract_metadata", "module.update_from_json(metadata_json)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/common/model.py", 162, "update_from_json", "parsed = json.loads(metadata_json)"], ["/usr/lib64/python2.6/json/__init__.py", 307, "loads", "return _default_decoder.decode(s)"], ["/usr/lib64/python2.6/json/decoder.py", 319, "decode", "obj, end = self.raw_decode(s, idx=_w(s, 0).end())"], ["/usr/lib64/python2.6/json/decoder.py", 336, "raw_decode", "obj, end = self._scanner.iterscan(s, **kw).next()"], ["/usr/lib64/python2.6/json/scanner.py", 55, "iterscan", "rval, next_pos = action(m, context)"], ["/usr/lib64/python2.6/json/decoder.py", 183, "JSONObject", "value, end = iterscan(s, idx=end, context=context).next()"], ["/usr/lib64/python2.6/json/scanner.py", 55, "iterscan", "rval, next_pos = action(m, context)"], ["/usr/lib64/python2.6/json/decoder.py", 155, "JSONString", "return scanstring(match.string, match.end(), encoding, strict)"]]}, "archive-0.1.1-smarchive"=>{"exception"=>"[Errno 2] No such file or directory: '/var/lib/pulp/working/repos/ACME_Corporation-puppet-puppet/importers/puppet_importer/smarchive/archive/0.1.1/puppet-archive-0.1.1/spec/fixtures/modules/archive/files'", "traceback"=>[["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 250, "_do_import_modules", "self._add_new_module(downloader, module)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 295, "_add_new_module", "metadata.extract_metadata(module, unit.storage_path, self.repo.working_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 81, "extract_metadata", "metadata_json = _extract_non_standard_json(module, filename, temp_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 145, "_extract_non_standard_json", "metadata_file_dir = _find_file_in_dir(extraction_dir, constants.MODULE_METADATA_FILENAME)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 187, "_find_file_in_dir", "for found in os.listdir(dir):"]]}, "activemq-0.0.1-bionix"=>{"exception"=>"[Errno 2] No such file or directory: '/var/lib/pulp/working/repos/ACME_Corporation-puppet-puppet/importers/puppet_importer/bionix/activemq/0.0.1/maestrodev-activemq-0.0.1/spec/fixtures/modules/activemq/files'", "traceback"=>[["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 250, "_do_import_modules", "self._add_new_module(downloader, module)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/sync.py", 295, "_add_new_module", "metadata.extract_metadata(module, unit.storage_path, self.repo.working_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 81, "extract_metadata", "metadata_json = _extract_non_standard_json(module, filename, temp_dir)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 145, "_extract_non_standard_json", "metadata_file_dir = _find_file_in_dir(extraction_dir, constants.MODULE_METADATA_FILENAME)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 193, "_find_file_in_dir", "sub_dir = _find_file_in_dir(file_or_dir, filename)"], ["/usr/lib/python2.6/site-packages/pulp_puppet/plugins/importers/metadata.py", 187, "_find_file_in_dir", "for found in os.listdir(dir):"]]}}}, "metadata"=>{"query_finished_count"=>1, "state"=>"success", "error_message"=>nil, "error"=>"None", "execution_time"=>20, "query_total_count"=>1, "current_query"=>"http://forge.puppetlabs.com/modules.json", "traceback"=>nil}}}, "call_request_group_id"=>"16ecf2ac-b658-469e-84c3-b28d4768135a", "call_request_id"=>"aef1c6ac-ce0e-4207-a3b8-d4c0b3d15e47", "principal_login"=>"admin", "response"=>"accepted", "result"=>{"importer_id"=>"puppet_importer", "exception"=>nil, "repo_id"=>"ACME_Corporation-puppet-puppet", "traceback"=>nil, "started"=>"2013-07-10T16:46:20-04:00", "_ns"=>"repo_sync_results", "completed"=>"2013-07-10T17:06:53-04:00", "importer_type_id"=>"puppet_importer", "error_message"=>nil, "summary"=>{"total_execution_time"=>1231}, "added_count"=>0, "result"=>"success", "updated_count"=>1236, "details"=>{"finished_count"=>1236, "total_count"=>1246, "error_count"=>10}, "id"=>"51ddcced3cbbb5727e00234c", "removed_count"=>0}}

For an rpm repo, katello uses the following structure from above to determine 'progress':
        structure: ['progress']['yum_importer']['content']
        fields: size_total, size_left, items_total, items_left, error_details

For the puppet repo, the 'equivalent' structure appears to be quite different:
        structure: ['progress']['puppet_importer']['modules']
        fields: total_count, finished_count, error_count, error, error_message, individual_errors & traceback

Expected results:

The sync status should be consistent regardless of repo type, especially for things that are common for any type of content (e.g. size, counts).

If the puppet sync was truely a 'success' as indicated by the state, I would not expect to see errors reported; otherwise, the state should probably be error/failed.  Also, given the number of fields indicating error information, there should be some documentation or clarification around what each field represents.

Additional info:

Comment 1 Michael Hrivnak 2013-10-09 18:24:55 UTC
As for size, puppet forge doesn't give us a way to know the size of modules before we download them. As such, we can't offer that in the progress report. However, most modules seem to be relatively small and somewhat uniform in size, so it's probably sufficient to measure progress in number of modules downloaded. That's what we display in the pulp CLI.

Success is in the eye of the beholder. :) If a sync downloaded 100 modules successfully but got 3 errors, was the sync a success or a failure? We report that the task layer either executed the job successfully or didn't. This has nothing to do with how many errors the sync itself encountered. Whether the sync operation as a whole was a success is up to you. We'll tell you about the errors we encounter, and you decide how good or bad that is.

Keep in mind that for both yum and puppet repos, occasional download errors are normal.

Given the above, do you still think this is a bug?

Comment 2 Brad Buckingham 2013-10-10 19:13:08 UTC
I've discussed with a few folks on the team the difference between how the progress is being reported for puppet vs yum sync.  Based on comment #1 and the discussion, we'll work on reporting our status for puppet based on the totals and the yum based on size.  So, for now, we can close this bug out; however, we may find that we need to revisit it later.

Comment 3 Justin Sherrill 2014-08-19 17:20:45 UTC
Agree with brad, this can be closed out. As long as the counts are accurate (once https://bugzilla.redhat.com/show_bug.cgi?id=1128274 is fixed), we're fine.