deploy/ansible/roles-sap/5.4-web-install/tasks/main.yaml (126 lines of code) (raw):

# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # SAP: Register BOM # SAP WEB: deploy Web Dispatcher Parameter file install template # SAP WEB: Install # TODO: Considerations # 20G+ swap space # Livecache: None, HANA Internal, MaxDB External # message server acl # certificates # secure storage key # --- - name: "SAP Web Dispatcher Install: Set BOM facts" ansible.builtin.set_fact: sap_inifile: "{{ bom_base_name }}-web-{{ sid_to_be_deployed.web_sid | lower }}-{{ ansible_hostname }}.params" sap_inifile_template: "web-inifile-param.j2" dir_params: "{{ tmp_directory }}/.{{ sid_to_be_deployed.web_sid | lower }}-params" - name: "SAP Web Dispatcher Install: Create directories" ansible.builtin.file: path: "{{ item.path }}" state: directory mode: '{{ item.mode }}' loop: - { mode: '0755', path: '{{ dir_params }}' } - { mode: '0755', path: '{{ tmp_directory }}/{{ sid_to_be_deployed.web_sid | upper }}' } - { mode: '0755', path: '/etc/sap_deployment_automation/{{ sid_to_be_deployed.web_sid | upper }}' } - name: "SAP Web Dispatcher Install: reset" ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sid_to_be_deployed.web_sid | upper }}/sap_deployment_web.txt" state: absent when: reinstall - name: "SAP Web Dispatcher Install: check if {{ sid_to_be_deployed.web_sid | upper }} is installed" ansible.builtin.stat: path: "/etc/sap_deployment_automation/{{ sid_to_be_deployed.web_sid | upper }}/sap_deployment_web.txt" register: web_installed # Returns bom object - name: "SAP Web Dispatcher Install: Register BoM" ansible.builtin.include_role: name: roles-sap/3.3.1-bom-utility tasks_from: bom-register vars: bom_name: "{{ bom_base_name }}" task_prefix: "SAP Web Dispatcher Install: " sa_enabled: true - name: "Web install: register variables" ansible.builtin.set_fact: web_bom_id: "{{ bom.product_ids.web }}" - name: "Web Install" become: true block: - name: "SAP Web Dispatcher Install: Get the SCS Server name list" ansible.builtin.set_fact: scs_server_temp: "{{ scs_server_temp | default([]) + [item] }}" with_items: - "{{ query('inventory_hostnames', '{{ sap_sid | upper }}_SCS') }}" - "{{ query('inventory_hostnames', '{{ sap_sid | upper }}_DB') }}" - name: "SAP Web Dispatcher Install: Set the SCS Server name" ansible.builtin.set_fact: scs_server: "{% if scs_high_availability %}{{ sap_sid | lower }}scs{{ scs_instance_number }}cl1{% else %}{{ scs_server_temp | first }}{% endif %}" - name: "SAP Web Dispatcher Install: check media exists" ansible.builtin.stat: path: "{{ target_media_location }}/SWPM/sapinst" register: sapinst_found - name: "ErrorHandling" ansible.builtin.fail: msg: "INSTALL:0008:Unable to find sapinst, please check that the installation media is mounted" when: not sapinst_found.stat.exists - name: "APP Install: Template processing - Create ini file {{ sap_inifile }} from {{ sap_inifile_template }}" ansible.builtin.template: src: "{{ sap_inifile_template }}" dest: "{{ dir_params }}/{{ sap_inifile }}" mode: 0644 force: true vars: task_prefix: "SAP Web Dispatcher Install: " sap_cd_package_hdbclient: "{{ target_media_location }}/CD_HDBCLIENT/SAP_HANA_CLIENT" sap_cd_package_cd1: "{{ target_media_location }}/CD_EXPORT" web_instance_number: "{{ wd_instance_number }}" sap_ciInstanceNumber: "{{ scs_instance_number }}" sap_profile_dir: /sapmnt/{{ sap_sid | upper }}/profile sap_scs_hostname: "{{ custom_scs_virtual_hostname | default(scs_server, true) }}" sap_webVirtualHostname: "{{ virtual_host }}" sap_installSAPHostAgent: "false" web_sid: "{{ sid_to_be_deployed.web_sid | upper }}" sap_sid: "{{ sid_to_be_deployed.sid | upper }}" - name: "SAP Web Dispatcher Install: install variables" ansible.builtin.debug: msg: - "INSTALLED: {{ web_installed.stat.exists }}" - "INIFILE: {{ dir_params }}/{{ sap_inifile }}" - "SID: {{ sid_to_be_deployed.web_sid }}" - "SAPSID: {{ sap_sid }}" - "PRODUCT ID: {{ web_bom_id }}" - "INSTANCE: {{ web_instance_number }}" - "SCSHOST: {{ custom_scs_virtual_hostname | default(scs_server, true) }}" - "LOCATION: {{ target_media_location }}/SWPM" - "TMPDIR: {{ tmp_directory }}/{{ sid_to_be_deployed.web_sid | upper }}" # *====================================4=======================================8 # SAP Web Dispatcher: Install # 2230669 - System Provisioning Using a Parameter Input File # - name: "SAP Web Dispatcher Install: Create temp directory for sid" ansible.builtin.file: path: "{{ tmp_directory }}/{{ sid_to_be_deployed.web_sid | upper }}" state: directory mode: 0755 - name: "SAP Web Dispatcher Install: progress" ansible.builtin.debug: msg: "Starting Web Install ({{ sid_to_be_deployed.web_sid | upper }})" - name: "SAP Web Dispatcher Install" ansible.builtin.shell: | umask {{ custom_umask | default('022') }} ; ./sapinst SAPINST_INPUT_PARAMETERS_URL={{ dir_params }}/{{ sap_inifile }} \ SAPINST_EXECUTE_PRODUCT_ID={{ bom.product_ids.web }} \ SAPINST_SKIP_DIALOGS=true \ SAPINST_USE_HOSTNAME={{ virtual_host }} \ SAPINST_START_GUISERVER=false args: chdir: "{{ target_media_location }}/SWPM" creates: "/etc/sap_deployment_automation/{{ sid_to_be_deployed.web_sid | upper }}/sap_deployment_web.txt" environment: SAPSYSTEMNAME: "{{ sid_to_be_deployed.web_sid | upper }}" TMPDIR: "{{ tmp_directory }}/{{ sid_to_be_deployed.web_sid | upper }}" register: web_installation failed_when: web_installation.rc > 0 when: node_tier == 'web' - name: "SAP Web Dispatcher Install: Installation results" ansible.builtin.debug: var: web_installation when: web_installation.rc > 0 - name: "SAP Web Dispatcher Install: Installation results" ansible.builtin.debug: msg: "Web Dispatcher Installation succeeded" when: web_installation.rc == 0 - name: "SAP Web Dispatcher Install: flag" ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sid_to_be_deployed.web_sid | upper }}/sap_deployment_web.txt" state: touch mode: 0755 when: - not web_installed.stat.exists # *====================================4=======================================8 ... # /*---------------------------------------------------------------------------8 # | END | # +------------------------------------4--------------------------------------*/