Skip to content

Commit

Permalink
sap_swpm: Fix ansible-test sanity line-endings errors
Browse files Browse the repository at this point in the history
Signed-off-by: Bernd Finger <[email protected]>
  • Loading branch information
berndfinger committed Dec 19, 2024
1 parent b34bdad commit 10330eb
Showing 1 changed file with 173 additions and 173 deletions.
346 changes: 173 additions & 173 deletions roles/sap_swpm/tasks/post_install/sum_push_to_finish.yml
Original file line number Diff line number Diff line change
@@ -1,173 +1,173 @@
# SPDX-License-Identifier: Apache-2.0
---
# Will keep pushing SUM through the two key manual steps until it finishes
# This allows to fully automate the SWPM+SUM installation process
# Based on research by @sean-freeman

# Check if the SUMup process is running, give it 5 minutes to start
- name: Check if SAPup_real process is running (wait for 5 minutes until it starts)
ansible.builtin.shell: pgrep -c -u "{{ sap_swpm_sid | lower }}adm" -f SAPup_real
register: _sapup_process
retries: 5
delay: 60
until: _sapup_process.rc == 0 and _sapup_process.stdout|int > 0
failed_when: _sapup_process.rc != 0

# Check the SUM status via SUMOBSEVER.XML, wait for 60 minutes until we are in BIND_PATCH phase
- name: Checking the status of SUM
ansible.builtin.uri:
url: "https://localhost:1129/lmsl/sumobserver/{{ sap_swpm_sid | upper }}/analysis/SUMOBSERVER.XML"
method: GET
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
register: _sap_swpm_sum_push
until: _sap_swpm_sum_push.status == 200 and '<dialogId>SUM4ABAP|CONFIGURE|PREP_EXTENSION|BIND_PATCH|PatchSelection</dialogId>' in _sap_swpm_sum_push.content
retries: 60
delay: 60
failed_when: _sap_swpm_sum_push.status != 200 or '<dialogId>SUM4ABAP|CONFIGURE|PREP_EXTENSION|BIND_PATCH|PatchSelection</dialogId>' not in _sap_swpm_sum_push.content

# Get the config XML from SUM, repeat 3 times in case SUM is still busy and doesn't respond promptly
- name: Get the config XML from SUM
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: GET
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
# headers:
# Cookie: "{{ _sap_swpm_sum_push.cookies_string }}"
register: _sap_swpm_sum_push_config
until: _sap_swpm_sum_push_config.status == 200
retries: 3
delay: 60
failed_when: _sap_swpm_sum_push_config.status != 200

# Get the CSRF token from SUM by calling config
- name: Get the CSRF token from SUM
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: GET
validate_certs: false
return_content: false
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
headers:
Cookie: "{{ _sap_swpm_sum_push_config.cookies_string }}"
X-CSRF-Token: Fetch
# X-Requested-With: XMLHttpRequest
register: _sap_swpm_sum_push
failed_when: _sap_swpm_sum_push.status != 200

# Post the config XML back to SUM unchanged as we want to keep the default patch levels as per the XML file. This will move SUM to the next step.
- name: Move SUM to the next step
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: POST
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
headers:
Cookie: "{{ _sap_swpm_sum_push_config.cookies_string }}"
X-CSRF-Token: "{{ _sap_swpm_sum_push.x_csrf_token }}"
body_format: raw
body: "{{ _sap_swpm_sum_push_config.content }}"
register: _sap_swpm_sum_push
until: _sap_swpm_sum_push.status == 200
failed_when: _sap_swpm_sum_push.status != 200

# At this point SUM should be running. This will take anything between 6-12 hours to complete.
# Patiently check every 10 minutes to see if SUM has completed all the steps and is now in the SPAUINFO step.
# Check the SUM status via SUMOBSEVER.XML
- name: Checking the status of SUM
ansible.builtin.uri:
url: "https://localhost:1129/lmsl/sumobserver/{{ sap_swpm_sid | upper }}/analysis/SUMOBSERVER.XML"
method: GET
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
register: _sap_swpm_sum_push
until: _sap_swpm_sum_push.status == 200 and '<dialogId>SUM4ABAP|POST-EXECUTE|MAIN_POSTPROC|SPAUINFO|FinishSPAU</dialogId>' in _sap_swpm_sum_push.content
retries: 72 # 12 hours
delay: 600 # 10 minutes
failed_when: _sap_swpm_sum_push.status != 200 or '<dialogId>SUM4ABAP|POST-EXECUTE|MAIN_POSTPROC|SPAUINFO|FinishSPAU</dialogId>' not in _sap_swpm_sum_push.content

