mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 13:52:54 +00:00
[PR #6396/c411e125 backport][stable-6] Setup docker (#6466)
Setup docker (#6396)
* setup-docker: install and run docker inside integration test VMs
* must pip install requests to satisfy community.docker requirements
* add Ubuntu configuration to setup_docker
* Update tests/integration/targets/mssql_script/tasks/main.yml
* Update tests/integration/targets/mssql_script/tasks/main.yml
* docker_pacakges variable non-existent by default
* add setup_docker to keycloak_groups
* add setup_docker to keycloak_groups
* removed unused file tasks/nothing.yml
* add README
* add copyright notice to readme file
* Update tests/integration/targets/setup_docker/README.md
* rolled back the boilerplate disclaimer to mssql_script tasks/main.yml
(cherry picked from commit c411e12555)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
This commit is contained in:
33
tests/integration/targets/setup_docker/tasks/D-Fedora.yml
Normal file
33
tests/integration/targets/setup_docker/tasks/D-Fedora.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
# 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
|
||||
|
||||
# dnf -y install dnf-plugins-core
|
||||
# dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
|
||||
# sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
||||
|
||||
- name: Install dnf-plugins-core
|
||||
become: true
|
||||
package:
|
||||
name: dnf-plugins-core
|
||||
state: present
|
||||
notify: "D-Fedora : Remove dnf-plugins-core"
|
||||
|
||||
- name: Add docker repo
|
||||
become: true
|
||||
ansible.builtin.command:
|
||||
cmd: dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
|
||||
notify: "D-Fedora : Remove repository"
|
||||
|
||||
- name: Install docker
|
||||
become: true
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop: "{{ docker_packages }}"
|
||||
notify: Remove Docker packages
|
||||
|
||||
- name: Inform that docker is installed
|
||||
set_fact:
|
||||
has_docker: true
|
||||
21
tests/integration/targets/setup_docker/tasks/default.yml
Normal file
21
tests/integration/targets/setup_docker/tasks/default.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
# 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
|
||||
|
||||
# dnf -y install dnf-plugins-core
|
||||
# dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
|
||||
# sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
||||
|
||||
- name: Install docker
|
||||
become: true
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop: "{{ docker_packages }}"
|
||||
notify:
|
||||
- Remove Docker packages
|
||||
|
||||
- name: Inform that docker is installed
|
||||
set_fact:
|
||||
has_docker: true
|
||||
55
tests/integration/targets/setup_docker/tasks/main.yml
Normal file
55
tests/integration/targets/setup_docker/tasks/main.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
####################################################################
|
||||
# WARNING: These are designed specifically for Ansible tests #
|
||||
# and should not be used as examples of how to write Ansible roles #
|
||||
####################################################################
|
||||
|
||||
# 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: Print information on which we distinguish
|
||||
debug:
|
||||
msg: "Distribution '{{ ansible_facts.distribution }}', version '{{ ansible_facts.distribution_version }}', OS family '{{ ansible_facts.os_family }}'"
|
||||
|
||||
- name: Install EPEL repository (RHEL only)
|
||||
include_role:
|
||||
name: setup_epel
|
||||
when:
|
||||
- ansible_distribution in ['RedHat', 'CentOS']
|
||||
- ansible_distribution_major_version is version('9', '<')
|
||||
|
||||
- name: Distribution specific
|
||||
block:
|
||||
- name: Include distribution specific vars
|
||||
include_vars: "{{ lookup('first_found', params) }}"
|
||||
vars:
|
||||
params:
|
||||
files: "{{ distro_lookup_names }}"
|
||||
paths:
|
||||
- "{{ role_path }}/vars"
|
||||
- name: Include distribution specific tasks
|
||||
include_tasks: "{{ lookup('first_found', params) }}"
|
||||
vars:
|
||||
params:
|
||||
files: "{{ distro_lookup_names }}"
|
||||
paths:
|
||||
- "{{ role_path }}/tasks"
|
||||
|
||||
- name: Start docker service
|
||||
become: true
|
||||
ansible.builtin.service:
|
||||
name: docker
|
||||
state: started
|
||||
|
||||
- name: Cheat on the docker socket permissions
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: /var/run/docker.sock
|
||||
mode: 0666
|
||||
|
||||
- name: Install python "requests"
|
||||
ansible.builtin.pip:
|
||||
name:
|
||||
- requests
|
||||
state: present
|
||||
Reference in New Issue
Block a user