Hello community, here is the log from the commit of package sapnwbootstrap-formula for openSUSE:Factory checked in at 2020-09-29 19:02:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sapnwbootstrap-formula (Old) and /work/SRC/openSUSE:Factory/.sapnwbootstrap-formula.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sapnwbootstrap-formula" Tue Sep 29 19:02:31 2020 rev:14 rq:838312 version:0.5.1+git.1601302344.84ced23 Changes: -------- --- /work/SRC/openSUSE:Factory/sapnwbootstrap-formula/sapnwbootstrap-formula.changes 2020-09-22 21:13:42.164061768 +0200 +++ /work/SRC/openSUSE:Factory/.sapnwbootstrap-formula.new.4249/sapnwbootstrap-formula.changes 2020-09-29 19:02:39.145835369 +0200 @@ -1,0 +2,6 @@ +Thu Sep 24 12:43:47 UTC 2020 - Xabier Arbulu <xarb...@suse.com> + +- Implement the differences between ENSA1 and ENSA2 versions +- Add the keepalive configuration changes + +------------------------------------------------------------------- Old: ---- sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd.tar.gz New: ---- sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sapnwbootstrap-formula.spec ++++++ --- /var/tmp/diff_new_pack.8oPWff/_old 2020-09-29 19:02:39.969836371 +0200 +++ /var/tmp/diff_new_pack.8oPWff/_new 2020-09-29 19:02:39.973836376 +0200 @@ -19,7 +19,7 @@ # See also http://en.opensuse.org/openSUSE:Specfile_guidelines Name: sapnwbootstrap-formula -Version: 0.5.1+git.1600700160.9b359fd +Version: 0.5.1+git.1601302344.84ced23 Release: 0 Summary: SAP Netweaver platform deployment formula License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.8oPWff/_old 2020-09-29 19:02:40.001836410 +0200 +++ /var/tmp/diff_new_pack.8oPWff/_new 2020-09-29 19:02:40.001836410 +0200 @@ -5,7 +5,7 @@ <param name="exclude">.git</param> <param name="filename">sapnwbootstrap-formula</param> <param name="versionformat">0.5.1+git.%ct.%h</param> - <param name="revision">9b359fdbfed64f8e6da8d96e0cfe2de5f2055ee6</param> + <param name="revision">84ced2387dfdf481ffab0c8eea37767340ecf7e1</param> </service> <service name="recompress" mode="disabled"> ++++++ sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd.tar.gz -> sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/defaults.yaml new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/defaults.yaml --- old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/defaults.yaml 2020-09-21 16:56:00.000000000 +0200 +++ new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/defaults.yaml 2020-09-28 16:12:24.000000000 +0200 @@ -9,8 +9,12 @@ nfs_options: defaults # Set this entry to false to disable creating swap create_swap: - # Path containing the swapfile - directory: /var/lib/swap - # Swap size in MB - size: 2048 + # Path containing the swapfile + directory: /var/lib/swap + # Swap size in MB + size: 2048 + sysctl_values: + net.ipv4.tcp_keepalive_time: 300 + net.ipv4.tcp_keepalive_intvl: 75 + net.ipv4.tcp_keepalive_probes: 9 monitoring_enabled: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/ensa_version_detection.sls new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/ensa_version_detection.sls --- old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/ensa_version_detection.sls 1970-01-01 01:00:00.000000000 +0100 +++ new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/ensa_version_detection.sls 2020-09-28 16:12:24.000000000 +0200 @@ -0,0 +1,17 @@ +{%- from "netweaver/map.jinja" import netweaver with context -%} +{% set host = grains['host'] %} + +{% for node in netweaver.nodes if host == node.host and node.sap_instance in ['ascs', 'ers'] %} + +{% set instance = '{:0>2}'.format(node.instance) %} +{% set instance_name = node.sid~'_'~instance %} + +# This state sets the `ensa_version` grain +set_ensa_version_data_in_grains_{{ instance_name }}: + netweaver.ensa_version_grains_present: + - name: {{ node.sap_instance }} + - sid: {{ node.sid.lower() }} + - inst: {{ instance }} + - password: {{ netweaver.sid_adm_password|default(netweaver.master_password) }} + +{% endfor %} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/ha_cluster.sls new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/ha_cluster.sls --- old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/ha_cluster.sls 2020-09-21 16:56:00.000000000 +0200 +++ new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/ha_cluster.sls 2020-09-28 16:12:24.000000000 +0200 @@ -81,6 +81,16 @@ - pattern: '^Restart_Program_01 = local \$\(_EN\) pf=\$\(_PF\)' - repl: 'Start_Program_01 = local $(_EN) pf=$(_PF)' +set_keepalive_option_{{ instance_name }}: + file.line: + - name: {{ profile_file }} + - mode: insert + - location: end + - content: enque/encni/set_so_keepalive = true + # onlyif statements can be improved when salt version 3000 is used + # https://docs.saltstack.com/en/latest/ref/states/requisites.html#onlyif + - onlyif: cat /etc/salt/grains | grep "ensa_version_{{ node.sid.lower() }}_{{ instance }}:.*1" + {% elif node.sap_instance.lower() == 'ers' %} adapt_sap_profile_ers_{{ instance_name }}: @@ -89,6 +99,12 @@ - pattern: '^Restart_Program_00 = local \$\(_ER\) pf=\$\(_PFL\) NR=\$\(SCSID\)' - repl: 'Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)' +remove_autostart_option_{{ instance_name }}: + file.line: + - name: {{ profile_file }} + - match: ^Autostart = 1.*$ + - mode: delete + {% endif %} start_sap_instance_service_{{ instance_name }}: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/init.sls new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/init.sls --- old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/init.sls 2020-09-21 16:56:00.000000000 +0200 +++ new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/init.sls 2020-09-28 16:12:24.000000000 +0200 @@ -7,6 +7,7 @@ - netweaver.install_pydbapi - netweaver.install_ascs - netweaver.install_ers + - netweaver.ensa_version_detection - netweaver.ha_cluster - netweaver.install_db - netweaver.install_pas diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/setup/init.sls new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/setup/init.sls --- old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/setup/init.sls 2020-09-21 16:56:00.000000000 +0200 +++ new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/setup/init.sls 2020-09-28 16:12:24.000000000 +0200 @@ -10,3 +10,4 @@ - netweaver.setup.mount - netweaver.setup.users - netweaver.setup.swap_space + - netweaver.setup.keepalive diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/setup/keepalive.sls new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/setup/keepalive.sls --- old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/netweaver/setup/keepalive.sls 1970-01-01 01:00:00.000000000 +0100 +++ new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/netweaver/setup/keepalive.sls 2020-09-28 16:12:24.000000000 +0200 @@ -0,0 +1,12 @@ +{%- from "netweaver/map.jinja" import netweaver with context -%} + +# Based on https://launchpad.support.sap.com/#/notes/1410736 +# And https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/high-availability-guide-suse#2d6008b0-685d-426c-b59e-6cd281fd45d7 + +{% for sysctl_key, sysctl_value in netweaver.sysctl_values.items() %} + +{{ sysctl_key }}: + sysctl.present: + - value: {{ sysctl_value }} + +{% endfor %} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/pillar.example new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/pillar.example --- old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/pillar.example 2020-09-21 16:56:00.000000000 +0200 +++ new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/pillar.example 2020-09-28 16:12:24.000000000 +0200 @@ -57,6 +57,16 @@ # Use the next options for AWS for example # nfs_options: rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 + # syctl options. Some system options must be update for optimal usage, like tcp keepalive parameter + # sysctl values based on: + # https://launchpad.support.sap.com/#/notes/1410736 + # https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/high-availability-guide-suse#2d6008b0-685d-426c-b59e-6cd281fd45d7 + # Do not touch if not sure about the changes + #sysctl_values: + # net.ipv4.tcp_keepalive_time: 300 + # net.ipv4.tcp_keepalive_intvl: 75 + # net.ipv4.tcp_keepalive_probes: 9 + # saptune solution to apply to all nodes ( by default nothing is applied) # you can also use this to a single node if need to differ. see host hacert02 # Warning: only a unique solution can exist into a node. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/sapnwbootstrap-formula.changes new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/sapnwbootstrap-formula.changes --- old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/sapnwbootstrap-formula.changes 2020-09-21 16:56:00.000000000 +0200 +++ new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/sapnwbootstrap-formula.changes 2020-09-28 16:12:24.000000000 +0200 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Thu Sep 24 12:43:47 UTC 2020 - Xabier Arbulu <xarb...@suse.com> + +- Implement the differences between ENSA1 and ENSA2 versions +- Add the keepalive configuration changes + +------------------------------------------------------------------- Thu Aug 20 02:19:18 UTC 2020 - Simranpal Singh <simranpal.si...@suse.com> - Version 0.5.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/templates/cluster_resources.j2 new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/templates/cluster_resources.j2 --- old/sapnwbootstrap-formula-0.5.1+git.1600700160.9b359fd/templates/cluster_resources.j2 2020-09-21 16:56:00.000000000 +0200 +++ new/sapnwbootstrap-formula-0.5.1+git.1601302344.84ced23/templates/cluster_resources.j2 2020-09-28 16:12:24.000000000 +0200 @@ -1,6 +1,7 @@ {%- set data = pillar.cluster.configure.template.parameters %} {%- set cloud_provider = grains['cloud_provider'] %} {%- set sid = data.sid.upper() %} +{%- set sid_lower = sid.lower() %} {%- set ascs_instance = '{:0>2}'.format(data.ascs_instance) %} {%- set ers_instance = '{:0>2}'.format(data.ers_instance) %} {%- set ascs_device = data.ascs_device %} @@ -13,6 +14,16 @@ {%- set ers_virtual_host = data.ers_virtual_host %} {%- set monitoring_enabled = pillar.cluster.monitoring_enabled|default(False) %} +{%- if data.ensa_version is defined %} +{%- set ensa_version = data.ensa_version|int %} +{%- elif 'ensa_version_'~sid_lower~'_'~ascs_instance in grains %} +{%- set ensa_version = grains['ensa_version_'~sid_lower~'_'~ascs_instance]|int %} +{%- elif 'ensa_version_'~sid_lower~'_'~ers_instance in grains %} +{%- set ensa_version = grains['ensa_version_'~sid_lower~'_'~ers_instance]|int %} +{%- else %} +{%- set ensa_version = 1 %} +{%- endif %} + # Platform dependant (stonith, virtual ip address, cib options, etc) resource {%- if cloud_provider == "amazon-web-services" %} @@ -127,8 +138,7 @@ params InstanceName={{ sid }}_ASCS{{ ascs_instance }}_{{ ascs_virtual_host }} \ START_PROFILE="/sapmnt/{{ sid }}/profile/{{ sid }}_ASCS{{ ascs_instance }}_{{ ascs_virtual_host }}" \ AUTOMATIC_RECOVER=false \ - meta resource-stickiness=5000 failure-timeout=60 \ - migration-threshold=1 priority=10 + meta resource-stickiness=5000 {% if ensa_version == 1 %}failure-timeout=60 migration-threshold=1 priority=10{%- endif %} group grp_{{ sid }}_ASCS{{ ascs_instance }} \ rsc_ip_{{ sid }}_ASCS{{ ascs_instance }} \ @@ -156,8 +166,7 @@ op monitor interval=120 timeout=60 on_fail=restart \ params InstanceName={{ sid }}_ERS{{ ers_instance }}_{{ ers_virtual_host }} \ START_PROFILE="/sapmnt/{{ sid }}/profile/{{ sid }}_ERS{{ ers_instance }}_{{ ers_virtual_host }}" \ - AUTOMATIC_RECOVER=false IS_ERS=true \ - meta priority=1000 + AUTOMATIC_RECOVER=false IS_ERS=true {% if ensa_version == 1 %}meta priority=1000{%- endif %} group grp_{{ sid }}_ERS{{ ers_instance }} \ rsc_ip_{{ sid }}_ERS{{ ers_instance }} \ @@ -172,8 +181,10 @@ meta resource-stickiness=3000 colocation col_sap_{{ sid }}_no_both -5000: grp_{{ sid }}_ERS{{ ers_instance }} grp_{{ sid }}_ASCS{{ ascs_instance }} +{%- if ensa_version == 1 %} location loc_sap_{{ sid }}_failover_to_ers rsc_sap_{{ sid }}_ASCS{{ ascs_instance }} \ rule 2000: runs_ers_{{ sid }} eq 1 +{%- endif %} order ord_sap_{{ sid }}_first_start_ascs Optional: rsc_sap_{{ sid }}_ASCS{{ ascs_instance }}:start \ rsc_sap_{{ sid }}_ERS{{ ers_instance }}:stop symmetrical=false