Fix for debian testing

This commit is contained in:
sfigato 2021-02-25 23:49:26 +01:00
parent 736ad7f351
commit 3c13fb3e78
Signed by: blallo
GPG Key ID: 0CBE577C9B72DC3F
3 changed files with 57 additions and 3 deletions

View File

@ -17,7 +17,7 @@ docker_compose_path: /usr/local/bin/docker-compose
# Used only for Debian/Ubuntu. Switch 'stable' to 'edge' if needed. # Used only for Debian/Ubuntu. Switch 'stable' to 'edge' if needed.
docker_apt_release_channel: stable docker_apt_release_channel: stable
docker_apt_arch: amd64 docker_apt_arch: amd64
docker_apt_repository: "deb [arch={{ docker_apt_arch }}] https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}" docker_apt_repository: "deb [arch={{ docker_apt_arch }}] https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_local.debian_docker_version.safe_version }} {{ docker_apt_release_channel }}"
docker_apt_ignore_key_error: true docker_apt_ignore_key_error: true
# Used only for RedHat/CentOS/Fedora. # Used only for RedHat/CentOS/Fedora.

View File

@ -0,0 +1,37 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import json
import os
import sys
DEBIAN_VERSION_MAP = {8: "jessie", 9: "stretch", 10: "buster", 11: "bullseye"}
def debian_distribution():
with open("/etc/debian_version") as f:
debian_version_string = f.read().strip("\n")
if debian_version_string.endswith("/sid"):
return debian_version_string.strip("/sid")
try:
major, minor = debian_version_string.split(".")
release_number = int(major)
return DEBIAN_VERSION_MAP[release_number]
except ValueError:
return None
def debian_distribution_docker_safe():
debian_version = debian_distribution()
if debian_version == "bullseye":
json.dump({"version": "bullseye", "safe_version": "buster"}, sys.stdout)
elif debian_version is not None:
json.dump(
{"version": debian_version, "safe_version": debian_version}, sys.stdout
)
else:
json.dump("", sys.stdout)
if __name__ == "__main__":
debian_distribution_docker_safe()

View File

@ -1,4 +1,20 @@
--- ---
- name: Ensure custom facts directory is present
file:
path: /etc/ansible/facts.d/
state: directory
- name: Ensure custom fact is present
copy:
src: files/debian_docker_version.fact
dest: /etc/ansible/facts.d
owner: root
group: root
mode: '0755'
- name: reload facts
setup: filter=ansible_local
- name: Ensure old versions of Docker are not installed. - name: Ensure old versions of Docker are not installed.
package: package:
name: name:
@ -11,11 +27,12 @@
name: name:
- apt-transport-https - apt-transport-https
- ca-certificates - ca-certificates
- gnupg2
state: present state: present
- name: Add Docker apt key. - name: Add Docker apt key.
apt_key: apt_key:
url: https://download.docker.com/linux/ubuntu/gpg url: https://download.docker.com/linux/debian/gpg
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88 id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
state: present state: present
register: add_repository_key register: add_repository_key
@ -28,7 +45,7 @@
- name: Add Docker apt key (alternative for older systems without SNI). - name: Add Docker apt key (alternative for older systems without SNI).
shell: | shell: |
set -o pipefail set -o pipefail
curl -sSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - curl -sSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
args: args:
warn: false warn: false
when: add_repository_key is failed when: add_repository_key is failed