Hello community,

here is the log from the commit of package sapnwbootstrap-formula for 
openSUSE:Leap:15.2 checked in at 2020-03-09 18:14:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/sapnwbootstrap-formula (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.sapnwbootstrap-formula.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sapnwbootstrap-formula"

Mon Mar  9 18:14:39 2020 rev:2 rq:782185 version:0.2.4

Changes:
--------
--- 
/work/SRC/openSUSE:Leap:15.2/sapnwbootstrap-formula/sapnwbootstrap-formula.changes
  2020-01-15 16:01:04.487850870 +0100
+++ 
/work/SRC/openSUSE:Leap:15.2/.sapnwbootstrap-formula.new.26092/sapnwbootstrap-formula.changes
       2020-03-09 18:14:55.945427815 +0100
@@ -1,0 +2,40 @@
+Fri Feb 21 08:38:47 UTC 2020 - Xabier Arbulu <[email protected]>
+
+- Version 0.2.4
+  * Adapt the formula and HA template to work with aws RA
+  * Make nfs share option configurable
+  (bsc#1165156, jsc#SLE-4143, boo#1137989)
+
+-------------------------------------------------------------------
+Tue Jan 28 10:34:19 UTC 2020 - Xabier Arbulu <[email protected]>
+
+- Version bump 0.2.3
+  * Adapt HA template to support gcp
+
+-------------------------------------------------------------------
+Mon Jan 27 08:59:03 UTC 2020 - Xabier Arbulu <[email protected]>
+
+- Version bump 0.2.2
+  * Add the virtual_host_mask parameter to NW installation
+
+-------------------------------------------------------------------
+Fri Jan 24 08:10:20 UTC 2020 - Xabier Arbulu <[email protected]>
+
+- Version bump 0.2.1
+  * Make the product_id parameter variable to provide the option
+    to install other SAP products than NW750
+
+-------------------------------------------------------------------
+Thu Jan 23 13:17:27 UTC 2020 - Dario Maiocchi <[email protected]>
+
+- Version bump 0.2.0
+  * Add saptune module to apply a specific solutionn
+
+-------------------------------------------------------------------
+Mon Jan 20 13:48:38 UTC 2020 - Xabier Arbulu <[email protected]>
+
+- Version bump 0.1.9
+  * Improve the shared disk creation to avoid issues mounting and
+    formatting the partitions (and later on with SAP instances)
+
+-------------------------------------------------------------------

Old:
----
  sapnwbootstrap-formula-0.1.8.tar.gz

New:
----
  sapnwbootstrap-formula-0.2.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sapnwbootstrap-formula.spec ++++++
--- /var/tmp/diff_new_pack.2ArfyY/_old  2020-03-09 18:14:56.197427937 +0100
+++ /var/tmp/diff_new_pack.2ArfyY/_new  2020-03-09 18:14:56.197427937 +0100
@@ -19,7 +19,7 @@
 # See also http://en.opensuse.org/openSUSE:Specfile_guidelines
 
 Name:           sapnwbootstrap-formula
-Version:        0.1.8
+Version:        0.2.4
 Release:        0
 Summary:        SAP Netweaver platform deployment formula
 License:        Apache-2.0

++++++ sapnwbootstrap-formula-0.1.8.tar.gz -> 
sapnwbootstrap-formula-0.2.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sapnwbootstrap-formula-0.1.8/README.md 
new/sapnwbootstrap-formula-0.2.4/README.md
--- old/sapnwbootstrap-formula-0.1.8/README.md  2019-12-19 14:28:56.910027998 
+0100
+++ new/sapnwbootstrap-formula-0.2.4/README.md  2020-03-06 14:58:40.088435899 
+0100
@@ -35,6 +35,21 @@
 
 Find an example about all of the possible configurable options in the 
[pillar.example](pillar.example) file.
 
+## Salt pillar encryption
+
+Pillars are expected to contain private data such as user passwords required 
for the automated installation or other operations. Therefore, such pillar data 
need to be stored in an encrypted state, which can be decrypted during pillar 
compilation.
+
+SaltStack GPG renderer provides a secure encryption/decryption of pillar data. 
The configuration of GPG keys and procedure for pillar encryption are desribed 
in the Saltstack documentation guide:
+
+- [SaltStack pillar 
encryption](https://docs.saltstack.com/en/latest/topics/pillar/#pillar-encryption)
+
+- [SALT GPG 
RENDERERS](https://docs.saltstack.com/en/latest/ref/renderers/all/salt.renderers.gpg.html)
+
+**Note:**
+- Only passwordless gpg keys are supported, and the already existing keys 
cannot be used.
+
+- If a masterless approach is used (as in the current automated deployment) 
the gpg private key must be imported in all the nodes. This might require the 
copy/paste of the keys.
+
 ## License
 
 See the [LICENSE](LICENSE) file for license rights and limitations.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sapnwbootstrap-formula-0.1.8/netweaver/defaults.yaml 
new/sapnwbootstrap-formula-0.2.4/netweaver/defaults.yaml
--- old/sapnwbootstrap-formula-0.1.8/netweaver/defaults.yaml    2019-12-19 
14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/defaults.yaml    2020-03-06 
14:58:40.088435899 +0100
@@ -3,6 +3,8 @@
   installation_folder: /tmp/swpm_unattended
   additional_dvds: []
   ha_enabled: True
+  nfs_version: nfs4 # Used to connect to the nfs share
+  nfs_options: defaults
   # Set this entry to false to disable creating swap
   create_swap:
       # Path containing the swapfile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sapnwbootstrap-formula-0.1.8/netweaver/init.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/init.sls
--- old/sapnwbootstrap-formula-0.1.8/netweaver/init.sls 2019-12-19 
14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/init.sls 2020-03-06 
14:58:40.088435899 +0100
@@ -1,5 +1,6 @@
 include:
   - netweaver.setup
+  - netweaver.saptune
   - netweaver.install_ascs
   - netweaver.install_ers
   - netweaver.ha_cluster
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/netweaver/install_aas.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/install_aas.sls
--- old/sapnwbootstrap-formula-0.1.8/netweaver/install_aas.sls  2019-12-19 
14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/install_aas.sls  2020-03-06 
14:58:40.088435899 +0100
@@ -5,7 +5,10 @@
 
 {% set instance = '{:0>2}'.format(node.instance) %}
 {% set hana_instance = '{:0>2}'.format(netweaver.hana.instance) %}
-{% set instance_name =  node.sid~'_'~instance %}
+{% set instance_name = node.sid~'_'~instance %}
+
+{% set product_id = node.product_id|default(netweaver.product_id) %}
+{% set product_id = 'NW_DI:'~product_id if 'NW_DI' not in product_id else 
product_id %}
 
 create_aas_inifile_{{ instance_name }}:
   file.managed:
@@ -53,8 +56,9 @@
     - root_password: {{ node.root_password }}
     - config_file: /tmp/aas.inifile.params
     - virtual_host: {{ node.virtual_host }}
-    - virtual_host_interface: {{ node.virtual_host_interface|default('eth1') }}
-    - product_id: NW_DI:NW750.HDB.ABAPHA
+    - virtual_host_interface: {{ node.virtual_host_interface|default('eth0') }}
+    - virtual_host_mask: {{ node.virtual_host_mask|default(24) }}
+    - product_id: {{ product_id }}
     - cwd: {{ netweaver.installation_folder }}
     - additional_dvds: {{ netweaver.additional_dvds }}
     - require:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/netweaver/install_ascs.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/install_ascs.sls
--- old/sapnwbootstrap-formula-0.1.8/netweaver/install_ascs.sls 2019-12-19 
14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/install_ascs.sls 2020-03-06 
14:58:40.088435899 +0100
@@ -4,7 +4,10 @@
 {% for node in netweaver.nodes if node.host == host and node.sap_instance == 
'ascs' %}
 
 {% set instance = '{:0>2}'.format(node.instance) %}
-{% set instance_name =  node.sid~'_'~instance %}
+{% set instance_name = node.sid~'_'~instance %}
+
+{% set product_id = node.product_id|default(netweaver.product_id) %}
+{% set product_id = 'NW_ABAP_ASCS:'~product_id if 'NW_ABAP_ASCS' not in 
product_id else product_id %}
 
 create_ascs_inifile_{{ instance_name }}:
   file.managed:
@@ -30,8 +33,9 @@
     - root_password: {{ node.root_password }}
     - config_file: /tmp/ascs.inifile.params
     - virtual_host: {{ node.virtual_host }}
-    - virtual_host_interface: {{ node.virtual_host_interface|default('eth1') }}
-    - product_id: NW_ABAP_ASCS:NW750.HDB.ABAPHA
+    - virtual_host_interface: {{ node.virtual_host_interface|default('eth0') }}
+    - virtual_host_mask: {{ node.virtual_host_mask|default(24) }}
+    - product_id: {{ product_id }}
     - cwd: {{ netweaver.installation_folder }}
     - additional_dvds: {{ netweaver.additional_dvds }}
     - require:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/netweaver/install_db.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/install_db.sls
--- old/sapnwbootstrap-formula-0.1.8/netweaver/install_db.sls   2019-12-19 
14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/install_db.sls   2020-03-06 
14:58:40.088435899 +0100
@@ -5,7 +5,10 @@
 
 {% set instance = '{:0>2}'.format(node.instance) %}
 {% set hana_instance = '{:0>2}'.format(netweaver.hana.instance) %}
-{% set instance_name =  node.sid~'_'~instance %}
+{% set instance_name = node.sid~'_'~instance %}
+
+{% set product_id = node.product_id|default(netweaver.product_id) %}
+{% set product_id = 'NW_ABAP_DB:'~product_id if 'NW_ABAP_DB' not in product_id 
else product_id %}
 
 create_db_inifile_{{ instance_name }}:
   file.managed:
@@ -54,8 +57,9 @@
     - root_password: {{ node.root_password }}
     - config_file: /tmp/db.inifile.params
     - virtual_host: {{ node.virtual_host }}
-    - virtual_host_interface: {{ node.virtual_host_interface|default('eth1') }}
-    - product_id: NW_ABAP_DB:NW750.HDB.ABAPHA
+    - virtual_host_interface: {{ node.virtual_host_interface|default('eth0') }}
+    - virtual_host_mask: {{ node.virtual_host_mask|default(24) }}
+    - product_id: {{ product_id }}
     - cwd: {{ netweaver.installation_folder }}
     - additional_dvds: {{ netweaver.additional_dvds }}
     - require:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/netweaver/install_ers.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/install_ers.sls
--- old/sapnwbootstrap-formula-0.1.8/netweaver/install_ers.sls  2019-12-19 
14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/install_ers.sls  2020-03-06 
14:58:40.088435899 +0100
@@ -4,7 +4,10 @@
 {% for node in netweaver.nodes if node.host == host and node.sap_instance == 
'ers' %}
 
 {% set instance = '{:0>2}'.format(node.instance) %}
-{% set instance_name =  node.sid~'_'~instance %}
+{% set instance_name = node.sid~'_'~instance %}
+
+{% set product_id = node.product_id|default(netweaver.product_id) %}
+{% set product_id = 'NW_ERS:'~product_id if 'NW_ERS' not in product_id else 
product_id %}
 
 create_ers_inifile_{{ instance_name }}:
   file.managed:
@@ -37,8 +40,9 @@
     - root_password: {{ node.root_password }}
     - config_file: /tmp/ers.inifile.params
     - virtual_host: {{ node.virtual_host }}
-    - virtual_host_interface: {{ node.virtual_host_interface|default('eth1') }}
-    - product_id: NW_ERS:NW750.HDB.ABAPHA
+    - virtual_host_interface: {{ node.virtual_host_interface|default('eth0') }}
+    - virtual_host_mask: {{ node.virtual_host_mask|default(24) }}
+    - product_id: {{ product_id }}
     - cwd: {{ netweaver.installation_folder }}
     - additional_dvds: {{ netweaver.additional_dvds }}
     - ascs_password: {{ 
netweaver.sid_adm_password|default(netweaver.master_password) }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/netweaver/install_pas.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/install_pas.sls
--- old/sapnwbootstrap-formula-0.1.8/netweaver/install_pas.sls  2019-12-19 
14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/install_pas.sls  2020-03-06 
14:58:40.088435899 +0100
@@ -5,7 +5,10 @@
 
 {% set instance = '{:0>2}'.format(node.instance) %}
 {% set hana_instance = '{:0>2}'.format(netweaver.hana.instance) %}
-{% set instance_name =  node.sid~'_'~instance %}
+{% set instance_name = node.sid~'_'~instance %}
+
+{% set product_id = node.product_id|default(netweaver.product_id) %}
+{% set product_id = 'NW_ABAP_CI:'~product_id if 'NW_ABAP_CI' not in product_id 
else product_id %}
 
 create_pas_inifile_{{ instance_name }}:
   file.managed:
@@ -54,8 +57,9 @@
     - root_password: {{ node.root_password }}
     - config_file: /tmp/pas.inifile.params
     - virtual_host: {{ node.virtual_host }}
-    - virtual_host_interface: {{ node.virtual_host_interface|default('eth1') }}
-    - product_id: NW_ABAP_CI:NW750.HDB.ABAPHA
+    - virtual_host_interface: {{ node.virtual_host_interface|default('eth0') }}
+    - virtual_host_mask: {{ node.virtual_host_mask|default(24) }}
+    - product_id: {{ product_id }}
     - cwd: {{ netweaver.installation_folder }}
     - additional_dvds: {{ netweaver.additional_dvds }}
     - require:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sapnwbootstrap-formula-0.1.8/netweaver/saptune.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/saptune.sls
--- old/sapnwbootstrap-formula-0.1.8/netweaver/saptune.sls      1970-01-01 
01:00:00.000000000 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/saptune.sls      2020-03-06 
14:58:40.088435899 +0100
@@ -0,0 +1,10 @@
+{%- from "netweaver/map.jinja" import netweaver with context -%}
+{% set host = grains['host'] %}
+{% for node in netweaver.nodes if node.host == host and 
(netweaver.saptune_solution is defined or node.saptune_solution is defined) %}
+{% set saptune_solution = 
node.saptune_solution|default(netweaver.saptune_solution) %}
+{% set instance = '{:0>2}'.format(node.instance) %}
+{% set name = '{}_{}'.format(node.sid, instance) %}
+apply_saptune_solution_{{ host }}_{{ name }}:
+  saptune.solution_applied:
+    - name: {{ saptune_solution }}
+{% endfor %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/netweaver/setup/mount.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/setup/mount.sls
--- old/sapnwbootstrap-formula-0.1.8/netweaver/setup/mount.sls  2019-12-19 
14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/setup/mount.sls  2020-03-06 
14:58:40.088435899 +0100
@@ -9,7 +9,7 @@
 
 {% if ':' in node.shared_disk_dev %} # This means that the device is a nfs 
share
 {% set device = node.shared_disk_dev %}
-{% set fstype = 'nfs4' %}
+{% set fstype = netweaver.nfs_version %}
 {% else %}
 # device is shared_device_disk2 for ascs or shared_device_disk3 for ers
 {% set device = node.shared_disk_dev~'2' if node.sap_instance.lower() == 
'ascs' else node.shared_disk_dev~'3' %}
@@ -23,26 +23,20 @@
     - fstype: {{ fstype }}
     - mkmnt: True
     - opts:
-      - defaults
+      - {{ netweaver.nfs_options }}
 
-# This second loop is used to find ASCS/ERS shared instances to share their 
data as it's needed to enable HA before the cluster is created
-{% for shared_node in netweaver.nodes if host != shared_node.host and 
shared_node.sid == node.sid and shared_node.sap_instance.lower() in ['ascs', 
'ers'] and ':' in shared_node.shared_disk_dev %}
+# This second loop is used to find ASCS/ERS shared instances to create the 
opposite instance folder
+{% for shared_node in netweaver.nodes if host != shared_node.host and 
shared_node.sid == node.sid and shared_node.sap_instance.lower() in ['ascs', 
'ers'] %}
 
 {% set shared_instance = '{:0>2}'.format(shared_node.instance) %}
 {% set shared_instance_name =  shared_node.sid~'_'~shared_instance %}
 
-mount_{{ shared_node.sap_instance.lower() }}_{{ shared_instance_name }}:
-  mount.mounted:
+create_folder_{{ shared_node.sap_instance.lower() }}_{{ shared_instance_name 
}}:
+  file.directory:
     - name: /usr/sap/{{ shared_node.sid.upper() }}/{{ 
shared_node.sap_instance.upper() }}{{ shared_instance }}
-    - device: {{ shared_node.shared_disk_dev }}
-    - fstype: {{ fstype }}
-    - mkmnt: True
-    - opts:
-      - defaults
 
 {% endfor %}
 
-
 {% elif node.sap_instance.lower() in ['pas', 'aas'] %}
 
 create_folder_{{ node.sap_instance.lower() }}_{{ instance_name }}:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/netweaver/setup/sap_nfs.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/setup/sap_nfs.sls
--- old/sapnwbootstrap-formula-0.1.8/netweaver/setup/sap_nfs.sls        
2019-12-19 14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/setup/sap_nfs.sls        
2020-03-06 14:58:40.088435899 +0100
@@ -5,11 +5,11 @@
   mount.mounted:
     - name: /sapmnt
     - device: {{ netweaver.sapmnt_inst_media }}/sapmnt
-    - fstype: nfs
+    - fstype: {{ netweaver.nfs_version }}
+    - opts:
+      - {{ netweaver.nfs_options }}
     - mkmnt: True
     - persist: True
-    - opts:
-      - defaults
 
 {% for node in netweaver.nodes if host == node.host %}
 
@@ -20,11 +20,12 @@
   mount.mounted:
     - name: /usr/sap/{{ node.sid.upper() }}/SYS
     - device: {{ netweaver.sapmnt_inst_media }}/usrsapsys
-    - fstype: nfs
+    - fstype: {{ netweaver.nfs_version }}
+    - opts:
+      - {{ netweaver.nfs_options }}
     - mkmnt: True
     - persist: True
-    - opts:
-      - defaults
+
 
 {% if netweaver.clean_nfs and node.sap_instance == 'ascs' %}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/netweaver/setup/shared_disk.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/setup/shared_disk.sls
--- old/sapnwbootstrap-formula-0.1.8/netweaver/setup/shared_disk.sls    
2019-12-19 14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/setup/shared_disk.sls    
2020-03-06 14:58:40.088435899 +0100
@@ -27,16 +27,28 @@
     - require:
       - label_partition
 
+# This state is done to avoid failure in disk formatting
+wait_until_partition:
+  module.run:
+    - test.sleep:
+      - length: 5
+    - require:
+      - sbd_partition
+      - first_partition
+      - second_partition
+
 format_first_partition:
   cmd.run:
     - name: /sbin/mkfs.xfs {{ node.shared_disk_dev }}2
     - require:
+      - wait_until_partition
       - first_partition
 
 format_second_partition:
   cmd.run:
     - name: /sbin/mkfs.xfs {{ node.shared_disk_dev }}3
     - require:
+      - wait_until_partition
       - second_partition
 
 {% else %}
@@ -48,5 +60,22 @@
     - hide_output: True
     - timeout: 6000
 
+# This state is done to give always time to the disk formatting done by the 
1st node
+wait_until_rescan:
+  module.run:
+    - test.sleep:
+      - length: 10
+    - require:
+      - rescan_partition
+
+rescan_after_formatting:
+  cmd.run:
+    - name: partprobe; fdisk -l {{ node.shared_disk_dev }}
+    - output_loglevel: quiet
+    - hide_output: True
+    - timeout: 6000
+    - require:
+      - wait_until_rescan
+
 {% endif %}
 {% endfor %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sapnwbootstrap-formula-0.1.8/pillar.example 
new/sapnwbootstrap-formula-0.2.4/pillar.example
--- old/sapnwbootstrap-formula-0.1.8/pillar.example     2019-12-19 
14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/pillar.example     2020-03-06 
14:58:40.088435899 +0100
@@ -37,6 +37,17 @@
   # Enable operations in ASCS and ERS to set HA environment correctly (HA 
cluster is not installed)
   ha_enabled: True
 
+  # Used to connect to the nfs share
+  nfs_version: nfs4
+  nfs_options: defaults
+  # Use the next options for AWS for example
+  # nfs_options: rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2
+
+  # 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.
+  saptune_solution: 'NETWEAVER'
+
   # Information about the already deployed HANA Database
   # This entry is mandatory if DB/PAS/AAS are to be installed
   hana:
@@ -51,9 +62,17 @@
     name: schema_name
     password: your_password
 
+  # The installed product id. If some particular node has its own product_id 
that one will have the preference
+  # Just put the product id ommiting the initial part like NW_ABAP_ASCS, 
NW_ERS, etc
+  # Examples
+  product_id: NW750.HDB.ABAPHA
+  #product_id: S4HANA1709.CORE.HDB.ABAPHA
+
   nodes:
     - host: hacert01
       virtual_host: sapha1as
+      virtual_host_interface: eth1 # eth0 by default
+      virtual_host_mask: 32 # 24 by default
       sid: HA1
       instance: 00
       root_user: root
@@ -61,11 +80,15 @@
       shared_disk_dev: /dev/sbd
       init_shared_disk: True
       sap_instance: ascs
+      # Set an specific product id. In this case the initial part of the code 
is accepted too, even though it's recommend to use the 1st example option
+      product_id: NW750.HDB.ABAPHA
+      #product_id: NW_ABAP_ASCS:S4HANA1709.CORE.HDB.ABAPHA
 
     - host: hacert02
       virtual_host: sapha1er
       sid: HA1
       instance: 10
+      saptune_solution: 'MAXDB'
       root_user: root
       root_password: linux
       shared_disk_dev: /dev/sbd
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/sapnwbootstrap-formula.changes 
new/sapnwbootstrap-formula-0.2.4/sapnwbootstrap-formula.changes
--- old/sapnwbootstrap-formula-0.1.8/sapnwbootstrap-formula.changes     
2019-12-19 14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/sapnwbootstrap-formula.changes     
2020-03-06 14:58:40.088435899 +0100
@@ -1,8 +1,48 @@
 -------------------------------------------------------------------
+Fri Feb 21 08:38:47 UTC 2020 - Xabier Arbulu <[email protected]>
+
+- Version 0.2.4
+  * Adapt the formula and HA template to work with aws RA
+  * Make nfs share option configurable
+  (bsc#1165156, jsc#SLE-4143, boo#1137989)
+
+-------------------------------------------------------------------
+Tue Jan 28 10:34:19 UTC 2020 - Xabier Arbulu <[email protected]>
+
+- Version bump 0.2.3
+  * Adapt HA template to support gcp
+
+-------------------------------------------------------------------
+Mon Jan 27 08:59:03 UTC 2020 - Xabier Arbulu <[email protected]>
+
+- Version bump 0.2.2
+  * Add the virtual_host_mask parameter to NW installation
+
+-------------------------------------------------------------------
+Fri Jan 24 08:10:20 UTC 2020 - Xabier Arbulu <[email protected]>
+
+- Version bump 0.2.1
+  * Make the product_id parameter variable to provide the option
+    to install other SAP products than NW750
+
+-------------------------------------------------------------------
+Thu Jan 23 13:17:27 UTC 2020 - Dario Maiocchi <[email protected]>
+
+- Version bump 0.2.0
+  * Add saptune module to apply a specific solutionn
+
+-------------------------------------------------------------------
+Mon Jan 20 13:48:38 UTC 2020 - Xabier Arbulu <[email protected]>
+
+- Version bump 0.1.9
+  * Improve the shared disk creation to avoid issues mounting and
+    formatting the partitions (and later on with SAP instances)
+
+-------------------------------------------------------------------
 Thu Dec 19 12:19:23 UTC 2019 - Xabier Arbulu <[email protected]>
 
 - Version bump 0.1.8
-  * Update cloud provider data usage 
+  * Update cloud provider data usage
 
 -------------------------------------------------------------------
 Mon Dec  9 18:45:49 UTC 2019 - Simranpal Singh <[email protected]>
@@ -15,7 +55,7 @@
 Thu Dec  5 10:44:24 UTC 2019 - Xabier Arbulu <[email protected]>
 
 - Version bump 0.1.6
-  * Adapt the formula to work with azure standards 
+  * Adapt the formula to work with azure standards
 
 -------------------------------------------------------------------
 Thu Nov 28 10:14:56 UTC 2019 - Xabier Arbulu <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/sapnwbootstrap-formula.spec 
new/sapnwbootstrap-formula-0.2.4/sapnwbootstrap-formula.spec
--- old/sapnwbootstrap-formula-0.1.8/sapnwbootstrap-formula.spec        
2019-12-19 14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/sapnwbootstrap-formula.spec        
2020-03-06 14:58:40.088435899 +0100
@@ -19,7 +19,7 @@
 # See also http://en.opensuse.org/openSUSE:Specfile_guidelines
 
 Name:           sapnwbootstrap-formula
-Version:        0.1.8
+Version:        0.2.4
 Release:        0
 Summary:        SAP Netweaver platform deployment formula
 License:        Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/templates/aas.inifile.params.j2 
new/sapnwbootstrap-formula-0.2.4/templates/aas.inifile.params.j2
--- old/sapnwbootstrap-formula-0.1.8/templates/aas.inifile.params.j2    
2019-12-19 14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/templates/aas.inifile.params.j2    
2020-03-06 14:58:40.092433899 +0100
@@ -1,6 +1,6 @@
 
##################################################################################################################################################################################################################
 #                                                                              
                                                                                
                                                  #
-# Installation service 'SAP NetWeaver 7.5 > SAP HANA Database > Installation > 
Application Server ABAP > High-Availability System > Additional Application 
Server Instance', product id 'NW_DI:NW750.HDB.ABAPHA' #
+# Installation service 'NW_DI:XXX' #
 #                                                                              
                                                                                
                                                  #
 
##################################################################################################################################################################################################################
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/templates/ascs.inifile.params.j2 
new/sapnwbootstrap-formula-0.2.4/templates/ascs.inifile.params.j2
--- old/sapnwbootstrap-formula-0.1.8/templates/ascs.inifile.params.j2   
2019-12-19 14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/templates/ascs.inifile.params.j2   
2020-03-06 14:58:40.092433899 +0100
@@ -1,7 +1,7 @@
 {% set instance = '{:0>2}'.format(instance) %}
 
################################################################################################################################################################################################
 #                                                                              
                                                                                
                                #
-# Installation service 'SAP NetWeaver 7.5 > SAP HANA Database > Installation > 
Application Server ABAP > High-Availability System > ASCS Instance', product id 
'NW_ABAP_ASCS:NW750.HDB.ABAPHA' #
+# Installation service 'NW_ABAP_ASCS:XXX' #
 #                                                                              
                                                                                
                                #
 
################################################################################################################################################################################################
 # Password for the Diagnostics Agent specific <dasid>adm user. Provided value 
may be encoded.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/templates/cluster_resources.j2 
new/sapnwbootstrap-formula-0.2.4/templates/cluster_resources.j2
--- old/sapnwbootstrap-formula-0.1.8/templates/cluster_resources.j2     
2019-12-19 14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/templates/cluster_resources.j2     
2020-03-06 14:58:40.092433899 +0100
@@ -1,38 +1,106 @@
-{% set data = pillar.cluster.configure.template.parameters %}
-{% set cloud_provider = grains['cloud_provider'] %}
-{% set sid = data.sid.upper() %}
-{% set ascs_instance = '{:0>2}'.format(data.ascs_instance) %}
-{% set ers_instance = '{:0>2}'.format(data.ers_instance) %}
-{% set ascs_device = data.ascs_device %}
-{% set ers_device = data.ers_device %}
-{% set ascs_fstype = data.ascs_fstype %}
-{% set ers_fstype = data.ers_fstype %}
-{% set ascs_ip_address = data.ascs_ip_address %}
-{% set ers_ip_address = data.ers_ip_address %}
-{% set ascs_virtual_host = data.ascs_virtual_host %}
-{% set ers_virtual_host = data.ers_virtual_host %}
+{%- set data = pillar.cluster.configure.template.parameters %}
+{%- set cloud_provider = grains['cloud_provider'] %}
+{%- set sid = data.sid.upper() %}
+{%- set ascs_instance = '{:0>2}'.format(data.ascs_instance) %}
+{%- set ers_instance = '{:0>2}'.format(data.ers_instance) %}
+{%- set ascs_device = data.ascs_device %}
+{%- set ers_device = data.ers_device %}
+{%- set ascs_fstype = data.ascs_fstype %}
+{%- set ers_fstype = data.ers_fstype %}
+{%- set ascs_ip_address = data.ascs_ip_address %}
+{%- set ers_ip_address = data.ers_ip_address %}
+{%- set ascs_virtual_host = data.ascs_virtual_host %}
+{%- set ers_virtual_host = data.ers_virtual_host %}
+
+# General cluster options
+{%- if cloud_provider not in ["amazon-web-services"] %}
+
+property cib-bootstrap-options: \
+  stonith-enabled="true" \
+  stonith-action="poweroff" \
+  stonith-timeout="600s"
+
+rsc_defaults rsc-options: \
+       resource-stickiness=1 \
+       migration-threshold=3
+
+op_defaults op-options: \
+       timeout=600 \
+       record-pending=true
+
+{%- endif %}
+
+# Platform dependant (stonith, virtual ip address, cib options, etc) resource
+
+{%- if cloud_provider == "amazon-web-services" %}
+
+primitive res_aws_stonith_{{ sid }} stonith:external/ec2 \
+  params tag={{ data.instance_tag }} profile={{ data.cluster_profile}} \
+  op start interval=0 timeout=180 \
+  op stop interval=0 timeout=180 \
+  op monitor interval=120 timeout=60 \
+  meta target-role=Started
+
+primitive rsc_ip_{{ sid }}_ASCS{{ ascs_instance }} ocf:suse:aws-vpc-move-ip \
+  params ip={{ ascs_ip_address }} routing_table={{ data.route_table}} \
+  interface={{ pillar.cluster.interface|default('eth0')|json }} profile={{ 
data.cluster_profile}} \
+  op start interval=0 timeout=180 \
+  op stop interval=0 timeout=180 \
+  op monitor interval=60 timeout=60
+
+primitive rsc_ip_{{ sid }}_ERS{{ ers_instance }} ocf:suse:aws-vpc-move-ip \
+  params ip={{ ers_ip_address }} routing_table={{ data.route_table}} \
+  interface={{ pillar.cluster.interface|default('eth0')|json }} profile={{ 
data.cluster_profile}} \
+  op start interval=0 timeout=180 \
+  op stop interval=0 timeout=180 \
+  op monitor interval=60 timeout=60
+
+{%- else %}
+
+{%- set nic = "nic="~pillar.cluster.interface|default('eth0')|json if 
cloud_provider == "google-cloud-platform" else "" %}
+{%- set cidr_netmask = "cidr_netmask=32" if cloud_provider == 
"google-cloud-platform" else "" %}
+
+{%- if cloud_provider == "microsoft-azure" %}
+
+primitive nc_{{ sid }}_ASCS anything \
+  params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:620{{ 
ascs_instance }},backlog=10,fork,reuseaddr /dev/null" \
+  op monitor timeout=20s interval=10 depth=0
+
+primitive nc_{{ sid }}_ERS anything \
+  params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:621{{ 
ers_instance }},backlog=10,fork,reuseaddr /dev/null" \
+  op monitor timeout=20s interval=10 depth=0
+
+{%- endif %}
+
+primitive rsc_ip_{{ sid }}_ASCS{{ ascs_instance }} IPaddr2 \
+  params ip={{ ascs_ip_address}} {{ cidr_netmask }} {{ nic }} \
+  op monitor interval=10s timeout=20s
+
+primitive rsc_ip_{{ sid }}_ERS{{ ers_instance }} IPaddr2 \
+  params ip={{ ers_ip_address }} {{ cidr_netmask }} {{ nic }} \
+  op monitor interval=10s timeout=20s
+
+{%- endif %}
+
+# SAP Netweaver related resources
 
 primitive rsc_fs_{{ sid }}_ASCS{{ ascs_instance }} Filesystem \
   params device="{{ ascs_device }}" directory="/usr/sap/{{ sid }}/ASCS{{ 
ascs_instance }}" fstype={{ ascs_fstype|default("xfs") }} \
+  {%- if cloud_provider == "amazon-web-services" %}
+  options="rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2" \
+  {%- endif %}
   op start timeout=60s interval=0 \
   op stop timeout=60s interval=0 \
   op monitor interval=20s timeout=40s
-primitive rsc_ip_{{ sid }}_ASCS{{ ascs_instance }} IPaddr2 \
-  params ip={{ ascs_ip_address}} \
-  op monitor interval=10s timeout=20s
+
 primitive rsc_sap_{{ sid }}_ASCS{{ ascs_instance }} SAPInstance \
   operations $id=rsc_sap_{{ sid }}_ASCS{{ ascs_instance }}-operations \
-  op monitor interval=11 timeout=60 on_fail=restart \
+  op monitor interval=120 timeout=60 on_fail=restart \
   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
-{% if cloud_provider == "microsoft-azure" %}
-primitive nc_{{ sid }}_ASCS anything \
-  params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:620{{ 
ascs_instance }},backlog=10,fork,reuseaddr /dev/null" \
-  op monitor timeout=20s interval=10 depth=0
-{% endif %}
 
 group grp_{{ sid }}_ASCS{{ ascs_instance }} \
   rsc_ip_{{ sid }}_ASCS{{ ascs_instance }} rsc_fs_{{ sid }}_ASCS{{ 
ascs_instance }} rsc_sap_{{ sid }}_ASCS{{ ascs_instance }} {% if cloud_provider 
== "microsoft-azure" %} nc_{{ sid }}_ASCS {% endif %} \
@@ -40,31 +108,27 @@
 
 primitive rsc_fs_{{ sid }}_ERS{{ ers_instance }} Filesystem \
   params device="{{ ers_device }}" directory="/usr/sap/{{ sid }}/ERS{{ 
ers_instance }}" fstype={{ ers_fstype|default("xfs") }} \
+  {%- if cloud_provider == "amazon-web-services" %}
+  options="rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2" \
+  {%- endif %}
   op start timeout=60s interval=0 \
   op stop timeout=60s interval=0 \
   op monitor interval=20s timeout=40s
-primitive rsc_ip_{{ sid }}_ERS{{ ers_instance }} IPaddr2 \
-  params ip={{ ers_ip_address }} \
-  op monitor interval=10s timeout=20s
+
 primitive rsc_sap_{{ sid }}_ERS{{ ers_instance }} SAPInstance \
   operations $id=rsc_sap_{{ sid }}_ERS{{ ers_instance }}-operations \
-  op monitor interval=11 timeout=60 on_fail=restart \
+  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
-{% if cloud_provider == "microsoft-azure" %}
-primitive nc_{{ sid }}_ERS anything \
- params binfile="/usr/bin/socat" cmdline_options="-U TCP-LISTEN:621{{ 
ers_instance }},backlog=10,fork,reuseaddr /dev/null" \
- op monitor timeout=20s interval=10 depth=0
-{% endif %}
 
 group grp_{{ sid }}_ERS{{ ers_instance }} \
   rsc_ip_{{ sid }}_ERS{{ ers_instance }} rsc_fs_{{ sid }}_ERS{{ ers_instance 
}} rsc_sap_{{ sid }}_ERS{{ ers_instance }} {% if cloud_provider == 
"microsoft-azure" %} nc_{{ sid }}_ERS {% endif %}
 
 colocation col_sap_{{ sid }}_no_both -5000: grp_{{ sid }}_ERS{{ ers_instance 
}} grp_{{ sid }}_ASCS{{ ascs_instance }}
 location loc_sap_{{ sid }}_failover_to_ers rsc_sap_{{ sid }}_ASCS{{ 
ascs_instance }} \
-        rule 2000: runs_ers_{{ sid }} eq 1
+  rule 2000: runs_ers_{{ sid }} eq 1
 
 order ord_sap_{{ sid }}_first_start_ascs Optional: rsc_sap_{{ sid }}_ASCS{{ 
ascs_instance }}:start \
-      rsc_sap_{{ sid }}_ERS{{ ers_instance }}:stop symmetrical=false
+  rsc_sap_{{ sid }}_ERS{{ ers_instance }}:stop symmetrical=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/templates/db.inifile.params.j2 
new/sapnwbootstrap-formula-0.2.4/templates/db.inifile.params.j2
--- old/sapnwbootstrap-formula-0.1.8/templates/db.inifile.params.j2     
2019-12-19 14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/templates/db.inifile.params.j2     
2020-03-06 14:58:40.092433899 +0100
@@ -1,6 +1,6 @@
 
##################################################################################################################################################################################################
 #                                                                              
                                                                                
                                  #
-# Installation service 'SAP NetWeaver 7.5 > SAP HANA Database > Installation > 
Application Server ABAP > High-Availability System > Database Instance', 
product id 'NW_ABAP_DB:NW750.HDB.ABAPHA' #
+# Installation service 'NW_ABAP_DB:XXX' #
 #                                                                              
                                                                                
                                  #
 
##################################################################################################################################################################################################
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/templates/ers.inifile.params.j2 
new/sapnwbootstrap-formula-0.2.4/templates/ers.inifile.params.j2
--- old/sapnwbootstrap-formula-0.1.8/templates/ers.inifile.params.j2    
2019-12-19 14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/templates/ers.inifile.params.j2    
2020-03-06 14:58:40.092433899 +0100
@@ -1,7 +1,7 @@
 {% set instance = '{:0>2}'.format(instance) %}
 
################################################################################################################################################################################################################
 #                                                                              
                                                                                
                                                #
-# Installation service 'SAP NetWeaver 7.5 > SAP HANA Database > Installation > 
Application Server ABAP > High-Availability System > Enqueue Replication Server 
Instance', product id 'NW_ERS:NW750.HDB.ABAPHA' #
+# Installation service 'NW_ERS:XXX' #
 #                                                                              
                                                                                
                                                #
 
################################################################################################################################################################################################################
 # Password for the Diagnostics Agent specific <dasid>adm user. Provided value 
may be encoded.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.1.8/templates/pas.inifile.params.j2 
new/sapnwbootstrap-formula-0.2.4/templates/pas.inifile.params.j2
--- old/sapnwbootstrap-formula-0.1.8/templates/pas.inifile.params.j2    
2019-12-19 14:28:56.910027998 +0100
+++ new/sapnwbootstrap-formula-0.2.4/templates/pas.inifile.params.j2    
2020-03-06 14:58:40.092433899 +0100
@@ -1,6 +1,6 @@
 
####################################################################################################################################################################################################################
 #                                                                              
                                                                                
                                                    #
-# Installation service 'SAP NetWeaver 7.5 > SAP HANA Database > Installation > 
Application Server ABAP > High-Availability System > Primary Application Server 
Instance', product id 'NW_ABAP_CI:NW750.HDB.ABAPHA' #
+# Installation service 'NW_ABAP_CI:XXX' #
 #                                                                              
                                                                                
                                                    #
 
####################################################################################################################################################################################################################
 


Reply via email to