Environment creation times out when pulling requirements from a private repo
In the realm of secure environments, Aria Orchestrator plays a pivotal role in orchestrating workflows efficiently. However, for users operating in environments without internet access, creating a custom Python environment within Aria Orchestrator presented a unique challenge. The system, by default, attempted to update dependencies from a public repository before turning to an internal PyPI repo, leading to delays and potential timeouts.
The Challenge:
Consider a scenario where the Orchestrator logs showcase repeated attempts to connect to public repositories, causing delays in fetching dependencies. This process not only affects the speed of environment creation but, in cases with multiple requirements and dependencies, could result in timeouts after the 30-minute mark, rendering the Python environment creation unsuccessful. For Example2023-09-28 10:30:51.171 +01:00INFO[Start downloading dependencies]
2023-09-28 10:30:51.172 +01:00INFO
2023-09-28 10:30:51.218 +01:00INFODownloading requests 2.31.0 …
2023-09-28 10:30:51.219 +01:00INFOWill try to download requests 2.31.0 from private repository: https://myrepo/artifactory/api/pypi/pypi/simple
2023-09-28 10:30:51.655 +01:00INFOLooking in indexes: https://pypi.org/simple, https://myrepo/artifactory/api/pypi/pypi/simple
2023-09-28 10:31:06.674 +01:00ERRORWARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', TimeoutError('timed out'))': /simple/requests/
2023-09-28 10:31:22.192 +01:00ERRORWARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', TimeoutError('timed out'))': /simple/requests/
2023-09-28 10:31:38.209 +01:00ERRORWARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', TimeoutError('timed out'))': /simple/requests/
2023-09-28 10:31:55.226 +01:00ERRORWARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', TimeoutError('timed out'))': /simple/requests/
2023-09-28 10:32:14.269 +01:00ERRORWARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', TimeoutError('timed out'))': /simple/requests/
2023-09-28 10:32:29.590 +01:00INFOCollecting requests==2.31.0
2023-09-28 10:32:29.627 +01:00INFO Downloading https://myrepo/artifactory/api/pypi/pypi/packages/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl (62 kB)
2023-09-28 10:32:29.645 +01:00INFO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 4.5 MB/s eta 0:00:00
The Solution:
The good news is that Aria Orchestrator version 8.13 introduces a solution to this challenge. With this update, if a private repository is defined, the Orchestrator prioritizes it over public repositories. This significant improvement ensures a streamlined environment creation process, addressing performance concerns and mitigating timeouts.
Performance Improvements:
The update brings about a fundamental shift in the dependency resolution process. Now, Aria Orchestrator always attempts to fetch dependencies from the private repository first, leading to substantial performance improvements. This not only expedites the environment creation process but also ensures a smoother experience, especially in environments with restricted internet access.
Version 8.13: A Game-Changer for Python Environments:
For users grappling with sluggish environment creation and timeouts, upgrading to Aria Orchestrator version 8.13 proves to be a game-changer. The update aligns with the needs of secure environments, offering enhanced control and efficiency when configuring Python environments within the Orchestrator.