mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 05:42:50 +00:00
docker_image: improve usage (#52894)
* Add source option. * Split force parameter into force_source, force_absent and force_tag. * Move all build-related options into a suboption called build. * Add changelog.
This commit is contained in:
committed by
John R Barker
parent
fa7c8ce0b4
commit
35e7fb776a
@@ -7,6 +7,7 @@
|
||||
docker_image:
|
||||
name: "hello-world:latest"
|
||||
state: absent
|
||||
force_absent: yes
|
||||
register: absent_1
|
||||
|
||||
- name: Make sure image is not there (idempotency)
|
||||
@@ -23,14 +24,14 @@
|
||||
docker_image:
|
||||
name: "hello-world:latest"
|
||||
state: present
|
||||
pull: no
|
||||
source: pull
|
||||
register: present_1
|
||||
|
||||
- name: Make sure image is there (idempotent)
|
||||
docker_image:
|
||||
name: "hello-world:latest"
|
||||
state: present
|
||||
pull: yes
|
||||
source: pull
|
||||
register: present_2
|
||||
|
||||
- assert:
|
||||
@@ -81,12 +82,14 @@
|
||||
docker_image:
|
||||
name: "{{ registry_address }}/test/hello-world:latest"
|
||||
state: absent
|
||||
force_absent: yes
|
||||
|
||||
- name: Push image to test registry
|
||||
docker_image:
|
||||
name: "hello-world:latest"
|
||||
repository: "{{ registry_address }}/test/hello-world"
|
||||
push: yes
|
||||
source: local
|
||||
register: push_1
|
||||
|
||||
- name: Push image to test registry (idempotent)
|
||||
@@ -94,6 +97,7 @@
|
||||
name: "hello-world:latest"
|
||||
repository: "{{ registry_address }}/test/hello-world"
|
||||
push: yes
|
||||
source: local
|
||||
register: push_2
|
||||
|
||||
- name: Push image to test registry (force, still idempotent)
|
||||
@@ -119,6 +123,7 @@
|
||||
docker_image:
|
||||
name: "{{ registry_address }}/test/hello-world:latest"
|
||||
state: absent
|
||||
force_absent: yes
|
||||
|
||||
- name: Get facts of local image (absent)
|
||||
docker_image_facts:
|
||||
@@ -129,12 +134,14 @@
|
||||
docker_image:
|
||||
name: "{{ registry_address }}/test/hello-world:latest"
|
||||
state: present
|
||||
source: pull
|
||||
register: pull_1
|
||||
|
||||
- name: Pull image from test registry (idempotency)
|
||||
docker_image:
|
||||
name: "{{ registry_address }}/test/hello-world:latest"
|
||||
state: present
|
||||
source: pull
|
||||
register: pull_2
|
||||
|
||||
- name: Get facts of local image (present)
|
||||
|
||||
@@ -9,33 +9,38 @@
|
||||
inames: "{{ inames }} + [iname, iname_1]"
|
||||
|
||||
####################################################################
|
||||
## buildargs #######################################################
|
||||
## build.args ######################################################
|
||||
####################################################################
|
||||
|
||||
- name: buildargs
|
||||
docker_image:
|
||||
path: "{{ role_path }}/files"
|
||||
name: "{{ iname }}"
|
||||
buildargs:
|
||||
TEST1: val1
|
||||
TEST2: val2
|
||||
TEST3: "True"
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
args:
|
||||
TEST1: val1
|
||||
TEST2: val2
|
||||
TEST3: "True"
|
||||
source: build
|
||||
register: buildargs_1
|
||||
|
||||
- name: buildargs (idempotency)
|
||||
docker_image:
|
||||
path: "{{ role_path }}/files"
|
||||
name: "{{ iname }}"
|
||||
buildargs:
|
||||
TEST1: val1
|
||||
TEST2: val2
|
||||
TEST3: "True"
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
args:
|
||||
TEST1: val1
|
||||
TEST2: val2
|
||||
TEST3: "True"
|
||||
source: build
|
||||
register: buildargs_2
|
||||
|
||||
- name: cleanup
|
||||
docker_image:
|
||||
name: "{{ iname }}"
|
||||
state: absent
|
||||
force_absent: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
@@ -55,26 +60,31 @@
|
||||
|
||||
- name: container_limits (Failed due to min memory limit)
|
||||
docker_image:
|
||||
path: "{{ role_path }}/files"
|
||||
name: "{{ iname }}"
|
||||
container_limits:
|
||||
memory: 4000
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
container_limits:
|
||||
memory: 4000
|
||||
source: build
|
||||
ignore_errors: yes
|
||||
register: container_limits_1
|
||||
|
||||
- name: container_limits
|
||||
docker_image:
|
||||
path: "{{ role_path }}/files"
|
||||
name: "{{ iname }}"
|
||||
container_limits:
|
||||
memory: 5000000
|
||||
memswap: 7000000
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
container_limits:
|
||||
memory: 5000000
|
||||
memswap: 7000000
|
||||
source: build
|
||||
register: container_limits_2
|
||||
|
||||
- name: cleanup
|
||||
docker_image:
|
||||
name: "{{ iname }}"
|
||||
state: absent
|
||||
force_absent: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
@@ -93,15 +103,18 @@
|
||||
|
||||
- name: dockerfile
|
||||
docker_image:
|
||||
path: "{{ role_path }}/files"
|
||||
name: "{{ iname }}"
|
||||
dockerfile: "MyDockerfile"
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
dockerfile: "MyDockerfile"
|
||||
source: build
|
||||
register: dockerfile_1
|
||||
|
||||
- name: cleanup
|
||||
docker_image:
|
||||
name: "{{ iname }}"
|
||||
state: absent
|
||||
force_absent: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
@@ -116,19 +129,24 @@
|
||||
docker_image:
|
||||
name: "{{ registry_address }}/test/{{ iname }}:latest"
|
||||
state: absent
|
||||
force_absent: yes
|
||||
|
||||
- name: repository
|
||||
docker_image:
|
||||
name: "{{ iname }}"
|
||||
path: "{{ role_path }}/files"
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
repository: "{{ registry_address }}/test/{{ iname }}"
|
||||
source: build
|
||||
register: repository_1
|
||||
|
||||
- name: repository (idempotent)
|
||||
docker_image:
|
||||
name: "{{ iname }}"
|
||||
path: "{{ role_path }}/files"
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
repository: "{{ registry_address }}/test/{{ iname }}"
|
||||
source: build
|
||||
register: repository_2
|
||||
|
||||
- assert:
|
||||
@@ -145,7 +163,7 @@
|
||||
docker_image:
|
||||
name: "{{ registry_address }}/test/{{ iname }}:latest"
|
||||
state: absent
|
||||
force: yes
|
||||
force_absent: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
@@ -157,29 +175,36 @@
|
||||
|
||||
- name: Build an image
|
||||
docker_image:
|
||||
path: "{{ role_path }}/files"
|
||||
name: "{{ iname }}"
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
source: build
|
||||
|
||||
- name: force (changed)
|
||||
docker_image:
|
||||
path: "{{ role_path }}/files"
|
||||
name: "{{ iname }}"
|
||||
dockerfile: "MyDockerfile"
|
||||
force: yes
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
dockerfile: "MyDockerfile"
|
||||
source: build
|
||||
force_source: yes
|
||||
register: force_1
|
||||
|
||||
- name: force (unchanged)
|
||||
docker_image:
|
||||
path: "{{ role_path }}/files"
|
||||
name: "{{ iname }}"
|
||||
dockerfile: "MyDockerfile"
|
||||
force: yes
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
dockerfile: "MyDockerfile"
|
||||
source: build
|
||||
force_source: yes
|
||||
register: force_2
|
||||
|
||||
- name: cleanup
|
||||
docker_image:
|
||||
name: "{{ iname }}"
|
||||
state: absent
|
||||
force_absent: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
@@ -194,23 +219,27 @@
|
||||
docker_image:
|
||||
name: "hello-world:latest"
|
||||
archive_path: image.tar
|
||||
source: pull
|
||||
register: archive_image
|
||||
|
||||
- name: remove image
|
||||
docker_image:
|
||||
name: "hello-world:latest"
|
||||
state: absent
|
||||
force_absent: yes
|
||||
|
||||
- name: load image (changed)
|
||||
docker_image:
|
||||
name: "hello-world:latest"
|
||||
load_path: image.tar
|
||||
source: load
|
||||
register: load_image
|
||||
|
||||
- name: load image (idempotency)
|
||||
docker_image:
|
||||
name: "hello-world:latest"
|
||||
load_path: image.tar
|
||||
source: load
|
||||
register: load_image_1
|
||||
|
||||
- assert:
|
||||
@@ -226,19 +255,24 @@
|
||||
- name: Build image
|
||||
docker_image:
|
||||
name: "{{ iname }}"
|
||||
path: "{{ role_path }}/files"
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
source: build
|
||||
register: path_1
|
||||
|
||||
- name: Build image(idempotency)
|
||||
- name: Build image (idempotency)
|
||||
docker_image:
|
||||
name: "{{ iname }}"
|
||||
path: "{{ role_path }}/files"
|
||||
build:
|
||||
path: "{{ role_path }}/files"
|
||||
source: build
|
||||
register: path_2
|
||||
|
||||
- name: cleanup
|
||||
docker_image:
|
||||
name: "{{ iname }}"
|
||||
state: absent
|
||||
force_absent: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
|
||||
Reference in New Issue
Block a user