What is the state of deb repo support in Katello?

Problem:

I’m trying to add an Ubuntu 18.04 repo to Katello, but I get an error summarized as:

PLP0000: [Errno 2] No such file or directory: u’/var/cache/pulp/reserved_resource_worker-1@dvpupktva51.tsi.lan/d1902b14-e451-4523-9d83-178d8b52c47a/dists/bionic/main/binary-arm64/Packages.xz’

I’ve read a very old blog post that suggests that debian-type repos had to be set up outside of the web UI in the past, but that support would be included in a later version:

https://theforeman.org/2018/06/creating-ubuntu-repo-in-katello.html

I don’t see any documentation for debian-type repos, so it’s hard to tell if I’m making a mistake with the repo setup, or if this is a bug, or if this just isn’t supported yet.

Expected outcome:

Foreman and Proxy versions:

Foreman 1.22, Katello 3.12.3

Foreman and Proxy plugin versions:

Distribution and version:

CentOS Linux release 7.6.1810 (Core)

Other relevant data:

{"pulp_tasks"=>
  [{"exception"=>nil,
    "task_type"=>"pulp.server.managers.repo.sync.sync",
    "_href"=>"/pulp/api/v2/tasks/d1902b14-e451-4523-9d83-178d8b52c47a/",
    "task_id"=>"d1902b14-e451-4523-9d83-178d8b52c47a",
    "tags"=>
     ["pulp:repository:1fe39829-80a5-4413-bf25-94dda76022ba",
      "pulp:action:sync"],
    "finish_time"=>"2020-01-15T00:55:51Z",
    "_ns"=>"task_status",
    "start_time"=>"2020-01-15T00:55:46Z",
    "traceback"=>
     "Traceback (most recent call last):\n" +
     "  File \"/usr/lib/python2.7/site-packages/celery/app/trace.py\", line 367, in trace_task\n" +
     "    R = retval = fun(*args, **kwargs)\n" +
     "  File \"/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py\", line 529, in __call__\n" +
     "    return super(Task, self).__call__(*args, **kwargs)\n" +
     "  File \"/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py\", line 107, in __call__\n" +
     "    return super(PulpTask, self).__call__(*args, **kwargs)\n" +
     "  File \"/usr/lib/python2.7/site-packages/celery/app/trace.py\", line 622, in __protected_call__\n" +
     "    return self.run(*args, **kwargs)\n" +
     "  File \"/usr/lib/python2.7/site-packages/pulp/server/controllers/repository.py\", line 770, in sync\n" +
     "    sync_report = sync_repo(transfer_repo, conduit, call_config)\n" +
     "  File \"/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py\", line 737, in wrap_f\n" +
     "    return f(*args, **kwargs)\n" +
     "  File \"/usr/lib/python2.7/site-packages/pulp_deb/plugins/importers/importer.py\", line 135, in sync_repo\n" +
     "    report = self._current_sync.process_lifecycle()\n" +
     "  File \"/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py\", line 573, in process_lifecycle\n" +
     "    super(PluginStep, self).process_lifecycle()\n" +
     "  File \"/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py\", line 164, in process_lifecycle\n" +
     "    step.process()\n" +
     "  File \"/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py\", line 257, in process\n" +
     "    self._process_block()\n" +
     "  File \"/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py\", line 304, in _process_block\n" +
     "    self.process_main()\n" +
     "  File \"/usr/lib/python2.7/site-packages/pulp_deb/plugins/importers/sync.py\", line 272, in process_main\n" +
     "    if dlr.url in self.parent.packages_urls[release]])\n" +
     "  File \"/usr/lib/python2.7/site-packages/debpkgr/aptrepo.py\", line 300, in validate_component_arch_packages_downloads\n" +
     "    digests = hash_file(dl.destination, algorithms)\n" +
     "  File \"/usr/lib/python2.7/site-packages/debpkgr/hasher.py\", line 141, in hash_file\n" +
     "    return hasher.digests\n" +
     "  File \"/usr/lib/python2.7/site-packages/debpkgr/hasher.py\", line 108, in digests\n" +
     "    with open(self.path, 'rb') as fh:\n" +
     "IOError: [Errno 2] No such file or directory: u'/var/cache/pulp/reserved_resource_worker-1@dvpupktva51.tsi.lan/d1902b14-e451-4523-9d83-178d8b52c47a/dists/bionic/main/binary-arm64/Packages.xz'\n",
    "spawned_tasks"=>[],
    "progress_report"=>
     {"deb_importer"=>
       [{"num_success"=>2,
         "description"=>"Retrieving metadata: release file(s)",
         "step_type"=>"sync_step_release_download",
         "items_total"=>2,
         "state"=>"FINISHED",
         "error_details"=>[],
         "details"=>"",
         "num_failures"=>0,
         "step_id"=>"a16e6507-d2d5-4dfe-9298-d29899a54b08",
         "num_processed"=>2},
        {"num_success"=>1,
         "description"=>"Parse Release Files",
         "step_type"=>"sync_step_release_parse",
         "items_total"=>1,
         "state"=>"FINISHED",
         "error_details"=>[],
         "details"=>"",
         "num_failures"=>0,
         "step_id"=>"6ed76ca7-677d-479b-9802-88ef17d31163",
         "num_processed"=>1},
        {"num_success"=>8,
         "description"=>"Retrieving metadata: Packages files",
         "step_type"=>"sync_step_packages_download",
         "items_total"=>24,
         "state"=>"FAILED",
         "error_details"=>[],
         "details"=>"",
         "num_failures"=>16,
         "step_id"=>"420c4a77-2852-4b96-88a6-3d0cf8ccd14c",
         "num_processed"=>24},
        {"num_success"=>0,
         "description"=>"Parse Packages Files",
         "step_type"=>"sync_step_packages_parse",
         "items_total"=>1,
         "state"=>"FAILED",
         "error_details"=>
          [{"traceback"=>
             "  File \"/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py\", line 257, in process\n" +
             "    self._process_block()\n" +
             "\n" +
             "  File \"/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py\", line 304, in _process_block\n" +
             "    self.process_main()\n" +
             "\n" +
             "  File \"/usr/lib/python2.7/site-packages/pulp_deb/plugins/importers/sync.py\", line 272, in process_main\n" +
             "    if dlr.url in self.parent.packages_urls[release]])\n" +
             "\n" +
             "  File \"/usr/lib/python2.7/site-packages/debpkgr/aptrepo.py\", line 300, in validate_component_arch_packages_downloads\n" +
             "    digests = hash_file(dl.destination, algorithms)\n" +
             "\n" +
             "  File \"/usr/lib/python2.7/site-packages/debpkgr/hasher.py\", line 141, in hash_file\n" +
             "    return hasher.digests\n" +
             "\n" +
             "  File \"/usr/lib/python2.7/site-packages/debpkgr/hasher.py\", line 108, in digests\n" +
             "    with open(self.path, 'rb') as fh:\n",
            "error"=>
             "[Errno 2] No such file or directory: u'/var/cache/pulp/reserved_resource_worker-1@dvpupktva51.tsi.lan/d1902b14-e451-4523-9d83-178d8b52c47a/dists/bionic/main/binary-arm64/Packages.xz'"}],
         "details"=>"",
         "num_failures"=>1,
         "step_id"=>"93e872e4-5d7a-4252-803e-29b580ff3ce6",
         "num_processed"=>1},
        {"num_success"=>0,
         "description"=>"Copying units already in pulp",
         "step_type"=>"get_local",
         "items_total"=>1,
         "state"=>"NOT_STARTED",
         "error_details"=>[],
         "details"=>"",
         "num_failures"=>0,
         "step_id"=>"90c26c9b-9246-40ef-a32e-17f3d480aaa0",
         "num_processed"=>0},
        {"num_success"=>0,
         "description"=>"Prepare Package Download",
         "step_type"=>"sync_step_unit_download_requests",
         "items_total"=>1,
         "state"=>"NOT_STARTED",
         "error_details"=>[],
         "details"=>"",
         "num_failures"=>0,
         "step_id"=>"5b5beb42-ad3a-4d13-933f-87e2d4c2b9d4",
         "num_processed"=>0},
        {"num_success"=>0,
         "description"=>"Retrieving units",
         "step_type"=>"sync_step_unit_download",
         "items_total"=>1,
         "state"=>"NOT_STARTED",
         "error_details"=>[],
         "details"=>"",
         "num_failures"=>0,
         "step_id"=>"17210de8-4a32-4b9d-9d0f-4825316f2fda",
         "num_processed"=>0},
        {"num_success"=>0,
         "description"=>"Save and associate downloaded units",
         "step_type"=>"sync_step_save",
         "items_total"=>1,
         "state"=>"NOT_STARTED",
         "error_details"=>[],
         "details"=>"",
         "num_failures"=>0,
         "step_id"=>"d700a9f1-67e5-48ae-a58d-b9860e8b863b",
         "num_processed"=>0},
        {"num_success"=>0,
         "description"=>"Save metadata",
         "step_type"=>"sync_step_save_meta",
         "items_total"=>1,
         "state"=>"NOT_STARTED",
         "error_details"=>[],
         "details"=>"",
         "num_failures"=>0,
         "step_id"=>"219df14c-1f20-4519-bf21-a01c9241d063",
         "num_processed"=>0}]},
    "queue"=>"reserved_resource_worker-1@dvpupktva51.tsi.lan.dq2",
    "state"=>"error",
    "worker_name"=>"reserved_resource_worker-1@dvpupktva51.tsi.lan",
    "result"=>nil,
    "error"=>
     {"code"=>"PLP0000",
      "data"=>{},
      "description"=>
       "[Errno 2] No such file or directory: u'/var/cache/pulp/reserved_resource_worker-1@dvpupktva51.tsi.lan/d1902b14-e451-4523-9d83-178d8b52c47a/dists/bionic/main/binary-arm64/Packages.xz'",
      "sub_errors"=>[]},
    "_id"=>{"$oid"=>"5e1e631225ba8520c199931d"},
    "id"=>"5e1e631225ba8520c199931d"}],
 "contents_changed"=>true,
 "poll_attempts"=>{"total"=>6, "failed"=>1}}
2 Likes