deploy/ansible/playbook_03_bom_processing.yaml (97 lines of code) (raw):
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
---
# /*----------------------------------------------------------------------------8
# | |
# | PREPARATION FOR BOM PROCESSING |
# | |
# | RESET LOGGING |
# | |
# +------------------------------------4--------------------------------------*/
- hosts: localhost
name: Get Storage account details from KeyVault
gather_facts: true
vars_files:
- vars/ansible-input-api.yaml # API Input template with defaults
tasks:
- name: Create Progress folder
ansible.builtin.file:
path: "{{ _workspace_directory }}/.progress"
state: directory
mode: 0755
tags:
- always
- name: Remove bom-processing-done flag
ansible.builtin.file:
path: "{{ _workspace_directory }}/.progress/bom-processing-done"
state: absent
tags:
- always
- name: Include 0.3.sap-installation-media-storage-details role
ansible.builtin.import_role:
name: roles-misc/0.3.sap-installation-media-storage-details
vars:
tier: bom_download
tags:
- always
# /*----------------------------------------------------------------------------8
# | |
# | PLAYBOOK FOR BOM PROCESSING |
# | |
# +------------------------------------4--------------------------------------*/
- hosts: "{{ sap_sid | upper }}_SCS : {{ sap_sid | upper }}_DB"
name: BOM Processing
remote_user: "{{ orchestration_ansible_user }}"
gather_facts: true
vars_files:
- vars/ansible-input-api.yaml # API Input template with defaults
tasks:
# -------------------------------------+---------------------------------------8
#
# Build the list of tasks to be executed in order here.
#
# -------------------------------------+---------------------------------------8
- name: "Perform BoM processing"
when:
# run on SCS or the when no SCS is defined run on the first DB server to support HANA only install
- "'scs' in supported_tiers or (
platform == 'HANA' and
(groups[sap_sid | upper ~ '_SCS'] is not defined or groups[sap_sid | upper ~ '_SCS'] | length == 0) and
inventory_hostname == (groups[sap_sid | upper ~ '_DB'] | sort)[0]
)"
block:
- name: Set facts
ansible.builtin.set_fact:
tier: preparation
sapbits_location_base_path: "{{ hostvars.localhost.sapbits_location_base_path }}"
sa_enabled: true
tags:
- always
- name: Set facts
when: hostvars.localhost.sapbits_sas_token is defined
ansible.builtin.set_fact:
sapbits_sas_token: "{{ hostvars.localhost.sapbits_sas_token }}"
tags:
- always
- name: Set facts
when: hostvars.localhost.sapbits_sas_token is defined
ansible.builtin.set_fact:
sapbits_sas_token: "{{ hostvars.localhost.sapbits_sas_token }}"
tags:
- always
- name: 3.3-bom-processing role for Linux
become: true
when: ansible_os_family != "Windows"
block:
- name: Include the 3.3-bom-processing role
ansible.builtin.import_role:
name: "roles-sap/3.3-bom-processing"
vars:
tier: bom_download
always_upload_jinja_templates: false
primary_instance_name: ansible_play_hosts[0]
sa_enabled: true
tags:
- 3.3-bom-processing
- name: 3.3-bom-processing role for Windows
when: ansible_os_family == "Windows"
block:
- name: Include the 3.3-bom-processing role
ansible.builtin.import_role:
name: "roles-sap/windows/3.3-bom-processing"
vars:
tier: bom_download
always_upload_jinja_templates: false
primary_instance_name: ansible_play_hosts[0]
tags:
- 3.3-bom-processing
- name: Create bom-processing flag
delegate_to: localhost
become: false
ansible.builtin.file:
path: "{{ _workspace_directory }}/.progress/bom-processing"
state: touch
mode: 0755
tags:
- always
...
# /*---------------------------------------------------------------------------8
# | END |
# +------------------------------------4--------------------------------------*/