docker-archive / docker-registry

This is **DEPRECATED**! Please go to https://github.com/docker/distribution
Apache License 2.0
2.88k stars 879 forks source link

Enforce the same tag name rules as the docker client #943

Closed shin- closed 9 years ago

shin- commented 9 years ago

Tag name validation should be consistent with the client's

https://github.com/docker/docker/blob/master/graph/tags.go#L24

shin- commented 9 years ago

@dmp42 FWIW:

$ tox
GLOB sdist-make: /home/joffrey/work/registry/setup.py
flake8 create: /home/joffrey/work/registry/.tox/flake8
flake8 installdeps: ./depends/docker-registry-core/, -rrequirements/style.txt
flake8 inst: /home/joffrey/work/registry/.tox/dist/docker-registry-1.0.0-dev.zip
flake8 runtests: PYTHONHASHSEED='1302191585'
flake8 runtests: commands[0] | flake8 /home/joffrey/work/registry
py26 create: /home/joffrey/work/registry/.tox/py26
ERROR: InterpreterNotFound: python2.6
py27 create: /home/joffrey/work/registry/.tox/py27
py27 installdeps: ./depends/docker-registry-core/, -rrequirements/test.txt
py27 inst: /home/joffrey/work/registry/.tox/dist/docker-registry-1.0.0-dev.zip
py27 runtests: PYTHONHASHSEED='1302191585'
py27 runtests: commands[0] | python setup.py nosetests
running nosetests
running egg_info
writing top-level names to docker_registry.egg-info/top_level.txt
writing entry points to docker_registry.egg-info/entry_points.txt
writing requirements to docker_registry.egg-info/requires.txt
writing namespace_packages to docker_registry.egg-info/namespace_packages.txt
writing dependency_links to docker_registry.egg-info/dependency_links.txt
writing docker_registry.egg-info/PKG-INFO
reading manifest file 'docker_registry.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'docker_registry.egg-info/SOURCES.txt'
/home/joffrey/work/registry/.tox/py27/local/lib/python2.7/site-packages/pkg_resources.py:1032: UserWarning: /home/joffrey/.python-eggs is writable by group/others and vulnerable to attack when used with get_resource_filename. Consider a more secure location (set with .set_extraction_path or the PYTHON_EGG_CACHE environment variable).
  warnings.warn(msg, UserWarning)
...........................................................................S...........................................................................error: gunicorn executable not found
...............S...........................
Coverage.py warning: Module docker_registry.status was never imported.
Name                            Stmts   Miss  Cover   Missing
-------------------------------------------------------------
docker_registry.app                58     34    41%   30-54, 59, 66-81, 95-102
docker_registry.drivers.s3        100     28    72%   40-52, 55-57, 66, 77, 84, 95-98, 101, 148-161
docker_registry.images            312     92    71%   56, 65, 78, 84-89, 98-100, 102, 107, 115, 122, 127-128, 132-133, 145-146, 149-150, 152-156, 159-160, 166, 168, 186-187, 201, 206-207, 211, 216, 236, 241, 243, 249-252, 270-271, 299-306, 313, 325-328, 339-340, 342, 344, 346, 348, 352, 354, 358, 385-397, 406-426
docker_registry.index              82      9    89%   44-45, 64, 68, 94-95, 97, 113-114
docker_registry.lib                 0      0   100%   
docker_registry.lib.cache          27      0   100%   
docker_registry.lib.checksums      53      0   100%   
docker_registry.lib.config         83     17    80%   67-68, 99, 106-123
docker_registry.lib.index          48     11    77%   42-52, 88
docker_registry.lib.index.db      100      9    91%   58-64, 90-91, 115
docker_registry.lib.layers        141      1    99%   294
docker_registry.lib.mirroring     151     64    58%   28-33, 37-64, 78-80, 96-134, 150, 153-155, 160, 166, 172-183, 231
docker_registry.lib.rqueue        107     72    33%   15, 25-28, 31-48, 60, 64-71, 75, 79-82, 86-89, 93-98, 102-107, 111-112, 116-119, 123, 127, 131, 135, 150-155, 159-163, 166-171
docker_registry.lib.signals         8      0   100%   
docker_registry.lib.xtarfile       40      9    78%   23, 44-46, 60-61, 72-75
docker_registry.run                37     10    73%   74-85
docker_registry.search             13      0   100%   
docker_registry.server             13      0   100%   
docker_registry.server.env          6      0   100%   
docker_registry.storage            20      0   100%   
docker_registry.tags              169     34    80%   32-53, 60-63, 132-137, 158-160, 187, 194-195, 197, 199, 239-240, 271-272
docker_registry.toolkit           259    132    49%   52, 55, 69, 74, 80-85, 116-117, 124-147, 151-172, 176-180, 184-189, 193-200, 207-234, 241-259, 263-267, 271-273, 281-282, 301-302, 317-324, 339-346
-------------------------------------------------------------
TOTAL                            1827    522    71%   
----------------------------------------------------------------------
Ran 194 tests in 16.340s

OK (SKIP=2)
___________________________________ summary ____________________________________
  flake8: commands succeeded
ERROR:   py26: InterpreterNotFound: python2.6
  py27: commands succeeded
shin- commented 9 years ago

bump @dmp42 :3

dmp42 commented 9 years ago

Thanks @shin- !

LGTM