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' #
#
#
####################################################################################################################################################################################################################