community.docker/tests/integration/targets/docker_swarm_service/tasks/tests/resources.yml
2025-10-25 10:12:21 +02:00

197 lines
5.4 KiB
YAML

---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
- name: Registering service name
ansible.builtin.set_fact:
service_name: "{{ name_prefix ~ '-resources' }}"
- name: Registering service name
ansible.builtin.set_fact:
service_names: "{{ service_names + [service_name] }}"
####################################################################
## limits.cpus #####################################################
####################################################################
- name: limits.cpus
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
limits:
cpus: 1
register: limit_cpu_1
- name: limits.cpus (idempotency)
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
limits:
cpus: 1
register: limit_cpu_2
- name: limits.cpus (change)
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
limits:
cpus: 0.5
register: limit_cpu_3
- name: cleanup
community.docker.docker_swarm_service:
name: "{{ service_name }}"
state: absent
diff: false
- ansible.builtin.assert:
that:
- limit_cpu_1 is changed
- limit_cpu_2 is not changed
- limit_cpu_3 is changed
###################################################################
## limits.memory ##################################################
###################################################################
- name: limits.memory
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
limits:
memory: 64M
register: limit_memory_1
- name: limits.memory (idempotency)
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
limits:
memory: 64M
register: limit_memory_2
- name: limits.memory (change)
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
limits:
memory: 32M
register: limit_memory_3
- name: cleanup
community.docker.docker_swarm_service:
name: "{{ service_name }}"
state: absent
diff: false
- ansible.builtin.assert:
that:
- limit_memory_1 is changed
- limit_memory_2 is not changed
- limit_memory_3 is changed
###################################################################
## reservations.cpus ##############################################
###################################################################
- name: reserve_cpu
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
reservations:
cpus: 1
register: reserve_cpu_1
- name: reserve_cpu (idempotency)
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
reservations:
cpus: 1
register: reserve_cpu_2
- name: reserve_cpu (change)
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
reservations:
cpus: 0.5
register: reserve_cpu_3
- name: cleanup
community.docker.docker_swarm_service:
name: "{{ service_name }}"
state: absent
diff: false
- ansible.builtin.assert:
that:
- reserve_cpu_1 is changed
- reserve_cpu_2 is not changed
- reserve_cpu_3 is changed
###################################################################
## reservations.memory ############################################
###################################################################
- name: reservations.memory
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
reservations:
memory: 64M
register: reserve_memory_1
- name: reservations.memory (idempotency)
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
reservations:
memory: 64M
register: reserve_memory_2
- name: reservations.memory (change)
community.docker.docker_swarm_service:
name: "{{ service_name }}"
image: "{{ docker_test_image_alpine }}"
resolve_image: false
command: '/bin/sh -v -c "sleep 10m"'
reservations:
memory: 32M
register: reserve_memory_3
- name: cleanup
community.docker.docker_swarm_service:
name: "{{ service_name }}"
state: absent
diff: false
- ansible.builtin.assert:
that:
- reserve_memory_1 is changed
- reserve_memory_2 is not changed
- reserve_memory_3 is changed