# Get the config XML from SUM, repeat 3 times in case SUM is still busy and doesn't respond promptly
# Need to get config XML even through we are not going to use it. This is to get the diagtime cookie.
- name: Get the config XML from SUM
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: GET
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
# headers:
# Cookie: "{{ _sap_swpm_sum_push.cookies_string }}"
register: _sap_swpm_sum_push_config
until: _sap_swpm_sum_push_config.status == 200
retries: 3
delay: 60
failed_when: _sap_swpm_sum_push_config.status != 200

# Get the CSRF token from SUM by calling config
- name: Get the CSRF token from SUM
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: GET
validate_certs: false
return_content: false
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
headers:
Cookie: "{{ _sap_swpm_sum_push_config.cookies_string }}"
X-CSRF-Token: Fetch
# X-Requested-With: XMLHttpRequest
register: _sap_swpm_sum_push
failed_when: _sap_swpm_sum_push.status != 200

# Post confirmation to SUM that no SPAU is required. This will move SUM to the next step.
- name: Move SUM to the next step
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: POST
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
headers:
Cookie: "{{ _sap_swpm_sum_push_config.cookies_string }}"
X-CSRF-Token: "{{ _sap_swpm_sum_push.x_csrf_token }}"
body_format: raw
body: '<config xmlns="http://www.sap.com/lmsl/slp"><Parameter><id>DialogueValue</id><type>slp.parameter.type.SCALAR</type><required>1</required><secure>0</secure><value>yes</value><structure></structure><tuplevalue></tuplevalue><tablevalue></tablevalue><validationResult/></Parameter></config>'
register: _sap_swpm_sum_push
failed_when: _sap_swpm_sum_push.status != 200

# Finally wait for SUM to finish the final steps. This shouldn't take more than 1 hour.
# Check the SUM status via SUMOBSEVER.XML, wait for 60 minutes until the status is 'MAIN_POSTCLEAN|EXIT'
- name: Checking the status of SUM and making sure it has finished
ansible.builtin.uri:
url: "https://localhost:1129/lmsl/sumobserver/{{ sap_swpm_sid | upper }}/analysis/SUMOBSERVER.XML"
method: GET
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
register: _sap_swpm_sum_push
until: _sap_swpm_sum_push.status == 200 and '<dialogId>SUM4ABAP|MAIN_POSTCLEAN|EXIT|UnitWizard</dialogId>' in _sap_swpm_sum_push.content
retries: 60
delay: 60
failed_when: _sap_swpm_sum_push.status != 200 or '<dialogId>SUM4ABAP|MAIN_POSTCLEAN|EXIT|UnitWizard</dialogId>' not in _sap_swpm_sum_push.content
# SPDX-License-Identifier: Apache-2.0
---
# Will keep pushing SUM through the two key manual steps until it finishes
# This allows to fully automate the SWPM+SUM installation process
# Based on research by @sean-freeman

# Check if the SUMup process is running, give it 5 minutes to start
- name: Check if SAPup_real process is running (wait for 5 minutes until it starts)
ansible.builtin.shell: pgrep -c -u "{{ sap_swpm_sid | lower }}adm" -f SAPup_real
register: _sapup_process
retries: 5
delay: 60
until: _sapup_process.rc == 0 and _sapup_process.stdout|int > 0
failed_when: _sapup_process.rc != 0

# Check the SUM status via SUMOBSEVER.XML, wait for 60 minutes until we are in BIND_PATCH phase
- name: Checking the status of SUM
ansible.builtin.uri:
url: "https://localhost:1129/lmsl/sumobserver/{{ sap_swpm_sid | upper }}/analysis/SUMOBSERVER.XML"
method: GET
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
register: _sap_swpm_sum_push
until: _sap_swpm_sum_push.status == 200 and '<dialogId>SUM4ABAP|CONFIGURE|PREP_EXTENSION|BIND_PATCH|PatchSelection</dialogId>' in _sap_swpm_sum_push.content
retries: 60
delay: 60
failed_when: _sap_swpm_sum_push.status != 200 or '<dialogId>SUM4ABAP|CONFIGURE|PREP_EXTENSION|BIND_PATCH|PatchSelection</dialogId>' not in _sap_swpm_sum_push.content

# Get the config XML from SUM, repeat 3 times in case SUM is still busy and doesn't respond promptly
- name: Get the config XML from SUM
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: GET
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
# headers:
# Cookie: "{{ _sap_swpm_sum_push.cookies_string }}"
register: _sap_swpm_sum_push_config
until: _sap_swpm_sum_push_config.status == 200
retries: 3
delay: 60
failed_when: _sap_swpm_sum_push_config.status != 200

# Get the CSRF token from SUM by calling config
- name: Get the CSRF token from SUM
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: GET
validate_certs: false
return_content: false
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
headers:
Cookie: "{{ _sap_swpm_sum_push_config.cookies_string }}"
X-CSRF-Token: Fetch
# X-Requested-With: XMLHttpRequest
register: _sap_swpm_sum_push
failed_when: _sap_swpm_sum_push.status != 200

