Why the Certified Repository Synchronization is Failing When I Use a Proxy in Automation Hub

Solution Verified - Updated -

Issue

  • The synchronization is returning something similar to the following error.

    GET /api/galaxy/content/rh-certified/v3/sync/config/
    HTTP 200 OK
    Allow: GET, PUT, HEAD, OPTIONS
    Content-Type: application/json
    Vary: Accept
    
    {
        "pk": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "name": "rh-certified",
        "url": "https://cloud.redhat.com/api/automation-hub/",
        "auth_url": "https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token",
        "policy": "immediate",
        "requirements_file": null,
        "created_at": "202XXXXXXXXXXXXXXXXXX",
        "updated_at": "202XXXXXXXXXXXXXXXXXX",
        "username": null,
        "password": null,
        "proxy_url": "http://127.0.0.1:9999/",
        "tls_validation": false,
        "client_key": null,
        "client_cert": null,
        "ca_cert": null,
        "last_sync_task": {
            "task_id": 17,
            "state": "failed",
            "started_at": "202XXXXXXXXXXXXXXXXXX",
            "finished_at": "202XXXXXXXXXXXXXXXXXXX",
            "error": {
            "traceback": "  File \"/usr/lib/python3.6/site-packages/rq/worker.py\", line 936, in perform_job\n    rv = job.perform()\n  File \"/usr/lib/python3.6/site-packages/rq/job.py\", line 684, in perform\n    self._result = self._execute()\n  File \"/usr/lib/python3.6/site-packages/rq/job.py\", line 690, in _execute\n    return self.func(*self.args, **self.kwargs)\n  File \"/usr/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py\", line 82, in sync\n    d_version.create()\n  File \"/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py\", line 148, 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 225, 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_ansible/app/tasks/collections.py\", line 290, in run\n    async for metadata in self._fetch_collections():\n  File \"/usr/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py\", line 441, in _fetch_collections\n    count = await _loop_through_pages(not_done)\n  File \"/usr/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py\", line 399, in _loop_through_pages\n    url = await _get_url(1, versions_url)\n  File \"/usr/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py\", line 387, in _get_url\n    api_endpoint, api_version = await _get_collection_api(remote.url)\n  File \"/usr/lib/python3.6/site-packages/pulp_ansible/app/tasks/collections.py\", line 354, in _get_collection_api\n    api_data = parse_metadata(await downloader.run())\n  File \"/usr/lib/python3.6/site-packages/pulpcore/download/base.py\", line 227, 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_ansible/app/downloaders.py\", line 94, in _run\n    token = await self.update_token_from_auth_url()\n  File \"/usr/lib/python3.6/site-packages/pulp_ansible/app/downloaders.py\", line 119, in update_token_from_auth_url\n    async with self.session.post(url, data=form_payload, raise_for_status=True) as response:\n  File \"/usr/lib64/python3.6/site-packages/aiohttp/client.py\", line 1124, in __aenter__\n    self._resp = await self._coro\n  File \"/usr/lib64/python3.6/site-packages/aiohttp/client.py\", line 528, in _request\n    req, traces=traces, timeout=real_timeout\n  File \"/usr/lib64/python3.6/site-packages/aiohttp/connector.py\", line 537, in connect\n    proto = await self._create_connection(req, traces, timeout)\n  File \"/usr/lib64/python3.6/site-packages/aiohttp/connector.py\", line 894, in _create_connection\n    _, proto = await self._create_direct_connection(req, traces, timeout)\n  File \"/usr/lib64/python3.6/site-packages/aiohttp/connector.py\", line 1053, in _create_direct_connection\n    raise last_exc\n  File \"/usr/lib64/python3.6/site-packages/aiohttp/connector.py\", line 1034, in _create_direct_connection\n    client_error=client_error,\n  File \"/usr/lib64/python3.6/site-packages/aiohttp/connector.py\", line 977, in _wrap_create_connection\n    raise client_error(req.connection_key, exc) from exc\n",
                "description": "Cannot connect to host sso.redhat.com:443 ssl:default [Connect call failed ('XX.XX.XX.XX', 443)]"
            }
        }
    

Environment

  • Automation hub 4.2.0 .

  • pulp/api/v3/status/

            "component": "pulpcore",
            "version": "3.7.3"
            "component": "pulp_container",
            "version": "2.1.0"
            "component": "pulp_ansible",
            "version": "0.5.0"
            "component": "galaxy_ng",
            "version": "4.2.0"
    

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content