Browse Source

Merge pull request #863 from bogdando/coreos_facts

[WIP] Better fix for different CoreOS os family facts
pull/865/head
Spencer Smith 7 years ago
committed by GitHub
parent
commit
aa33613b98
17 changed files with 35 additions and 35 deletions
  1. 2
      roles/docker/handlers/main.yml
  2. 8
      roles/docker/tasks/main.yml
  3. 2
      roles/docker/tasks/systemd.yml
  4. 8
      roles/download/tasks/main.yml
  5. 2
      roles/etcd/meta/main.yml
  6. 2
      roles/etcd/tasks/gen_certs.yml
  7. 8
      roles/kubernetes/preinstall/handlers/main.yml
  8. 6
      roles/kubernetes/preinstall/tasks/main.yml
  9. 8
      roles/kubernetes/preinstall/tasks/resolvconf.yml
  10. 4
      roles/kubernetes/preinstall/tasks/set_resolv_facts.yml
  11. 2
      roles/kubernetes/secrets/tasks/gen_certs.yml
  12. 2
      roles/network_plugin/calico/rr/meta/main.yml
  13. 2
      roles/network_plugin/flannel/handlers/main.yml
  14. 2
      roles/network_plugin/flannel/templates/flannel-options.conf.j2
  15. 4
      tests/testcases/020_check-create-pod.yml
  16. 4
      tests/testcases/030_check-network.yml
  17. 4
      tests/testcases/040_check-network-adv.yml

2
roles/docker/handlers/main.yml

@ -15,7 +15,7 @@
service:
name: docker.socket
state: restarted
when: ansible_os_family == 'Container Linux by CoreOS'
when: ansible_os_family in ['CoreOS', 'Container Linux by CoreOS']
- name: Docker | reload docker
service:

8
roles/docker/tasks/main.yml

@ -20,7 +20,7 @@
docker requires a minimum kernel version of
{{ docker_kernel_min_version }} on
{{ ansible_distribution }}-{{ ansible_distribution_version }}
when: (ansible_os_family != "Container Linux by CoreOS") and (ansible_kernel|version_compare(docker_kernel_min_version, "<"))
when: (not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]) and (ansible_kernel|version_compare(docker_kernel_min_version, "<"))
tags: facts
- name: ensure docker repository public key is installed
@ -34,7 +34,7 @@
retries: 4
delay: "{{ retry_stagger | random + 3 }}"
with_items: "{{ docker_repo_key_info.repo_keys }}"
when: ansible_os_family != "Container Linux by CoreOS"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: ensure docker repository is enabled
action: "{{ docker_repo_info.pkg_repo }}"
@ -42,7 +42,7 @@
repo: "{{item}}"
state: present
with_items: "{{ docker_repo_info.repos }}"
when: (ansible_os_family != "Container Linux by CoreOS") and (docker_repo_info.repos|length > 0)
when: (not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]) and (docker_repo_info.repos|length > 0)
- name: Configure docker repository on RedHat/CentOS
copy:
@ -61,7 +61,7 @@
retries: 4
delay: "{{ retry_stagger | random + 3 }}"
with_items: "{{ docker_package_info.pkgs }}"
when: (ansible_os_family != "Container Linux by CoreOS") and (docker_package_info.pkgs|length > 0)
when: (not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]) and (docker_package_info.pkgs|length > 0)
- name: Set docker systemd config
include: systemd.yml

2
roles/docker/tasks/systemd.yml

@ -13,7 +13,7 @@
src: docker.service.j2
dest: /etc/systemd/system/docker.service
register: docker_service_file
when: ansible_os_family != "Container Linux by CoreOS"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: Write docker options systemd drop-in
template:

8
roles/download/tasks/main.yml

