Marcos Entenza
2020-02-25 c68f7414ac869f05fefce6731306030bbd5b60f2
Feature/extend tower (#1177)

* Add 2 additional roles for Tower auto population

* Add required plays to fully populate Ansible Tower if required

* Update default Ansible Tower version
3 files modified
72 ■■■■■ changed files
ansible/configs/sap-hana/default_vars.yml 4 ●●●● patch | view | raw | blame | history
ansible/configs/sap-hana/post_software.yml 46 ●●●●● patch | view | raw | blame | history
ansible/configs/sap-hana/software.yml 22 ●●●●● patch | view | raw | blame | history
ansible/configs/sap-hana/default_vars.yml
@@ -72,7 +72,7 @@
pv_size_s4hana: 200
## Variables required when deploying Ansible Tower alongside the HANA and bastion instances
tower_instance_image: rhel8.1_01
tower_instance_image: rhel-8.0-update-3
tower_instance_type: "4-32"
tower_instance_count: "{{ tower_instance_count }}"
rootfs_size_tower: "{{ rootfs_size_tower }}"
@@ -82,7 +82,7 @@
sap_software_size: "{{ sap_software_size }}"
#Ansible Tower Variables
ansible_tower_download_url: "https://releases.ansible.com/ansible-tower/setup-bundle/ansible-tower-setup-bundle-3.6.2-1.tar.gz"
ansible_tower_download_url: "https://releases.ansible.com/ansible-tower/setup/ansible-tower-setup-3.6.3-1.tar.gz"
ansible_tower_epel_download_url: "https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm"
# OSP Security Groups
ansible/configs/sap-hana/post_software.yml
@@ -6,6 +6,52 @@
    - debug:
        msg: "Post-Software tasks Started"
- name: Make Ansible Tower License file available
  hosts: localhost
  gather_facts: False
  become: yes
  tasks:
    - name: Dump Ansible Tower License to a file
      copy:
        content: "{{ tower_license }}"
        dest: /tmp/license.json
      when: tower_instance_count > 0
- name: Configure Ansible Tower
  hosts: towers
  gather_facts: False
  become: yes
  tasks:
    - block:
      - name: Ensure Tower License is configured
        include_role:
          name: infra-ansible/roles/ansible/tower/config-ansible-tower-license
      - name: Ensure required Credentials are added to Tower
        include_role:
          name: infra-ansible/roles/ansible/tower/manage-credentials
      - name: Ensure required inventories are added to Tower
        include_role:
          name: infra-ansible/roles/ansible/tower/manage-inventories
      - name: Ensure required Projects are added to Tower
        include_role:
          name: infra-ansible/roles/ansible/tower/manage-projects
      - name: Ensure required Job Templates are added to Tower
        include_role:
          name: infra-ansible/roles/ansible/tower/manage-job-templates
      - name: Ensure required WorkFlow Templates are added to Tower
        include_role:
          name: infra-ansible/roles/ansible/tower/manage-workflow-templates
      when: tower_instance_count > 0
- name: PostSoftware flight-check
  hosts: localhost
  connection: local
ansible/configs/sap-hana/software.yml
@@ -56,7 +56,7 @@
        path: /etc/exports
        state: present
        regexp: "^/nfs"
        line: "/nfs *(insecure,rw,root_squash,no_wdelay,sync)"
        line: "/nfs *(insecure,rw,no_root_squash,no_wdelay,sync)"
    - name: 'Ensure nfs-server is restarted and running'
      service:
@@ -69,6 +69,26 @@
        name: ansible
        state: latest
- name: Ensure NFS share is mounted in HANA and S/4HANA Hosts
  hosts: hanas:s4hanas
  become: True
  gather_facts: True
  tasks:
    - name: Ensure Software directory exists
      file:
        path: "/software"
        state: directory
    - name: Ensure NFS share is mounted
      mount:
        path: "/software"
        src: "bastion:/nfs"
        fstype: nfs4
        opts: "rw,bg,hard,_netdev"
        state: mounted
- name: Deploy Ansible Tower
  hosts: towers
  gather_facts: False