Project

General

Profile

Actions

Bug #31379

closed

katello Docker repo sync with private Azure registry fails

Added by Farid Adrangi over 3 years ago. Updated over 3 years ago.

Status:
Rejected
Priority:
High
Assignee:
-
Category:
Container
Target version:
Difficulty:
Triaged:
Yes
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'


Files

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

Updated by Tomer Brisker over 3 years ago

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

Updated by Jonathon Turel over 3 years ago

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

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

Actions #3

Updated by Farid Adrangi over 3 years 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.

Actions #4

Updated by Farid Adrangi over 3 years ago

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

Actions #5

Updated by Jonathon Turel over 3 years ago

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

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

Actions

Also available in: Atom PDF