diff --git a/README.md b/README.md index 927be85f0..f74994af3 100644 --- a/README.md +++ b/README.md @@ -104,11 +104,11 @@ vagrant up - **Container Linux by CoreOS** - **Debian** Buster, Jessie, Stretch, Wheezy - **Ubuntu** 16.04, 18.04 -- **CentOS/RHEL** 7, 8 (experimental: see [centos 8 notes](docs/centos8.md) +- **CentOS/RHEL** 7, 8 (experimental: see [centos 8 notes](docs/centos8.md)) - **Fedora** 30, 31 - **Fedora CoreOS** (experimental: see [fcos Note](docs/fcos.md)) - **openSUSE** Leap 42.3/Tumbleweed -- **Oracle Linux** 7 +- **Oracle Linux** 7, 8 (experimental: [centos 8 notes](docs/centos8.md) apply) Note: Upstart/SysV init based OS types are not supported. diff --git a/Vagrantfile b/Vagrantfile index 517ffb5b7..22591415b 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -35,6 +35,7 @@ SUPPORTED_OS = { "opensuse" => {box: "bento/opensuse-leap-15.1", user: "vagrant"}, "opensuse-tumbleweed" => {box: "opensuse/Tumbleweed.x86_64", user: "vagrant"}, "oraclelinux" => {box: "generic/oracle7", user: "vagrant"}, + "oraclelinux8" => {box: "generic/oracle8", user: "vagrant"}, } if File.exist?(CONFIG) @@ -185,6 +186,11 @@ Vagrant.configure("2") do |config| # Disable swap for each vm node.vm.provision "shell", inline: "swapoff -a" + # Disable firewalld on oraclelinux vms + if ["oraclelinux","oraclelinux8"].include? $os + node.vm.provision "shell", inline: "systemctl stop firewalld; systemctl disable firewalld" + end + host_vars[vm_name] = { "ip": ip, "flannel_interface": "eth1", diff --git a/roles/bootstrap-os/tasks/bootstrap-centos.yml b/roles/bootstrap-os/tasks/bootstrap-centos.yml index 5429cf62c..5822c24a4 100644 --- a/roles/bootstrap-os/tasks/bootstrap-centos.yml +++ b/roles/bootstrap-os/tasks/bootstrap-centos.yml @@ -1,4 +1,9 @@ --- +- name: Gather host facts to get ansible_distribution_version ansible_distribution_major_version + setup: + gather_subset: '!all' + filter: ansible_distribution_*version + # For Oracle Linux install public repo - name: Download Oracle Linux public yum repo get_url: @@ -7,6 +12,7 @@ when: - use_oracle_public_repo|default(true) - '"Oracle" in os_release.stdout' + - (ansible_distribution_version | float) < 7.6 - name: Enable Oracle Linux repo ini_file: @@ -21,6 +27,27 @@ when: - use_oracle_public_repo|default(true) - '"Oracle" in os_release.stdout' + - (ansible_distribution_version | float) < 7.6 + +- name: Enable Oracle Linux repo + ini_file: + dest: "/etc/yum.repos.d/oracle-linux-ol{{ ansible_distribution_major_version }}.repo" + section: "{{ item }}" + option: enabled + value: "1" + with_items: + - "ol{{ ansible_distribution_major_version }}_addons" + when: + - '"Oracle" in os_release.stdout' + - (ansible_distribution_version | float) >= 7.6 + +- name: Install EPEL for Oracle Linux repo package + package: + name: "oracle-epel-release-el{{ ansible_distribution_major_version }}" + state: present + when: + - '"Oracle" in os_release.stdout' + - (ansible_distribution_version | float) >= 7.6 # CentOS ships with python installed @@ -51,11 +78,6 @@ no_extra_spaces: true become: true -- name: Gather host facts to get ansible_distribution_major_version - setup: - gather_subset: '!all' - filter: ansible_distribution_major_version - # libselinux-python is required on SELinux enabled hosts # See https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#managed-node-requirements - name: Install libselinux python package