From 1c7d5dcd2a0fc3fbae57ff1f064e28488ee3ed98 Mon Sep 17 00:00:00 2001 From: Muawia Khan Date: Fri, 8 Jun 2018 15:52:22 +0200 Subject: [PATCH] Problem: Stack installation on Centos 7 caused issues with some packages (#2339) --- .../roles/docker/defaults/main.yml | 7 ++++- .../roles/docker/tasks/centos.yml | 26 ++++++++++++++++++- .../roles/mongodb/defaults/main.yml | 7 ++++- .../roles/mongodb/tasks/centos.yml | 26 ++++++++++++++++++- .../roles/mongodb/tasks/main.yml | 2 +- pkg/scripts/stack.sh | 2 +- 6 files changed, 64 insertions(+), 6 deletions(-) diff --git a/pkg/configuration/roles/docker/defaults/main.yml b/pkg/configuration/roles/docker/defaults/main.yml index 1ffa2b63..8417dc02 100644 --- a/pkg/configuration/roles/docker/defaults/main.yml +++ b/pkg/configuration/roles/docker/defaults/main.yml @@ -17,5 +17,10 @@ apt_key_url: "https://download.docker.com/linux/{{ distribution_name }}/gpg" docker_yum_repo: "https://download.docker.com/linux/{{ distribution_name }}/{{ distribution_major }}/$basearch/{{ docker_update_channel }}" docker_dnf_repo: "https://download.docker.com/linux/{{ distribution_name }}/{{ docker_pkg }}.repo" +# Epel repo +epel_repo_url: "https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm" +epel_repo_gpg_key_url: "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }}" +epel_repofile_path: "/etc/yum.repos.d/epel.repo" + # Docker configuration -bigchaindb_docker_net: "bigchaindb_docker_net" \ No newline at end of file +bigchaindb_docker_net: "bigchaindb_docker_net" diff --git a/pkg/configuration/roles/docker/tasks/centos.yml b/pkg/configuration/roles/docker/tasks/centos.yml index 62d40d53..f240379b 100644 --- a/pkg/configuration/roles/docker/tasks/centos.yml +++ b/pkg/configuration/roles/docker/tasks/centos.yml @@ -11,6 +11,30 @@ when: uninstall_old_version tags: [docker] +- name: Check if EPEL repo is already configured. + stat: path={{ epel_repofile_path }} + register: epel_repofile_result + tags: [docker] + +- name: Install EPEL repo. + yum: + name: "{{ epel_repo_url }}" + state: present + register: result + until: 'result.rc == 0' + retries: 5 + delay: 10 + when: not epel_repofile_result.stat.exists + tags: [docker] + +- name: Import EPEL GPG key. + rpm_key: + key: "{{ epel_repo_gpg_key_url }}" + state: present + when: not epel_repofile_result.stat.exists + ignore_errors: "{{ ansible_check_mode }}" + tags: [docker] + - name: Setup Pre-reqs | CentOS yum: name: "{{ item }}" @@ -39,4 +63,4 @@ name: "{{ docker_pkg }}" state: present update_cache: yes - tags: [docker] \ No newline at end of file + tags: [docker] diff --git a/pkg/configuration/roles/mongodb/defaults/main.yml b/pkg/configuration/roles/mongodb/defaults/main.yml index 3e209bbd..612b96b1 100644 --- a/pkg/configuration/roles/mongodb/defaults/main.yml +++ b/pkg/configuration/roles/mongodb/defaults/main.yml @@ -12,6 +12,11 @@ mongodb_apt_repo: "deb [arch={{ server_arch }}] http://repo.mongodb.org/apt/{{ d mongodb_yum_base_url: "https://repo.mongodb.org/yum/{{ ansible_os_family|lower }}/$releasever/{{ mongodb_package }}/{{ mongo_version }}/{{ ansible_architecture }}" mongodb_dnf_base_url: "https://repo.mongodb.org/yum/{{ ansible_os_family|lower }}/7/{{ mongodb_package }}/{{ mongo_version }}/{{ ansible_architecture }}" +# Epel repo +epel_repo_url: "https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm" +epel_repo_gpg_key_url: "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }}" +epel_repofile_path: "/etc/yum.repos.d/epel.repo" + # MongoDB running config mongodb_storage_path: /data/db/main mongodb_log_path: /var/log/mongodb @@ -26,4 +31,4 @@ mongodb_port: 27017 # Docker configuration bigchaindb_docker_net: "bigchaindb_docker_net" mongodb_docker_name: "mongodb" -mongodb_host_mount_dir: "{{ home_dir }}/mongodb_docker" \ No newline at end of file +mongodb_host_mount_dir: "{{ home_dir }}/mongodb_docker" diff --git a/pkg/configuration/roles/mongodb/tasks/centos.yml b/pkg/configuration/roles/mongodb/tasks/centos.yml index 64bca086..a994d115 100644 --- a/pkg/configuration/roles/mongodb/tasks/centos.yml +++ b/pkg/configuration/roles/mongodb/tasks/centos.yml @@ -1,4 +1,28 @@ --- +- name: Check if EPEL repo is already configured. + stat: path={{ epel_repofile_path }} + register: epel_repofile_result + tags: [mongodb] + +- name: Install EPEL repo. + yum: + name: "{{ epel_repo_url }}" + state: present + register: result + until: 'result.rc == 0' + retries: 5 + delay: 10 + when: not epel_repofile_result.stat.exists + tags: [mongodb] + +- name: Import EPEL GPG key. + rpm_key: + key: "{{ epel_repo_gpg_key_url }}" + state: present + when: not epel_repofile_result.stat.exists + ignore_errors: "{{ ansible_check_mode }}" + tags: [mongodb] + - name: Add MongoDB Repo | yum yum_repository: name: "{{ mongodb_package }}-{{ mongo_version }}" @@ -23,4 +47,4 @@ state: present update_cache: yes tags: [mongodb] - \ No newline at end of file + diff --git a/pkg/configuration/roles/mongodb/tasks/main.yml b/pkg/configuration/roles/mongodb/tasks/main.yml index d08fb417..47b901cc 100644 --- a/pkg/configuration/roles/mongodb/tasks/main.yml +++ b/pkg/configuration/roles/mongodb/tasks/main.yml @@ -16,4 +16,4 @@ when: action|lower == 'start' - import_tasks: stop.yml - when: action|lower == 'stop' \ No newline at end of file + when: action|lower == 'stop' diff --git a/pkg/scripts/stack.sh b/pkg/scripts/stack.sh index 8b21f6dc..2cd98864 100755 --- a/pkg/scripts/stack.sh +++ b/pkg/scripts/stack.sh @@ -223,7 +223,7 @@ elif [[ $stack_type == "cloud" && $stack_type_provider == "azure" ]]; then vagrant up --provider azure --provision ansible-playbook $CONF_DIR/bigchaindb-start.yml \ -i $CONF_DIR/hosts/all \ - --extra-vars "operation=start home_path=/bigchaindb" + --extra-vars "operation=start home_path=/opt/stack" elif [[ $stack_type == "docker" ]]; then echo "Configuring Dockers locally!" source $SCRIPTS_DIR/bootstrap.sh --operation install