diff --git a/scripts/lib/check/9105_tools_azcopy_azure.check b/scripts/lib/check/9105_tools_azcopy_azure.check new file mode 100644 index 0000000..2679a81 --- /dev/null +++ b/scripts/lib/check/9105_tools_azcopy_azure.check @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +function check_9105_tools_azcopy_azure { + + logTrace "<${BASH_SOURCE[0]}:${FUNCNAME[*]}>" + + local -i _retval=99 + + # https://github.com/Azure/azure-storage-azcopy/releases + + # MODIFICATION SECTION>> + local -r sapnote='2015553,2000000' + local -r _goodversion='10.27.1' + # MODIFICATION SECTION<< + + # 2015553 - SAP on Microsoft Azure: Support prerequisites + # 2000000 - FAQ: SAP HANA Performance Optimization + + # PRECONDITIONS + if ! LIB_FUNC_IS_CLOUD_MICROSOFT; then + + logCheckSkipped 'Not running on Microsoft Azure. Skipping' "<${FUNCNAME[0]}>" + _retval=3 + + elif ! rpm -q --quiet azcopy ; then + + logCheckSkipped 'Azure tool azcopy not installed. Skipping' "<${FUNCNAME[0]}>" + _retval=3 + + fi + + # CHECK + if [[ ${_retval} -eq 99 ]]; then + + local normalized_goodversion + local normalized_fullversion + + local _fullversion + _fullversion=$(rpm -q --queryformat "%{VERSION}.%{RELEASE}" azcopy) + + logCheckWarning 'azcopy is known for using large portions of the Linux page cache. It has been observed that' + logCheckWarning 'this has resulted in standstills and logshipping timeouts of the SAP HANA database.' + + #normalize good version + LIB_FUNC_NORMALIZE_RPM "${_goodversion}" + normalized_goodversion="${LIB_FUNC_NORMALIZE_RPM_RETURN}" + + #normalize full version + LIB_FUNC_NORMALIZE_RPM "${_fullversion}" + normalized_fullversion="${LIB_FUNC_NORMALIZE_RPM_RETURN}" + + # returns 0 if equal, 1 if first is higher, 2 if second is higher + LIB_FUNC_COMPARE_VERSIONS "${normalized_fullversion}" "${normalized_goodversion}" + + if [[ $? -ne 2 ]]; then + logCheckOk 'Azure tool azcopy version seems to be ok' "(SAP Note ${sapnote:-}) (is: ${_fullversion})" + _retval=0 + else + logCheckWarning 'Azure tool azcopy should be updated' "(SAP Note ${sapnote:-}) (is: ${_fullversion}, should be: >=${_goodversion})" + _retval=1 + fi + + fi + + logDebug "<${BASH_SOURCE[0]}:${FUNCNAME[0]}> # RC=${_retval}" + return ${_retval} + +} diff --git a/scripts/lib/checkset/RHELonX64only.checkset b/scripts/lib/checkset/RHELonX64only.checkset index 7001a69..f24beec 100644 --- a/scripts/lib/checkset/RHELonX64only.checkset +++ b/scripts/lib/checkset/RHELonX64only.checkset @@ -87,5 +87,6 @@ 8704_sap_hana_backint_gcp 9100_monitor_agent_omsagent_azure 9101_monitor_agent_dependency_azure +9105_tools_azcopy_azure 9200_monitor_agent_sapdataprovider_amazon 9400_monitor_agent_sap_gcp \ No newline at end of file diff --git a/scripts/lib/checkset/SLESonX64only.checkset b/scripts/lib/checkset/SLESonX64only.checkset index cf17e5e..8573c42 100644 --- a/scripts/lib/checkset/SLESonX64only.checkset +++ b/scripts/lib/checkset/SLESonX64only.checkset @@ -90,5 +90,6 @@ 8704_sap_hana_backint_gcp 9100_monitor_agent_omsagent_azure 9101_monitor_agent_dependency_azure +9105_tools_azcopy_azure 9200_monitor_agent_sapdataprovider_amazon 9400_monitor_agent_sap_gcp \ No newline at end of file