Hello community,

here is the log from the commit of package sapnwbootstrap-formula for 
openSUSE:Factory checked in at 2020-03-05 23:23:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sapnwbootstrap-formula (Old)
 and      /work/SRC/openSUSE:Factory/.sapnwbootstrap-formula.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sapnwbootstrap-formula"

Thu Mar  5 23:23:06 2020 rev:6 rq:781774 version:0.2.4

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/sapnwbootstrap-formula/sapnwbootstrap-formula.changes
    2020-01-29 13:18:30.110173558 +0100
+++ 
/work/SRC/openSUSE:Factory/.sapnwbootstrap-formula.new.26092/sapnwbootstrap-formula.changes
 2020-03-05 23:23:33.317352921 +0100
@@ -1,0 +2,7 @@
+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
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ sapnwbootstrap-formula.spec ++++++
--- /var/tmp/diff_new_pack.6VjDJ8/_old  2020-03-05 23:23:34.357353494 +0100
+++ /var/tmp/diff_new_pack.6VjDJ8/_new  2020-03-05 23:23:34.361353496 +0100
@@ -19,7 +19,7 @@
 # See also http://en.opensuse.org/openSUSE:Specfile_guidelines
 
 Name:           sapnwbootstrap-formula
-Version:        0.2.3
+Version:        0.2.4
 Release:        0
 Summary:        SAP Netweaver platform deployment formula
 License:        Apache-2.0

++++++ sapnwbootstrap-formula-0.2.3.tar.gz -> 
sapnwbootstrap-formula-0.2.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sapnwbootstrap-formula-0.2.3/README.md 
new/sapnwbootstrap-formula-0.2.4/README.md
--- old/sapnwbootstrap-formula-0.2.3/README.md  2020-01-28 11:58:00.259351897 
+0100
+++ new/sapnwbootstrap-formula-0.2.4/README.md  2020-02-27 14:10:50.858406923 
+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.2.3/netweaver/defaults.yaml 
new/sapnwbootstrap-formula-0.2.4/netweaver/defaults.yaml
--- old/sapnwbootstrap-formula-0.2.3/netweaver/defaults.yaml    2020-01-28 
11:58:00.259351897 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/defaults.yaml    2020-02-27 
14:10:50.858406923 +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.2.3/netweaver/setup/mount.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/setup/mount.sls
--- old/sapnwbootstrap-formula-0.2.3/netweaver/setup/mount.sls  2020-01-28 
11:58:00.259351897 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/setup/mount.sls  2020-02-27 
14:10:50.858406923 +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.2.3/netweaver/setup/sap_nfs.sls 
new/sapnwbootstrap-formula-0.2.4/netweaver/setup/sap_nfs.sls
--- old/sapnwbootstrap-formula-0.2.3/netweaver/setup/sap_nfs.sls        
2020-01-28 11:58:00.259351897 +0100
+++ new/sapnwbootstrap-formula-0.2.4/netweaver/setup/sap_nfs.sls        
2020-02-27 14:10:50.858406923 +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.2.3/pillar.example 
new/sapnwbootstrap-formula-0.2.4/pillar.example
--- old/sapnwbootstrap-formula-0.2.3/pillar.example     2020-01-28 
11:58:00.259351897 +0100
+++ new/sapnwbootstrap-formula-0.2.4/pillar.example     2020-02-27 
14:10:50.858406923 +0100
@@ -37,6 +37,12 @@
   # 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.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.2.3/sapnwbootstrap-formula.changes 
new/sapnwbootstrap-formula-0.2.4/sapnwbootstrap-formula.changes
--- old/sapnwbootstrap-formula-0.2.3/sapnwbootstrap-formula.changes     
2020-01-28 11:58:00.259351897 +0100
+++ new/sapnwbootstrap-formula-0.2.4/sapnwbootstrap-formula.changes     
2020-02-27 14:10:50.858406923 +0100
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+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
+
+-------------------------------------------------------------------
 Tue Jan 28 10:34:19 UTC 2020 - Xabier Arbulu <[email protected]>
 
 - Version bump 0.2.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sapnwbootstrap-formula-0.2.3/sapnwbootstrap-formula.spec 
new/sapnwbootstrap-formula-0.2.4/sapnwbootstrap-formula.spec
--- old/sapnwbootstrap-formula-0.2.3/sapnwbootstrap-formula.spec        
2020-01-28 11:58:00.259351897 +0100
+++ new/sapnwbootstrap-formula-0.2.4/sapnwbootstrap-formula.spec        
2020-02-27 14:10:50.858406923 +0100
@@ -19,7 +19,7 @@
 # See also http://en.opensuse.org/openSUSE:Specfile_guidelines
 
 Name:           sapnwbootstrap-formula
-Version:        0.2.3
+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.2.3/templates/cluster_resources.j2 
new/sapnwbootstrap-formula-0.2.4/templates/cluster_resources.j2
--- old/sapnwbootstrap-formula-0.2.3/templates/cluster_resources.j2     
2020-01-28 11:58:00.259351897 +0100
+++ new/sapnwbootstrap-formula-0.2.4/templates/cluster_resources.j2     
2020-02-27 14:10:50.862408923 +0100
@@ -12,30 +12,95 @@
 {%- 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}} {{ cidr_netmask }} {{ nic }} \
-  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 %} \
@@ -43,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 }} {{ cidr_netmask }} {{ nic }} \
-  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


Reply via email to