blob: 127a6264968db7e94a9bd7142875ccfa5baf7d0d [file] [log] [blame]
---
# tasks file for apigee-opdk-setup-bootstrap
- block:
- name: Find available epel repos
find:
pattern: "epel*"
path: /etc/yum.repos.d
recurse: yes
file_type: file
register: remove_repos
- name: Remove reference to epel if version is greater than 4.17.01
file:
path: "{{ item.path }}"
state: absent
with_items: "{{ remove_repos.files }}"
when: opdk_version | version_compare('4.17.01', '>=')
- block:
- name: Create installer path
file:
path: "{{ opdk_installer_path }}"
owner: "{{ opdk_user_name }}"
group: "{{ opdk_group_name }}"
- name: Download bootstrap with no proxy use
no_log: True
bootstrap:
dest_dir: '{{ opdk_installer_path }}'
version: '{{ opdk_version }}'
url: '{{ apigee_repo_url }}'
user_name: '{{ apigee_repo_user }}'
password: '{{ apigee_repo_password }}'
register: results
when: http_proxy is not defined and https_proxy is not defined
- name: Download bootstrap with proxy
no_log: True
bootstrap:
dest_dir: '{{ opdk_installer_path }}'
version: '{{ opdk_version }}'
url: '{{ apigee_repo_url }}'
user_name: '{{ apigee_repo_user }}'
password: '{{ apigee_repo_password }}'
register: results
when: http_proxy is defined and https_proxy is defined
environment:
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Bootstrap script exists
stat:
path: '{{ bootstrap_script }}'
register: bootstrap_exists
- name: Cache bootstrap script state
cache:
key: bootstrap_script_exists
value: '{{ bootstrap_exists.stat.exists }}'
- name: Fail the playbook if bootstrap fails to install
fail:
msg: 'Bootstrap installation failed, no point in letting this go further'
when: not bootstrap_exists.stat.exists
- name: Yum clean all
shell: "yum clean all"
- block:
- block:
- name: Update apigee-service if upgrade_edge is set as part of an upgrade
shell: "bash {{ bootstrap_script }} apigeeuser={{ apigee_repo_user }} apigeepassword='{{ apigee_repo_password }}' JAVA_FIX=C"
env:
JAVA_HOME: '{{ java_home }}'
when: upgrade_edge is defined and upgrade_edge | bool == True
- name: Install bootstrap from the provided apigee_repo_uri and apigee_repo_protocol
shell: 'bash {{ bootstrap_script }} apigeeuser={{ apigee_repo_user }} apigeepassword={{ apigee_repo_password }} apigeerepohost={{ apigee_repo_uri }} apigeeprotocol={{ apigee_repo_protocol }}:// JAVA_FIX=C'
args:
creates: '{{ apigee_installation_home }}/apigee-service/bin/apigee-service'
env:
JAVA_HOME: '{{ java_home }}'
failed_when: results is defined and results.rc is defined and results.rc > 0 or results | failed
when: apigee_stage is not defined
register: results
- name: Install bootstrap from development repositories
shell: 'bash {{ bootstrap_script }} apigeeuser={{ apigee_repo_user }} apigeepassword={{ apigee_repo_password }} apigeestage={{ apigee_stage }} apigeerepohost={{ apigee_repo_uri }} apigeeprotocol={{ apigee_repo_protocol }}:// JAVA_FIX=C'
args:
creates: '{{ apigee_installation_home }}/apigee-service/bin/apigee-service'
env:
JAVA_HOME: '{{ java_home }}'
failed_when: results is defined and results.rc is defined and results.rc > 0 or results | failed
register: results
when: apigee_stage is defined
when: http_proxy is not defined and https_proxy is not defined
- block:
- name: Update apigee-service if upgrade_edge is set as part of an upgrade
shell: "bash {{ bootstrap_script }} apigeeuser={{ apigee_repo_user }} apigeepassword='{{ apigee_repo_password }}' JAVA_FIX=C"
env:
JAVA_HOME: '{{ java_home }}'
when: upgrade_edge is defined and upgrade_edge | bool == True
environment:
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Install bootstrap from the provided apigee_repo_uri and apigee_repo_protocol
shell: 'bash {{ bootstrap_script }} apigeeuser={{ apigee_repo_user }} apigeepassword={{ apigee_repo_password }} apigeerepohost={{ apigee_repo_uri }} apigeeprotocol={{ apigee_repo_protocol }}:// JAVA_FIX=C'
args:
creates: '{{ apigee_installation_home }}/apigee-service/bin/apigee-service'
env:
JAVA_HOME: '{{ java_home }}'
failed_when: results is defined and results.rc is defined and results.rc > 0 or results | failed
register: results
when: apigee_stage is not defined
environment:
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Install bootstrap from development repositories
shell: 'bash {{ bootstrap_script }} apigeeuser={{ apigee_repo_user }} apigeepassword={{ apigee_repo_password }} apigeestage={{ apigee_stage }} apigeerepohost={{ apigee_repo_uri }} apigeeprotocol={{ apigee_repo_protocol }}:// JAVA_FIX=C'
args:
creates: '{{ apigee_installation_home }}/apigee-service/bin/apigee-service'
env:
JAVA_HOME: '{{ java_home }}'
failed_when: results is defined and results.rc is defined and results.rc > 0 or results | failed
register: results
when: apigee_stage is defined
environment:
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
when: http_proxy is defined and https_proxy is defined
rescue:
- name: Yum failed to update, let's clean yum
shell: 'yum clean all'
- name: Update apigee-service if upgrade_edge is set as part of an upgrade
shell: "bash {{ bootstrap_script }} apigeeuser={{ apigee_repo_user }} apigeepassword='{{ apigee_repo_password }}' JAVA_FIX=C"
env:
JAVA_HOME: '{{ java_home }}'
when: upgrade_edge is defined and upgrade_edge | bool == True
- name: Install bootstrap from the provided apigee_repo_uri and apigee_repo_protocol
no_log: True
shell: 'bash {{ bootstrap_script }} apigeeuser={{ apigee_repo_user }} apigeepassword={{ apigee_repo_password }} apigeerepohost={{ apigee_repo_uri }} apigeeprotocol={{ apigee_repo_protocol }}:// JAVA_FIX=C'
args:
creates: '{{ apigee_installation_home }}/apigee-service/bin/apigee-service'
env:
JAVA_HOME: '{{ java_home }}'
failed_when: results is defined and results.rc is defined and results.rc > 0 or results | failed
when: apigee_stage is not defined
- name: Install bootstrap from development repositories
no_log: True
shell: 'bash {{ bootstrap_script }} apigeeuser={{ apigee_repo_user }} apigeepassword={{ apigee_repo_password }} apigeestage={{ apigee_stage }} apigeerepohost={{ apigee_repo_uri }} apigeeprotocol={{ apigee_repo_protocol }}:// JAVA_FIX=C'
args:
creates: '{{ apigee_installation_home }}/apigee-service/bin/apigee-service'
env:
JAVA_HOME: '{{ java_home }}'
failed_when: results is defined and results.rc is defined and results.rc > 0 or results | failed
when: apigee_stage is defined
when: archive_folder is not defined
- block:
- name: Install bootstrap from local repository for 4.16.01
no_log: True
shell: "bash {{ archive_folder }}/repos/bootstrap.sh apigeeprotocol='file://' apigeerepobasepath={{ archive_folder }}/repos JAVA_FIX=C"
env:
JAVA_HOME: '{{ java_home }}'
when: opdk_version | version_compare('4.16.01', '==')
- name: Install bootstrap from local repository for greater than 4.16.01
no_log: True
shell: "bash {{ archive_folder }}/repos/bootstrap_{{ opdk_version }}.sh apigeeprotocol='file://' apigeerepobasepath={{ archive_folder }}/repos JAVA_FIX=C"
env:
JAVA_HOME: '{{ java_home }}'
when: opdk_version | version_compare('4.16.01', '>')
when: archive_folder is defined and not archive_folder == ''
- name: Validate that apigee-service exists
stat:
path: "{{ apigee_installation_home }}/apigee-service/bin/apigee-service"
register: apigee_service
- name: Fail if apigee-service is not installed
fail:
msg: "Failing the playbook because apigee-service should be installed now and it was not installed"
when: not apigee_service.stat.exists