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