deploy/ansible/roles-sap-os/2.5-sap-users/tasks/user_nw.yaml (129 lines of code) (raw):

# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # /*---------------------------------------------------------------------------8 # | | # | SAP: Register BOM | # | SAP: deploy Generic Parameter file template | # | SAP: SAP OS USERS and Group Creation | # | | # +------------------------------------4--------------------------------------*/ --- - name: "User Creation: Set BOM facts" ansible.builtin.set_fact: sap_inifile_template: "generic-inifile-param.j2" sap_inifile: "{{ bom_base_name }}-generic-{{ sid_to_be_deployed.sid | lower }}-{{ ansible_hostname }}.params" dir_params: "{{ tmp_directory }}/.{{ sid_to_be_deployed.sid | lower }}-params" - name: "User Creation: 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.sid | upper }}' } - { mode: '0755', path: '/etc/sap_deployment_automation/{{ sid_to_be_deployed.sid | upper }}' } - name: "User Creation: reset" ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sid_to_be_deployed.sid | upper }}/user_created.txt" state: absent when: reinstall - name: "User Creation: check if Completed" ansible.builtin.stat: path: "/etc/sap_deployment_automation/{{ sid_to_be_deployed.sid | upper }}/user_created.txt" register: users_created - name: "User Creation: check if installed" ansible.builtin.debug: var: users_created verbosity: 2 - name: "User Creation: Include 3.3.1-bom-utility role" ansible.builtin.include_role: name: roles-sap/3.3.1-bom-utility tasks_from: bom-register vars: bom_name: "{{ bom_base_name }}" task_prefix: "GENERIC: " sa_enabled: true always_upload_jinja_templates: false - name: "User Creation: 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: param_directory: "{{ dir_params }}" sap_sid: "{{ sid_to_be_deployed.sid }}" this_sidadm_uid: "{{ sid_to_be_deployed.sidadm_uid }}" - name: "User Creation: install variables" ansible.builtin.debug: msg: - "INSTALLED: {{ users_created.stat.exists }}" - "INIFILE: {{ sap_inifile }}" - "PRODUCT ID: {{ bom.product_ids.generic }}" verbosity: 2 - name: "User Creation" block: - name: "User Creation: check media exists" ansible.builtin.stat: path: "{{ target_media_location }}/SWPM/sapinst" register: sapinst_found - name: "ErrorHandling" ansible.builtin.fail: msg: "INSTALL:0001:Unable to find sapinst, please check that the installation media is mounted" when: not sapinst_found.stat.exists - name: "User Creation: Progress" ansible.builtin.debug: msg: "Start user creation" - name: "User Creation: SAP OS USERS and Group Creation Ini file {{ sid_to_be_deployed.sid | upper }}" ansible.builtin.shell: | cat {{ dir_params }}/{{ sap_inifile }} register: generic_user_creation_ini - name: "User Creation: Progress" ansible.builtin.debug: var: generic_user_creation_ini verbosity: 4 - name: "User Creation: SAP OS USERS and Group Creation {{ sid_to_be_deployed.sid | upper }}" become: true become_user: root ansible.builtin.shell: | umask {{ custom_umask | default('022') }} ; ./sapinst SAPINST_INPUT_PARAMETERS_URL={{ dir_params }}/{{ sap_inifile }} \ SAPINST_EXECUTE_PRODUCT_ID={{ bom.product_ids.generic }} \ SAPINST_SKIP_DIALOGS=true \ SAPINST_START_GUISERVER=false args: chdir: "{{ target_media_location }}/SWPM" creates: "/etc/sap_deployment_automation/{{ sid_to_be_deployed.sid | upper }}/user_created.txt" environment: SAPSYSTEMNAME: "{{ sid_to_be_deployed.sid | upper }}" TMPDIR: "{{ tmp_directory }}/{{ sid_to_be_deployed.sid | upper }}" register: generic_user_creation failed_when: generic_user_creation.rc > 0 - name: "User Creation: Installation results" ansible.builtin.debug: var: generic_user_creation when: generic_user_creation.rc > 0 - name: "User Creation: Installation results" become: true become_user: root when: generic_user_creation.rc == 0 block: - name: "User Creation: Installation results" ansible.builtin.debug: msg: "User Creation succeeded" - name: "User Creation: flag" ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sid_to_be_deployed.sid | upper }}/user_created.txt" state: touch mode: 0755 - name: "User Creation: Cleanup ini file {{ ansible_hostname }}" ansible.builtin.file: path: "{{ dir_params }}/{{ sap_inifile }}" state: absent - name: "User Creation: flag" become: true become_user: root ansible.builtin.file: path: "/etc/sap_deployment_automation/{{ sid_to_be_deployed.sid | upper }}/user_created.txt" state: touch mode: 0755 when: generic_user_creation.rc == 0 when: - not users_created.stat.exists - name: "User creation status" ansible.builtin.debug: msg: "Users already created" when: - users_created.stat.exists ... # /*---------------------------------------------------------------------------8 # | END | # +------------------------------------4--------------------------------------*/