@ -119,7 +119,7 @@
delegate_to: "{{ download_delegate }}"
register: saved
run_once: true
when: (ansible_os_family != "Container Linux by CoreOS" or download_delegate == "localhost") and download_run_once|bool and download.enabled|bool and download.container|bool and (container_changed|bool or not img.stat.exists)
when: (not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] or download_delegate == "localhost") and download_run_once|bool and download.enabled|bool and download.container|bool and (container_changed|bool or not img.stat.exists)
- name: Download | copy container images to ansible host
synchronize:
@ -128,7 +128,7 @@
mode: pull
delegate_to: localhost
become: false
when: ansible_os_family != "Container Linux by CoreOS" and inventory_hostname == groups['kube-master'][0] and download_delegate != "localhost" and download_run_once|bool and download.enabled|bool and download.container|bool and saved.changed
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] and inventory_hostname == groups['kube-master'][0] and download_delegate != "localhost" and download_run_once|bool and download.enabled|bool and download.container|bool and saved.changed
- name: Download | upload container images to nodes
synchronize:
@ -141,10 +141,10 @@
until: get_task|success
retries: 4
delay: "{{ retry_stagger | random + 3 }}"
when: (ansible_os_family != "Container Linux by CoreOS" and inventory_hostname != groups['kube-master'][0] or download_delegate == "localhost") and download_run_once|bool and download.enabled|bool and download.container|bool
when: (not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] and inventory_hostname != groups['kube-master'][0] or download_delegate == "localhost") and download_run_once|bool and download.enabled|bool and download.container|bool
tags: [upload, upgrade]
- name: Download | load container images
shell: "{{ docker_bin_dir }}/docker load < {{ fname }}"
when: (ansible_os_family != "Container Linux by CoreOS" and inventory_hostname != groups['kube-master'][0] or download_delegate == "localhost") and download_run_once|bool and download.enabled|bool and download.container|bool
when: (not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] and inventory_hostname != groups['kube-master'][0] or download_delegate == "localhost") and download_run_once|bool and download.enabled|bool and download.container|bool
tags: [upload, upgrade]

2
roles/etcd/meta/main.yml

@ -2,7 +2,7 @@
dependencies:
- role: adduser
user: "{{ addusers.etcd }}"
when: ansible_os_family != 'Container Linux by CoreOS'
when: not ansible_os_family in ['CoreOS', 'Container Linux by CoreOS']
- role: download
file: "{{ downloads.etcd }}"
tags: download

2
roles/etcd/tasks/gen_certs.yml

@ -129,7 +129,7 @@
/usr/local/share/ca-certificates/etcd-ca.crt
{%- elif ansible_os_family == "RedHat" -%}
/etc/pki/ca-trust/source/anchors/etcd-ca.crt
{%- elif ansible_os_family == "Container Linux by CoreOS" -%}
{%- elif ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] -%}
/etc/ssl/certs/etcd-ca.pem
{%- endif %}
tags: facts

8
roles/kubernetes/preinstall/handlers/main.yml

@ -3,7 +3,7 @@
notify:
- Preinstall | reload network
- Preinstall | reload kubelet
when: ansible_os_family != "Container Linux by CoreOS"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
# FIXME(bogdando) https://github.com/projectcalico/felix/issues/1185
- name: Preinstall | reload network
@ -15,18 +15,18 @@
networking
{%- endif %}
state: restarted
when: ansible_os_family != "Container Linux by CoreOS" and kube_network_plugin not in ['canal', 'calico']
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] and kube_network_plugin not in ['canal', 'calico']
- name: Preinstall | update resolvconf for Container Linux by CoreOS
command: /bin/true
notify:
- Preinstall | apply resolvconf cloud-init
- Preinstall | reload kubelet
when: ansible_os_family == "Container Linux by CoreOS"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: Preinstall | apply resolvconf cloud-init
command: /usr/bin/coreos-cloudinit --from-file {{ resolveconf_cloud_init_conf }}
when: ansible_os_family == "Container Linux by CoreOS"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: Preinstall | reload kubelet
service:

6
roles/kubernetes/preinstall/tasks/main.yml

@ -5,7 +5,7 @@
- name: Force binaries directory for Container Linux by CoreOS
set_fact:
bin_dir: "/opt/bin"
when: ansible_os_family == "Container Linux by CoreOS"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
tags: facts
- name: check bin dir exists
@ -131,7 +131,7 @@
retries: 4
delay: "{{ retry_stagger | random + 3 }}"
with_items: "{{required_pkgs | default([]) | union(common_required_pkgs|default([]))}}"
when: ansible_os_family != "Container Linux by CoreOS"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
tags: bootstrap-os
- name: Disable IPv6 DNS lookup
@ -140,7 +140,7 @@
line: "precedence ::ffff:0:0/96 100"
state: present
backup: yes
when: disable_ipv6_dns and ansible_os_family != "Container Linux by CoreOS"
when: disable_ipv6_dns and not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
tags: bootstrap-os
# Todo : selinux configuration

8
roles/kubernetes/preinstall/tasks/resolvconf.yml

