Support Fedora 28
This commit is contained in:
parent
34d1f0bff2
commit
492b3e525d
10 changed files with 86 additions and 4 deletions
|
@ -92,6 +92,7 @@ Supported Linux Distributions
|
|||
- **Debian** Jessie, Stretch, Wheezy
|
||||
- **Ubuntu** 16.04, 18.04
|
||||
- **CentOS/RHEL** 7
|
||||
- **Fedora** 28
|
||||
- **Fedora/CentOS** Atomic
|
||||
- **openSUSE** Leap 42.3/Tumbleweed
|
||||
|
||||
|
|
5
Vagrantfile
vendored
5
Vagrantfile
vendored
|
@ -18,6 +18,7 @@ SUPPORTED_OS = {
|
|||
"coreos-beta" => {box: "coreos-beta", bootstrap_os: "coreos", user: "core", box_url: COREOS_URL_TEMPLATE % ["beta"]},
|
||||
"ubuntu" => {box: "bento/ubuntu-16.04", bootstrap_os: "ubuntu", user: "vagrant"},
|
||||
"centos" => {box: "centos/7", bootstrap_os: "centos", user: "vagrant"},
|
||||
"fedora" => {box: "fedora/28-cloud-base", bootstrap_os: "fedora", user: "vagrant"},
|
||||
"opensuse" => {box: "opensuse/openSUSE-42.3-x86_64", bootstrap_os: "opensuse", use: "vagrant"},
|
||||
"opensuse-tumbleweed" => {box: "opensuse/openSUSE-Tumbleweed-x86_64", bootstrap_os: "opensuse", use: "vagrant"},
|
||||
}
|
||||
|
@ -127,6 +128,10 @@ Vagrant.configure("2") do |config|
|
|||
|
||||
config.vm.provider :libvirt do |lv|
|
||||
lv.memory = $vm_memory
|
||||
# Fix kernel panic on fedora 28
|
||||
if $os == "fedora"
|
||||
lv.cpu_mode = "host-passthrough"
|
||||
end
|
||||
end
|
||||
|
||||
ip = "#{$subnet}.#{i+100}"
|
||||
|
|
20
roles/bootstrap-os/tasks/bootstrap-fedora.yml
Normal file
20
roles/bootstrap-os/tasks/bootstrap-fedora.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
|
||||
- name: Bootstrap | Check if bootstrap is needed
|
||||
raw: which "{{ item }}"
|
||||
register: need_bootstrap
|
||||
failed_when: false
|
||||
changed_when: false
|
||||
with_items:
|
||||
- python
|
||||
tags: facts
|
||||
|
||||
- name: Install python on fedora
|
||||
raw: "dnf install --assumeyes --quiet {{ item['item'] }}"
|
||||
when: item['rc'] != 0
|
||||
loop: "{{ need_bootstrap['results'] }}"
|
||||
|
||||
- name: Install required python packages
|
||||
dnf:
|
||||
name: libselinux-python
|
||||
state: present
|
|
@ -8,6 +8,9 @@
|
|||
- import_tasks: bootstrap-coreos.yml
|
||||
when: bootstrap_os == "coreos"
|
||||
|
||||
- import_tasks: bootstrap-fedora.yml
|
||||
when: bootstrap_os == "fedora"
|
||||
|
||||
- import_tasks: bootstrap-centos.yml
|
||||
when: bootstrap_os == "centos"
|
||||
|
||||
|
|
5
roles/cri-o/vars/fedora.yml
Normal file
5
roles/cri-o/vars/fedora.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
crio_packages:
|
||||
- cri-o
|
||||
|
||||
crio_service: cri-o
|
|
@ -26,6 +26,9 @@ yum_conf: /etc/yum.conf
|
|||
yum_repo_dir: /etc/yum.repos.d
|
||||
docker_yum_conf: /etc/yum_docker.conf
|
||||
|
||||
# Fedora docker-ce repo
|
||||
docker_fedora_repo_base_url: 'https://download.docker.com/linux/fedora/$releasever/$basearch/stable'
|
||||
docker_fedora_repo_gpgkey: 'https://download.docker.com/linux/fedora/gpg'
|
||||
# CentOS/RedHat docker-ce repo
|
||||
docker_rh_repo_base_url: 'https://download.docker.com/linux/centos/7/$basearch/stable'
|
||||
docker_rh_repo_gpgkey: 'https://download.docker.com/linux/centos/gpg'
|
||||
|
|
|
@ -89,6 +89,12 @@
|
|||
- use_docker_engine is defined and use_docker_engine
|
||||
- not (ansible_os_family in ["CoreOS", "Container Linux by CoreOS", "RedHat", "Suse"] or is_atomic) and (dockerproject_repo_info.repos|length > 0)
|
||||
|
||||
- name: Configure docker repository on Fedora
|
||||
template:
|
||||
src: "fedora_docker.repo.j2"
|
||||
dest: "{{ yum_repo_dir }}/docker.repo"
|
||||
when: ansible_distribution == "Fedora" and not is_atomic
|
||||
|
||||
- name: Configure docker repository on RedHat/CentOS
|
||||
template:
|
||||
src: "rh_docker.repo.j2"
|
||||
|
@ -118,7 +124,7 @@
|
|||
force: "{{item.force|default(omit)}}"
|
||||
conf_file: "{{item.yum_conf|default(omit)}}"
|
||||
state: present
|
||||
update_cache: yes
|
||||
update_cache: "{{ omit if ansible_distribution == 'Fedora' else True }}"
|
||||
register: docker_task_result
|
||||
until: docker_task_result|succeeded
|
||||
retries: 4
|
||||
|
@ -130,13 +136,17 @@
|
|||
|
||||
- name: get available packages on Ubuntu
|
||||
command: apt-cache policy docker-ce
|
||||
when: docker_task_result|failed
|
||||
when:
|
||||
- docker_task_result|failed
|
||||
- ansible_distribution == 'Ubuntu'
|
||||
register: available_packages
|
||||
|
||||
- name: show available packages on ubuntu
|
||||
fail:
|
||||
msg: "{{available_packages}}"
|
||||
when: docker_task_result|failed
|
||||
when:
|
||||
- docker_task_result|failed
|
||||
- ansible_distribution == 'Ubuntu'
|
||||
|
||||
# This is required to ensure any apt upgrade will not break kubernetes
|
||||
- name: Set docker pin priority to apt_preferences on Debian family
|
||||
|
|
7
roles/docker/templates/fedora_docker.repo.j2
Normal file
7
roles/docker/templates/fedora_docker.repo.j2
Normal file
|
@ -0,0 +1,7 @@
|
|||
[docker-ce]
|
||||
name=Docker-CE Repository
|
||||
baseurl={{ docker_fedora_repo_base_url }}
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey={{ docker_fedora_repo_gpgkey }}
|
||||
{% if http_proxy is defined %}proxy={{ http_proxy }}{% endif %}
|
20
roles/docker/vars/fedora.yml
Normal file
20
roles/docker/vars/fedora.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
docker_kernel_min_version: '0'
|
||||
|
||||
# https://docs.docker.com/install/linux/docker-ce/fedora/
|
||||
|
||||
docker_versioned_pkg:
|
||||
'latest': docker-ce
|
||||
'18.03': docker-ce-18.03.1.ce-3.fc28
|
||||
'18.06': docker-ce-18.06.1.ce-3.fc28
|
||||
|
||||
#
|
||||
# This is due to the fact that the docker
|
||||
# packages available on Fedora are too recent
|
||||
#
|
||||
docker_version: "latest"
|
||||
|
||||
docker_package_info:
|
||||
pkg_mgr: dnf
|
||||
pkgs:
|
||||
- name: "{{ docker_versioned_pkg[docker_version | string] }}"
|
|
@ -25,6 +25,12 @@
|
|||
delay: "{{ retry_stagger | random + 3 }}"
|
||||
when: ansible_os_family == "Debian"
|
||||
|
||||
- name: install rkt pkg on fedora
|
||||
dnf:
|
||||
name: rkt
|
||||
state: present
|
||||
when: ansible_distribution == "Fedora"
|
||||
|
||||
- name: install rkt pkg on centos
|
||||
yum:
|
||||
pkg: "{{ rkt_download_url }}/{{ rkt_pkg_name }}"
|
||||
|
@ -33,7 +39,9 @@
|
|||
until: rkt_task_result|succeeded
|
||||
retries: 4
|
||||
delay: "{{ retry_stagger | random + 3 }}"
|
||||
when: ansible_os_family == "RedHat"
|
||||
when:
|
||||
- ansible_os_family == "RedHat"
|
||||
- ansible_distribution != "Fedora"
|
||||
|
||||
- name: install rkt pkg on openSUSE
|
||||
zypper:
|
||||
|
|
Loading…
Reference in a new issue