Skip to content
Snippets Groups Projects
Commit 492b3e52 authored by Giacomo Longo's avatar Giacomo Longo
Browse files

Support Fedora 28

parent 34d1f0bf
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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}"
......
---
- 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"
......
---
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
......
[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 %}
---
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] }}"
\ No newline at end of file
......@@ -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:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment