James E. Blair
If two uploads for the same digest race, we could have hit an error when finalizing the upload. The chunks are concatenated into the final file and then removed -- that removal would raise an exception if the chunk was already deleted. To avoid this, we add a lockfile to the digest to detect the race condition, and if we determine that we did not win the race, we delete our upload files and return success, assuming the other contestant won. This lockfile has a 300 second timeout, so if the other upload ended up failing, a later push can resolve the situation. Change-Id: I1ed7e132ede44a8594aa5539e9caf2fcef030ac4
|4 weeks ago|
|playbooks/functional-test||4 months ago|
|tests||1 month ago|
|tools||8 months ago|
|zuul_registry||4 weeks ago|
|.gitignore||8 months ago|
|.gitreview||8 months ago|
|.stestr.conf||8 months ago|
|.zuul.yaml||1 month ago|
|COPYING||8 months ago|
|Dockerfile||8 months ago|
|README.rst||8 months ago|
|bindep.txt||8 months ago|
|requirements.txt||8 months ago|
|setup.cfg||8 months ago|
|setup.py||8 months ago|
|test-requirements.txt||8 months ago|
|tox.ini||8 months ago|
This is a container image registry for use with the Zuul project gating system.
The defining feature of this registry is support for shadowing images: it allows you to upload a local version of an image to use instead of an upstream version. If you pull an image from this registry, it will provide the local version if it exists, or the upstream if it does not.
This makes it suitable for use in a Zuul-driven speculative image pipeline.
The latest documentation for Zuul is published at: https://zuul-ci.org/docs/
There are two Zuul-related mailing lists:
A low-traffic announcement-only list to which every Zuul operator or power-user should subscribe.
General discussion about Zuul, including questions about how to use it, and future development.
You will also find Zuul developers in the #zuul channel on Freenode IRC.
Bugs are handled at: https://storyboard.openstack.org/#!/project/zuul/zuul-registry
Suspected security vulnerabilities are most appreciated if first reported privately following any of the supported mechanisms described at https://zuul-ci.org/docs/zuul/user/vulnerabilities.html
Code reviews are handled by gerrit at https://review.opendev.org
After creating a Gerrit account, use git review to submit patches. Example:
# Do your commits $ git review # Enter your username if prompted
Join #zuul on Freenode to discuss development or usage.
Zuul-registry is free software licensed under the General Public License, version 3.0.
Zuul requires Python 3. It does not support Python 2.