Using a slow Docker Repository makes the UI and Octopus unusable.
This is experienced when configuring a Step template. The same behaviour can be experienced in the TEST of external feeds, if the search takes more than 60 seconds.
When selecting a docker image from within, as an example Kubernetes template, the UI reports 504 Gateway timeout, because the search takes longer than 60 seconds.
This makes it impossible in some scenarios where you need to select a docker image to progress in the UI. The Octopus server itselfs, runs the job to the end, no matter how long time the search takes, verified by sniffing network traffic.
Docker registry API has no search functionality, so Octopus Server has to fetch all image names from the registry until it has 10 results or it has gone through all container image names. It uses the _catalog call, fetching 100 image names pr call.
If you have a registry with 10.000 images, then Octopus makes 100 network calls, because it fetches 100 image names pr call. If that 100 calls, takes longer than 60 seconds, the UI will return http 504 and you are stuck, and unable to progress in the configuration of steps.
Reproduction
Configurer a Docker Registry in External feeds. Make a search against a slow or huge docker repository. We verified this against Artifactory.
Docker registry API has no search functionality, so Octopus Server has to fetch all image names from the registry until it has 10 results or it has gone through all container image names. It uses the _catalog call, fetching 100 image names pr call.
If you have a registry with 10.000 images, then Octopus makes 100 network calls, because it fetches 100 image names pr call. If that 100 calls, takes longer than 60 seconds, the UI will return http 504 and you are stuck, and unable to progress in the configuration of steps.
Severity
Makes us unable to use some Docker repositories
Version
2022.4.8463
Latest Version
None
What happened?
Using a slow Docker Repository makes the UI and Octopus unusable.
This is experienced when configuring a Step template. The same behaviour can be experienced in the TEST of external feeds, if the search takes more than 60 seconds.
When selecting a docker image from within, as an example Kubernetes template, the UI reports 504 Gateway timeout, because the search takes longer than 60 seconds. This makes it impossible in some scenarios where you need to select a docker image to progress in the UI. The Octopus server itselfs, runs the job to the end, no matter how long time the search takes, verified by sniffing network traffic.
Docker registry API has no search functionality, so Octopus Server has to fetch all image names from the registry until it has 10 results or it has gone through all container image names. It uses the _catalog call, fetching 100 image names pr call.
If you have a registry with 10.000 images, then Octopus makes 100 network calls, because it fetches 100 image names pr call. If that 100 calls, takes longer than 60 seconds, the UI will return http 504 and you are stuck, and unable to progress in the configuration of steps.
Reproduction
Configurer a Docker Registry in External feeds. Make a search against a slow or huge docker repository. We verified this against Artifactory.
Docker registry API has no search functionality, so Octopus Server has to fetch all image names from the registry until it has 10 results or it has gone through all container image names. It uses the _catalog call, fetching 100 image names pr call.
If you have a registry with 10.000 images, then Octopus makes 100 network calls, because it fetches 100 image names pr call. If that 100 calls, takes longer than 60 seconds, the UI will return http 504 and you are stuck, and unable to progress in the configuration of steps.
Error and Stacktrace
More Information
No response
Workaround
No response