@ -1,7 +1,7 @@
---
- name: create temporary resolveconf cloud init file
command: cp -f /etc/resolv.conf "{{ resolvconffile }}"
when: ansible_os_family == "Container Linux by CoreOS"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: Remove search/domain/nameserver options
lineinfile:
@ -48,7 +48,7 @@
- name: get temporary resolveconf cloud init file content
command: cat {{ resolvconffile }}
register: cloud_config
when: ansible_os_family == "Container Linux by CoreOS"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: persist resolvconf cloud init file
template:
@ -57,8 +57,8 @@
owner: root
mode: 0644
notify: Preinstall | update resolvconf for Container Linux by CoreOS
when: ansible_os_family == "Container Linux by CoreOS"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- include: dhclient-hooks.yml
when: ansible_os_family != "Container Linux by CoreOS"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
tags: [bootstrap-os, resolvconf]

4
roles/kubernetes/preinstall/tasks/set_resolv_facts.yml

@ -35,11 +35,11 @@
{%- if resolvconf|bool -%}/etc/resolvconf/resolv.conf.d/base{%- endif -%}
head: >-
{%- if resolvconf|bool -%}/etc/resolvconf/resolv.conf.d/head{%- endif -%}
when: ansible_os_family != "Container Linux by CoreOS"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: target temporary resolvconf cloud init file (Container Linux by CoreOS)
set_fact: resolvconffile=/tmp/resolveconf_cloud_init_conf
when: ansible_os_family == "Container Linux by CoreOS"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: target dhclient conf/hook files for Red Hat family
set_fact:

2
roles/kubernetes/secrets/tasks/gen_certs.yml

@ -74,7 +74,7 @@
/usr/local/share/ca-certificates/kube-ca.crt
{%- elif ansible_os_family == "RedHat" -%}
/etc/pki/ca-trust/source/anchors/kube-ca.crt
{%- elif ansible_os_family == "Container Linux by CoreOS" -%}
{%- elif ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] -%}
/etc/ssl/certs/kube-ca.pem
{%- endif %}
tags: facts

2
roles/network_plugin/calico/rr/meta/main.yml

@ -1,6 +1,6 @@
dependencies:
- role: etcd
- role: docker
when: ansible_os_family != "Container Linux by CoreOS"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- role: download
file: "{{ downloads.calico_rr }}"

2
roles/network_plugin/flannel/handlers/main.yml

@ -20,7 +20,7 @@
service:
name: docker.socket
state: restarted
when: ansible_os_family == 'Container Linux by CoreOS'
when: ansible_os_family in ['CoreOS', 'Container Linux by CoreOS']
- name: Flannel | reload docker
service:

2
roles/network_plugin/flannel/templates/flannel-options.conf.j2

@ -1,5 +1,5 @@
[Service]
{% if ansible_os_family == "Container Linux by CoreOS" %}
{% if ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] %}
Environment="DOCKER_OPT_BIP=--bip={{ flannel_subnet }} --mtu={{ flannel_mtu }}"
{% else %}
Environment="DOCKER_NETWORK_OPTIONS=--bip={{ flannel_subnet }} --mtu={{ flannel_mtu }}"

4
tests/testcases/020_check-create-pod.yml

@ -10,11 +10,11 @@
- name: Force binaries directory for Container Linux by CoreOS
set_fact:
bin_dir: "/opt/bin"
when: ansible_os_family == "Container Linux by CoreOS"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- set_fact:
bin_dir: "/usr/local/bin"
when: ansible_os_family != "Container Linux by CoreOS"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: Run a replica controller composed of 2 pods
shell: "{{bin_dir}}/kubectl run test --image={{test_image_repo}}:{{test_image_tag}} --replicas=2 --command -- tail -f /dev/null"

4
tests/testcases/030_check-network.yml

@ -6,11 +6,11 @@
- name: Force binaries directory for Container Linux by CoreOS
set_fact:
bin_dir: "/opt/bin"
when: ansible_os_family == "Container Linux by CoreOS"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- set_fact:
bin_dir: "/usr/local/bin"
when: ansible_os_family != "Container Linux by CoreOS"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: Get pod names
shell: "{{bin_dir}}/kubectl get pods -o json"

4
tests/testcases/040_check-network-adv.yml

@ -15,11 +15,11 @@
- name: Force binaries directory for Container Linux by CoreOS
set_fact:
bin_dir: "/opt/bin"
when: ansible_os_family == "Container Linux by CoreOS"
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- set_fact:
bin_dir: "/usr/local/bin"
when: ansible_os_family != "Container Linux by CoreOS"
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- name: Wait for netchecker server
shell: "{{ bin_dir }}/kubectl get pods --namespace {{netcheck_namespace}} | grep ^netchecker-server"

Loading…
Cancel
Save