mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-06 06:04:24 -07:00
Removal of docker content for 2.0.0 (#1304)
* Remove docker content. * Clean up BOTMETA. * Add redirects, tombstone docker_image_facts and docker_service. * Add changelog. * Remove docker action group. * Rewrite fragment. * Ansible 2.11 is now called Ansible 3.0.0.
This commit is contained in:
parent
a96f90ff94
commit
f896c2986c
261 changed files with 78 additions and 37392 deletions
|
@ -1,45 +0,0 @@
|
|||
---
|
||||
- name: Get OS version
|
||||
shell: uname -r
|
||||
register: os_version
|
||||
|
||||
- name: Install pre-reqs
|
||||
apt:
|
||||
name: '{{ docker_prereq_packages }}'
|
||||
state: present
|
||||
update_cache: true
|
||||
notify: cleanup docker
|
||||
|
||||
- name: Add gpg key
|
||||
shell: curl -fsSL https://download.docker.com/linux/ubuntu/gpg >key && apt-key add key
|
||||
|
||||
- name: Add Docker repo
|
||||
shell: add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||
|
||||
- block:
|
||||
- name: Prevent service restart
|
||||
copy:
|
||||
content: exit 101
|
||||
dest: /usr/sbin/policy-rc.d
|
||||
backup: true
|
||||
mode: '0755'
|
||||
register: policy_rc_d
|
||||
|
||||
- name: Install Docker CE
|
||||
apt:
|
||||
name: '{{ docker_packages }}'
|
||||
state: present
|
||||
update_cache: true
|
||||
|
||||
always:
|
||||
- name: Restore /usr/sbin/policy-rc.d (if needed)
|
||||
command: mv {{ policy_rc_d.backup_file }} /usr/sbin/policy-rc.d
|
||||
when:
|
||||
- '''backup_file'' in policy_rc_d'
|
||||
|
||||
- name: Remove /usr/sbin/policy-rc.d (if needed)
|
||||
file:
|
||||
path: /usr/sbin/policy-rc.d
|
||||
state: absent
|
||||
when:
|
||||
- '''backup_file'' not in policy_rc_d'
|
|
@ -1,26 +0,0 @@
|
|||
---
|
||||
- name: Import GPG key
|
||||
rpm_key:
|
||||
key: https://download.docker.com/linux/fedora/gpg
|
||||
state: present
|
||||
|
||||
- name: Add repository
|
||||
yum_repository:
|
||||
file: docker-ce
|
||||
name: docker-ce-stable
|
||||
description: Docker CE Stable - $basearch
|
||||
baseurl: https://download.docker.com/linux/fedora/{{ 31 if ansible_facts.distribution_major_version|int > 31 else '$releasever' }}/$basearch/stable
|
||||
enabled: yes
|
||||
gpgcheck: yes
|
||||
|
||||
- name: Update cache
|
||||
command: dnf makecache
|
||||
args:
|
||||
warn: no
|
||||
|
||||
- name: Install docker
|
||||
dnf:
|
||||
name: "{{ docker_packages }}"
|
||||
state: present
|
||||
enablerepo: docker-ce-test
|
||||
notify: cleanup docker
|
|
@ -1,45 +0,0 @@
|
|||
---
|
||||
# The RHEL extras repository must be enabled to provide the container-selinux package.
|
||||
# See: https://docs.docker.com/engine/installation/linux/docker-ee/rhel/#install-using-the-repository
|
||||
|
||||
- name: Install Docker pre-reqs
|
||||
yum:
|
||||
name: "{{ docker_prereq_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
|
||||
- name: Install epel repo which is missing on rhel-7 and is needed for pigz (needed for docker-ce 18)
|
||||
include_role:
|
||||
name: setup_epel
|
||||
|
||||
- name: Enable extras repository for RHEL on AWS
|
||||
# RHEL 7.6 uses REGION-rhel-server-extras and RHEL 7.7+ use rhel-7-server-rhui-extras-rpms
|
||||
command: yum-config-manager --enable REGION-rhel-server-extras rhel-7-server-rhui-extras-rpms
|
||||
args:
|
||||
warn: no
|
||||
|
||||
# Docker broke their .repo file, so we set it up ourselves
|
||||
- name: Set-up repository
|
||||
yum_repository:
|
||||
name: docker-ce
|
||||
description: docker-ce
|
||||
baseurl: https://download.docker.com/linux/centos/{{ ansible_facts.distribution_major_version }}/$basearch/stable
|
||||
gpgcheck: true
|
||||
gpgkey: https://download.docker.com/linux/centos/gpg
|
||||
|
||||
- name: Update cache
|
||||
command: yum -y makecache fast
|
||||
args:
|
||||
warn: no
|
||||
|
||||
- name: Install docker
|
||||
yum:
|
||||
name: "{{ docker_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
|
||||
- name: Make sure the docker daemon is running (failure expected inside docker container)
|
||||
service:
|
||||
name: docker
|
||||
state: started
|
||||
ignore_errors: "{{ ansible_virtualization_type == 'docker' }}"
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
# The RHEL extras repository must be enabled to provide the container-selinux package.
|
||||
# See: https://docs.docker.com/engine/installation/linux/docker-ee/rhel/#install-using-the-repository
|
||||
|
||||
- name: Install Docker pre-reqs
|
||||
dnf:
|
||||
name: "{{ docker_prereq_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
register: result
|
||||
until: result is success
|
||||
retries: 10
|
||||
delay: 2
|
||||
|
||||
# Docker broke their .repo file, so we set it up ourselves
|
||||
- name: Set-up repository
|
||||
yum_repository:
|
||||
name: docker-ce
|
||||
description: docker-ce
|
||||
baseurl: https://download.docker.com/linux/centos/{{ ansible_facts.distribution_major_version }}/$basearch/stable
|
||||
gpgcheck: true
|
||||
gpgkey: https://download.docker.com/linux/centos/gpg
|
||||
|
||||
- name: Install docker
|
||||
dnf:
|
||||
name: "{{ docker_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
|
||||
- name: Make sure the docker daemon is running (failure expected inside docker container)
|
||||
service:
|
||||
name: docker
|
||||
state: started
|
||||
ignore_errors: "{{ ansible_virtualization_type == 'docker' }}"
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
- name: Install docker 17
|
||||
community.general.zypper:
|
||||
name: "{{ docker_packages }}"
|
||||
force: yes
|
||||
disable_gpg_check: yes
|
||||
update_cache: yes
|
||||
notify: cleanup docker
|
|
@ -1,137 +0,0 @@
|
|||
---
|
||||
####################################################################
|
||||
# WARNING: These are designed specifically for Ansible tests #
|
||||
# and should not be used as examples of how to write Ansible roles #
|
||||
####################################################################
|
||||
|
||||
- name: Setup Docker
|
||||
when: ansible_facts.distribution ~ ansible_facts.distribution_major_version not in ['CentOS6', 'RedHat6']
|
||||
block:
|
||||
- name: Include distribution specific variables
|
||||
include_vars: "{{ lookup('first_found', params) }}"
|
||||
vars:
|
||||
params:
|
||||
files:
|
||||
- "{{ ansible_facts.distribution }}-{{ ansible_facts.distribution_major_version }}.yml"
|
||||
- "{{ ansible_facts.os_family }}-{{ ansible_facts.distribution_major_version }}.yml"
|
||||
- "{{ ansible_facts.distribution }}.yml"
|
||||
- "{{ ansible_facts.os_family }}.yml"
|
||||
- default.yml
|
||||
paths:
|
||||
- "{{ role_path }}/vars"
|
||||
|
||||
- name: Include distribution specific tasks
|
||||
include_tasks: "{{ lookup('first_found', params) }}"
|
||||
vars:
|
||||
params:
|
||||
files:
|
||||
- "{{ ansible_facts.distribution }}-{{ ansible_facts.distribution_major_version }}.yml"
|
||||
- "{{ ansible_facts.os_family }}-{{ ansible_facts.distribution_major_version }}.yml"
|
||||
- "{{ ansible_facts.distribution }}.yml"
|
||||
- "{{ ansible_facts.os_family }}.yml"
|
||||
paths:
|
||||
- "{{ role_path }}/tasks"
|
||||
|
||||
# Detect docker API version
|
||||
- name: Check Docker API version
|
||||
command: "docker version -f {% raw %}'{{(index .Server.Components 0).Details.ApiVersion}}'{% endraw %}"
|
||||
register: docker_api_version_stdout
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Limit docker pypi package version to < 4.3.0
|
||||
set_fact:
|
||||
docker_pip_package_limit: '<4.3.0'
|
||||
when: (docker_api_version_stdout.stdout | default('0.0')) is version('1.39', '<')
|
||||
|
||||
- name: Install Python requirements
|
||||
pip:
|
||||
state: present
|
||||
name: "{{ [docker_pip_package ~ docker_pip_package_limit] + docker_pip_extra_packages }}"
|
||||
extra_args: "-c {{ remote_constraints }}"
|
||||
notify: cleanup docker
|
||||
|
||||
# Detect docker CLI, API and docker-py versions
|
||||
- name: Check Docker CLI version
|
||||
command: "docker version -f {% raw %}'{{.Client.Version}}'{% endraw %}"
|
||||
register: docker_cli_version_stdout
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Check Docker API version
|
||||
command: "{{ ansible_python.executable }} -c 'import docker; print(docker.from_env().version()[\"ApiVersion\"])'"
|
||||
register: docker_api_version_stdout
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Check docker-py API version
|
||||
command: "{{ ansible_python.executable }} -c 'import docker; print(docker.__version__)'"
|
||||
register: docker_py_version_stdout
|
||||
ignore_errors: yes
|
||||
|
||||
- set_fact:
|
||||
docker_cli_version: "{{ docker_cli_version_stdout.stdout | default('0.0') }}"
|
||||
docker_api_version: "{{ docker_api_version_stdout.stdout | default('0.0') }}"
|
||||
docker_py_version: "{{ docker_py_version_stdout.stdout | default('0.0') }}"
|
||||
|
||||
- debug:
|
||||
msg: "Docker CLI version: {{ docker_cli_version }}; Docker API version: {{ docker_api_version }}; docker-py library version: {{ docker_py_version }}"
|
||||
|
||||
- block:
|
||||
# Cleanup docker daemon
|
||||
- name: "Remove all ansible-test-* docker containers"
|
||||
shell: 'docker ps --no-trunc --format {% raw %}"{{.Names}}"{% endraw %} | grep "^ansible-test-" | xargs -r docker rm -f'
|
||||
register: docker_containers
|
||||
retries: 3
|
||||
delay: 3
|
||||
until: docker_containers is success
|
||||
ignore_errors: yes
|
||||
|
||||
- name: "Remove all ansible-test-* docker volumes"
|
||||
shell: 'docker volume ls --format {% raw %}"{{.Name}}"{% endraw %} | grep "^ansible-test-" | xargs -r docker volume rm -f'
|
||||
register: docker_volumes
|
||||
ignore_errors: yes
|
||||
|
||||
- name: "Remove all ansible-test-* docker networks"
|
||||
shell: 'docker network ls --no-trunc --format {% raw %}"{{.Name}}"{% endraw %} | grep "^ansible-test-" | xargs -r docker network rm'
|
||||
register: docker_networks
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Cleaned docker resources
|
||||
debug:
|
||||
var: docker_resources
|
||||
vars:
|
||||
docker_resources:
|
||||
containers: "{{ docker_containers.stdout_lines | default([]) }}"
|
||||
volumes: "{{ docker_volumes.stdout_lines | default([]) }}"
|
||||
networks: "{{ docker_networks.stdout_lines | default([]) }}"
|
||||
|
||||
# List all existing docker resources
|
||||
- name: List all docker containers
|
||||
command: docker ps --no-trunc -a
|
||||
register: docker_containers
|
||||
ignore_errors: yes
|
||||
|
||||
- name: List all docker volumes
|
||||
command: docker volume ls
|
||||
register: docker_volumes
|
||||
ignore_errors: yes
|
||||
|
||||
- name: List all docker networks
|
||||
command: docker network ls --no-trunc
|
||||
register: docker_networks
|
||||
ignore_errors: yes
|
||||
|
||||
- name: List all docker images
|
||||
command: docker images --no-trunc -a
|
||||
register: docker_images
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Still existing docker resources
|
||||
debug:
|
||||
var: docker_resources
|
||||
vars:
|
||||
docker_resources:
|
||||
containers: "{{ docker_containers.stdout_lines | default([]) }}"
|
||||
volumes: "{{ docker_volumes.stdout_lines | default([]) }}"
|
||||
networks: "{{ docker_networks.stdout_lines | default([]) }}"
|
||||
images: "{{ docker_images.stdout_lines | default([]) }}"
|
||||
|
||||
when: docker_cli_version is version('0.0', '>')
|
Loading…
Add table
Add a link
Reference in a new issue