# Post the config XML back to SUM unchanged as we want to keep the default patch levels as per the XML file. This will move SUM to the next step.
- name: Move SUM to the next step
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: POST
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
headers:
Cookie: "{{ _sap_swpm_sum_push_config.cookies_string }}"
X-CSRF-Token: "{{ _sap_swpm_sum_push.x_csrf_token }}"
body_format: raw
body: "{{ _sap_swpm_sum_push_config.content }}"
register: _sap_swpm_sum_push
until: _sap_swpm_sum_push.status == 200
failed_when: _sap_swpm_sum_push.status != 200

# At this point SUM should be running. This will take anything between 6-12 hours to complete.
# Patiently check every 10 minutes to see if SUM has completed all the steps and is now in the SPAUINFO step.
# Check the SUM status via SUMOBSEVER.XML
- name: Checking the status of SUM
ansible.builtin.uri:
url: "https://localhost:1129/lmsl/sumobserver/{{ sap_swpm_sid | upper }}/analysis/SUMOBSERVER.XML"
method: GET
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
register: _sap_swpm_sum_push
until: _sap_swpm_sum_push.status == 200 and '<dialogId>SUM4ABAP|POST-EXECUTE|MAIN_POSTPROC|SPAUINFO|FinishSPAU</dialogId>' in _sap_swpm_sum_push.content
retries: 72 # 12 hours
delay: 600 # 10 minutes
failed_when: _sap_swpm_sum_push.status != 200 or '<dialogId>SUM4ABAP|POST-EXECUTE|MAIN_POSTPROC|SPAUINFO|FinishSPAU</dialogId>' not in _sap_swpm_sum_push.content

# Get the config XML from SUM, repeat 3 times in case SUM is still busy and doesn't respond promptly
# Need to get config XML even through we are not going to use it. This is to get the diagtime cookie.
- name: Get the config XML from SUM
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: GET
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
# headers:
# Cookie: "{{ _sap_swpm_sum_push.cookies_string }}"
register: _sap_swpm_sum_push_config
until: _sap_swpm_sum_push_config.status == 200
retries: 3
delay: 60
failed_when: _sap_swpm_sum_push_config.status != 200

# Get the CSRF token from SUM by calling config
- name: Get the CSRF token from SUM
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: GET
validate_certs: false
return_content: false
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
headers:
Cookie: "{{ _sap_swpm_sum_push_config.cookies_string }}"
X-CSRF-Token: Fetch
# X-Requested-With: XMLHttpRequest
register: _sap_swpm_sum_push
failed_when: _sap_swpm_sum_push.status != 200

# Post confirmation to SUM that no SPAU is required. This will move SUM to the next step.
- name: Move SUM to the next step
ansible.builtin.uri:
url: "https://localhost:1129/slp/sumabap/{{ sap_swpm_sid | upper }}/config"
method: POST
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
headers:
Cookie: "{{ _sap_swpm_sum_push_config.cookies_string }}"
X-CSRF-Token: "{{ _sap_swpm_sum_push.x_csrf_token }}"
body_format: raw
body: '<config xmlns="http://www.sap.com/lmsl/slp"><Parameter><id>DialogueValue</id><type>slp.parameter.type.SCALAR</type><required>1</required><secure>0</secure><value>yes</value><structure></structure><tuplevalue></tuplevalue><tablevalue></tablevalue><validationResult/></Parameter></config>'
register: _sap_swpm_sum_push
failed_when: _sap_swpm_sum_push.status != 200

# Finally wait for SUM to finish the final steps. This shouldn't take more than 1 hour.
# Check the SUM status via SUMOBSEVER.XML, wait for 60 minutes until the status is 'MAIN_POSTCLEAN|EXIT'
- name: Checking the status of SUM and making sure it has finished
ansible.builtin.uri:
url: "https://localhost:1129/lmsl/sumobserver/{{ sap_swpm_sid | upper }}/analysis/SUMOBSERVER.XML"
method: GET
validate_certs: false
return_content: true
status_code: 200
user: "{{ sap_swpm_sid | lower }}adm"
password: "{{ sap_swpm_sap_sidadm_password }}"
register: _sap_swpm_sum_push
until: _sap_swpm_sum_push.status == 200 and '<dialogId>SUM4ABAP|MAIN_POSTCLEAN|EXIT|UnitWizard</dialogId>' in _sap_swpm_sum_push.content
retries: 60
delay: 60
failed_when: _sap_swpm_sum_push.status != 200 or '<dialogId>SUM4ABAP|MAIN_POSTCLEAN|EXIT|UnitWizard</dialogId>' not in _sap_swpm_sum_push.content

0 comments on commit 10330eb

Please sign in to comment.