Project

General

Profile

Bug #31379

katello Docker repo sync with private Azure registry fails

Added by Farid Adrangi about 2 months ago. Updated about 1 month ago.

Status:
Rejected
Priority:
High
Assignee:
-
Category:
Container
Target version:
Difficulty:
Triaged:
Yes
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:

Description

we have done the following from Foreman/Katello GUO:
1. staged docker conatiners in Azure private registry.
2. created katello product/repository pointing to Azure private registry
3. when we try to sync the repository from GUI, we get the following error below which indicates that token no valid.

Note: we experiment the same thing with dockerhub private repository and we were able to successfully to synchronize. Is there a known compatibility issue with Azure registry / OAuth protocol? Your help and input is appreciated.

We are using Foreman version : 2.2.1 and Katello version: 3.16

Actions::Pulp3::Repository::Sync

Input:

{"repo_id"=>20,
"smart_proxy_id"=>1,
"options"=> {"smart_proxy_id"=>1, "repo_id"=>20, "source_url"=>nil, "options"=>{}},
"remote_user"=>"admin",
"remote_cp_user"=>"admin",
"current_request_id"=>nil,
"current_timezone"=>"Asia/Shanghai",
"current_user_id"=>4,
"current_organization_id"=>3,
"current_location_id"=>2}

Output:

{"pulp_tasks"=>
[{"pulp_href"=>"/pulp/api/v3/tasks/6ab97651-99b4-42b3-818e-509d03733428/",
"pulp_created"=>"2020-11-23T04:51:48.309+00:00",
"state"=>"failed",
"name"=>"pulp_container.app.tasks.synchronize.synchronize",
"started_at"=>"2020-11-23T04:51:48.362+00:00",
"finished_at"=>"2020-11-23T04:51:56.316+00:00",
"error"=> {"traceback"=>
" File \"/usr/lib/python3.6/site-packages/rq/worker.py\", line 822, in perform_job\n" +
" rv = job.perform()\n" +
" File \"/usr/lib/python3.6/site-packages/rq/job.py\", line 605, in perform\n" +
" self._result = self._execute()\n" +
" File \"/usr/lib/python3.6/site-packages/rq/job.py\", line 611, in _execute\n" +
" return self.func(*self.args, **self.kwargs)\n" +
" File \"/usr/lib/python3.6/site-packages/pulp_container/app/tasks/synchronize.py\", line 44, in synchronize\n" +
" dv.create()\n" +
" File \"/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py\", line 149, in create\n" +
" loop.run_until_complete(pipeline)\n" +
" File \"/usr/lib64/python3.6/asyncio/base_events.py\", line 484, in run_until_complete\n" +
" return future.result()\n" +
" File \"/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 209, in create_pipeline\n" +
" await asyncio.gather(*futures)\n" +
" File \"/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/api.py\", line 43, in call\n" +
" await self.run()\n" +
" File \"/usr/lib/python3.6/site-packages/pulp_container/app/tasks/sync_stages.py\", line 59, in run\n" +
" await list_downloader.run(extra_data={'repo_name': repo_name})\n" +
" File \"/usr/lib/python3.6/site-packages/pulpcore/download/base.py\", line 221, in run\n" +
" return await self._run(extra_data=extra_data)\n" +
" File \"/usr/lib/python3.6/site-packages/backoff/_async.py\", line 133, in retry\n" +
" ret = await target(*args, **kwargs)\n" +
" File \"/usr/lib/python3.6/site-packages/pulp_container/app/downloaders.py\", line 75, in _run\n" +
" await self.update_token(response_auth_header, this_token, repo_name)\n" +
" File \"/usr/lib/python3.6/site-packages/pulp_container/app/downloaders.py\", line 133, in update_token\n" +
" self.registry_auth['bearer'] = json.loads(token_data)['token']\n",
"description"=>"'token'"},
"worker"=>"/pulp/api/v3/workers/c67e2a9c-5b96-4949-a0e1-fa4d92fa92c6/",
"progress_reports"=>
[{"message"=>"Downloading tag list",
"code"=>"downloading.tag_list",
"state"=>"failed",
"total"=>1,
"done"=>0}, {"message"=>"Downloading Artifacts",
"code"=>"downloading.artifacts",
"state"=>"canceled",
"done"=>0}, {"message"=>"Associating Content",
"code"=>"associating.content",
"state"=>"canceled",
"done"=>0}],
"created_resources"=>[],
"reserved_resources_record"=>
["/pulp/api/v3/repositories/container/container/298528be-628a-4f3a-a8f9-d7b2118599a0/",
"/pulp/api/v3/remotes/container/container/203ef170-b226-4752-a2d6-251fe7b87bba/"]}],
"create_version"=>true,
"poll_attempts"=>{"total"=>10, "failed"=>1}}

Exception:

Katello::Errors::Pulp3Error: 'token'

journal.txt journal.txt 183 KB Farid Adrangi, 12/02/2020 11:55 PM

History

#1 Updated by Tomer Brisker about 2 months ago

  • Category deleted (Authentication)
  • Project changed from Foreman to Katello

#2 Updated by Jonathon Turel about 2 months ago

  • Difficulty deleted (hard)
  • Status changed from New to Need more information
  • Category set to Container
  • Subject changed from katello Dokcer repo sync with private Azure registry fails to katello Docker repo sync with private Azure registry fails

Hey Farid,

Can you check journalctl from when you tried to sync (or try the sync again) and capture any errors that are logged. Please share anything you find here

#3 Updated by Farid Adrangi about 2 months ago

Hello Jonathon:
Thanks so much for looking into this issue. I attached the output of journalctl below (called journal.txt). Please let me know if you require more information.

#4 Updated by Farid Adrangi about 1 month ago

Hello Johnathan:
Any update here? Do you need any other information?

#5 Updated by Jonathon Turel about 1 month ago

  • Triaged changed from No to Yes
  • Target version set to Katello Recycle Bin
  • Status changed from Need more information to Rejected

Hey Farid,

I think this is an issue in pulpcore (pulp3). I filed a bug over there for you: https://pulp.plan.io/issues/8003

Please keep an eye on the pulp issue as they may reach out for more information from you. If any work for Katello is identified, I will re-open this and track it that way but for now I will close this since there is no action to take for us directly.

Jonathon

Also available in: Atom PDF