8dfb9dc968
We use a non trivial image now (the registry's image in fact) and then push with 4 processes at a time every time we push to the test registry. The idea here is we're generating concurrency in the system that should trip over the bugs that we are finding if they still exist. Change-Id: I4f03132fa0fad6f40806030b14d429d29036a42f
74 lines
2.3 KiB
YAML
74 lines
2.3 KiB
YAML
# Test push and pull from the registry in restricted mode (read access
|
|
# restricted)
|
|
|
|
- name: Start the registry
|
|
shell:
|
|
cmd: docker-compose up -d
|
|
chdir: "{{ ansible_user_dir }}/src/opendev.org/zuul/zuul-registry/playbooks/functional-test/restricted"
|
|
|
|
- name: Print list of images
|
|
command: docker image ls --all --digests --no-trunc
|
|
register: image_list
|
|
failed_when: "'test/image' in image_list.stdout"
|
|
|
|
- name: Copy the test image into local docker image storage
|
|
command: >
|
|
skopeo copy
|
|
docker-archive:{{ workspace }}/test.img
|
|
docker-daemon:localhost:9000/test/image:latest
|
|
|
|
- name: Log in to registry
|
|
command: docker login localhost:9000 -u writeuser -p writepass
|
|
|
|
- name: Push the test image to the registry
|
|
# Use a lot of concurrency to check registry with concurrent pushes
|
|
shell: printf "1\n2\n3\n4\n" | xargs -P 4 -I DNE docker push localhost:9000/test/image
|
|
args:
|
|
executable: /bin/bash
|
|
|
|
- name: Remove the test image from the local cache
|
|
command: docker rmi localhost:9000/test/image
|
|
|
|
- name: Log out of registry
|
|
command: docker logout localhost:9000
|
|
|
|
- name: Try to pull the image from the registry unauthenticated
|
|
command: docker pull localhost:9000/test/image
|
|
register: result
|
|
failed_when: result.rc != 1
|
|
|
|
- name: Log in to registry
|
|
command: docker login localhost:9000 -u readuser -p readpass
|
|
|
|
- name: Print list of images
|
|
command: docker image ls --all --digests --no-trunc
|
|
register: image_list
|
|
failed_when: "'test/image' in image_list.stdout"
|
|
|
|
- name: Pull the image from the registry
|
|
command: docker pull localhost:9000/test/image
|
|
|
|
- name: Print list of images
|
|
command: docker image ls --all --digests --no-trunc
|
|
register: image_list
|
|
failed_when: "'test/image' not in image_list.stdout"
|
|
|
|
- name: Try to pull an image that does not exist
|
|
command: docker pull localhost:9000/test/dne
|
|
register: result
|
|
failed_when: result.rc != 1
|
|
|
|
- name: Remove the test image from the local cache
|
|
command: docker rmi localhost:9000/test/image
|
|
|
|
- name: Stop the registry
|
|
shell:
|
|
cmd: docker-compose down
|
|
chdir: "{{ ansible_user_dir }}/src/opendev.org/zuul/zuul-registry/playbooks/functional-test/restricted"
|
|
|
|
- name: Clean up docker volumes
|
|
command: docker volume prune -f
|
|
|
|
- name: Log out of registry
|
|
command: docker logout localhost:9000
|