From 936927a54fa79b58e8679e887c813ea32944d906 Mon Sep 17 00:00:00 2001 From: Smana Date: Sun, 10 Apr 2016 22:08:13 +0200 Subject: [PATCH 1/2] Fix docker install on rhel7 --- roles/docker/files/rh_docker.repo | 6 ++++++ roles/docker/tasks/main.yml | 9 ++++++++- roles/docker/vars/redhat.yml | 2 +- roles/kubernetes/preinstall/tasks/main.yml | 8 ++------ 4 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 roles/docker/files/rh_docker.repo diff --git a/roles/docker/files/rh_docker.repo b/roles/docker/files/rh_docker.repo new file mode 100644 index 000000000..a66294c93 --- /dev/null +++ b/roles/docker/files/rh_docker.repo @@ -0,0 +1,6 @@ +[dockerrepo] +name=Docker Repository +baseurl=https://yum.dockerproject.org/repo/main/centos/7 +enabled=1 +gpgcheck=1 +gpgkey=https://yum.dockerproject.org/gpg diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index b47c9d302..3b39bd850 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -38,6 +38,13 @@ with_items: "{{ docker_repo_info.repos }}" when: docker_repo_info.repos|length > 0 +- name: Configure docker repository on RedHat + copy: + src: "rh_docker.repo" + dest: "/etc/yum.repos.d/docker.repo" + when: ansible_distribution == "RedHat" and + ansible_distribution_major_version > 7 + - name: ensure docker packages are installed action: "{{ docker_package_info.pkg_mgr }}" args: @@ -53,7 +60,7 @@ regexp: '^DOCKER_STORAGE_OPTIONS=.*$' state: present backup: yes - when: ansible_os_family == "RedHat" + when: ansible_distribution == "CentOS" - meta: flush_handlers diff --git a/roles/docker/vars/redhat.yml b/roles/docker/vars/redhat.yml index 24018dedf..9814089e0 100644 --- a/roles/docker/vars/redhat.yml +++ b/roles/docker/vars/redhat.yml @@ -3,7 +3,7 @@ docker_kernel_min_version: '0' docker_package_info: pkg_mgr: yum pkgs: - - docker + - docker-engine docker_repo_key_info: pkg_key: '' diff --git a/roles/kubernetes/preinstall/tasks/main.yml b/roles/kubernetes/preinstall/tasks/main.yml index d90570ca5..29fa2f1ab 100644 --- a/roles/kubernetes/preinstall/tasks/main.yml +++ b/roles/kubernetes/preinstall/tasks/main.yml @@ -78,16 +78,12 @@ ansible_distribution_major_version > 21 changed_when: False -- name: Install epel-release on RHEL - command: rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm - when: ansible_distribution == "RedHat" - -- name: Install epel-release on CentOS +- name: Install epel-release on RedHat/CentOS action: module: "{{ ansible_pkg_mgr }}" name: "epel-release" state: latest - when: ansible_distribution == "CentOS" + when: ansible_distribution in ['CentOS', 'RedHat'] - name: Install packages requirements action: From 48a85ce8f84b894edb1b6d136918c0c92b760e8f Mon Sep 17 00:00:00 2001 From: Smana Date: Mon, 11 Apr 2016 09:33:08 +0200 Subject: [PATCH 2/2] use docker repository to install on CentOS --- .travis.yml | 5 +++++ roles/docker/tasks/main.yml | 15 +++------------ roles/kubernetes/preinstall/tasks/main.yml | 9 ++++----- roles/kubernetes/secrets/tasks/check-certs.yml | 2 +- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index 00e27304e..7b3978b86 100644 --- a/.travis.yml +++ b/.travis.yml @@ -91,6 +91,11 @@ matrix: allow_failures: - env: KUBE_NETWORK_PLUGIN=weave CLOUD_IMAGE=ubuntu-1404-trusty CLOUD_REGION=asia-east1-c - env: KUBE_NETWORK_PLUGIN=calico CLOUD_IMAGE=ubuntu-1404-trusty CLOUD_REGION=us-east1-d + # Issue with Weave #177 to be fixed + - env: KUBE_NETWORK_PLUGIN=weave CLOUD_IMAGE=debian-8-kubespray CLOUD_REGION=us-east1-d + - env: KUBE_NETWORK_PLUGIN=weave CLOUD_IMAGE=centos-7-sudo CLOUD_REGION=us-central1-c + - env: KUBE_NETWORK_PLUGIN=weave CLOUD_IMAGE=rhel-7-sudo CLOUD_REGION=europe-west1-b + - env: KUBE_NETWORK_PLUGIN=weave CLOUD_IMAGE=ubuntu-1510-wily CLOUD_REGION=us-east1-d before_install: # Install Ansible. diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 3b39bd850..47e5d24a1 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -38,12 +38,12 @@ with_items: "{{ docker_repo_info.repos }}" when: docker_repo_info.repos|length > 0 -- name: Configure docker repository on RedHat +- name: Configure docker repository on RedHat/CentOS copy: src: "rh_docker.repo" dest: "/etc/yum.repos.d/docker.repo" - when: ansible_distribution == "RedHat" and - ansible_distribution_major_version > 7 + when: ansible_distribution in ["CentOS","RedHat"] and + ansible_distribution_major_version >= 7 - name: ensure docker packages are installed action: "{{ docker_package_info.pkg_mgr }}" @@ -53,15 +53,6 @@ with_items: "{{ docker_package_info.pkgs }}" when: docker_package_info.pkgs|length > 0 -- name: Centos needs xfs storage type for devicemapper if used - lineinfile: - dest: /etc/sysconfig/docker-storage - line: "DOCKER_STORAGE_OPTIONS='--storage-opt dm.fs=xfs'" - regexp: '^DOCKER_STORAGE_OPTIONS=.*$' - state: present - backup: yes - when: ansible_distribution == "CentOS" - - meta: flush_handlers - name: ensure docker service is started and enabled diff --git a/roles/kubernetes/preinstall/tasks/main.yml b/roles/kubernetes/preinstall/tasks/main.yml index 29fa2f1ab..36a444675 100644 --- a/roles/kubernetes/preinstall/tasks/main.yml +++ b/roles/kubernetes/preinstall/tasks/main.yml @@ -79,11 +79,10 @@ changed_when: False - name: Install epel-release on RedHat/CentOS - action: - module: "{{ ansible_pkg_mgr }}" - name: "epel-release" - state: latest - when: ansible_distribution in ['CentOS', 'RedHat'] + command: rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm + when: ansible_distribution in ["CentOS","RedHat"] and + ansible_distribution_major_version >= 7 + changed_when: False - name: Install packages requirements action: diff --git a/roles/kubernetes/secrets/tasks/check-certs.yml b/roles/kubernetes/secrets/tasks/check-certs.yml index a5ed1af67..5875fdbf4 100644 --- a/roles/kubernetes/secrets/tasks/check-certs.yml +++ b/roles/kubernetes/secrets/tasks/check-certs.yml @@ -2,7 +2,7 @@ - name: "Check certs | check if the certs have already been generated on first master" stat: path: "{{ kube_cert_dir }}/ca.pem" - delegate_to: groups['kube-master'][0] + delegate_to: "{{groups['kube-master'][0]}}" register: kubecert_master run_once: true