Hello community,

here is the log from the commit of package saphanabootstrap-formula for 
openSUSE:Factory checked in at 2020-07-21 15:49:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/saphanabootstrap-formula (Old)
 and      /work/SRC/openSUSE:Factory/.saphanabootstrap-formula.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "saphanabootstrap-formula"

Tue Jul 21 15:49:07 2020 rev:15 rq:822008 version:0.5.10+git.1595314615.df9fa38

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/saphanabootstrap-formula/saphanabootstrap-formula.changes
        2020-06-17 14:54:43.449882407 +0200
+++ 
/work/SRC/openSUSE:Factory/.saphanabootstrap-formula.new.3592/saphanabootstrap-formula.changes
      2020-07-21 15:50:53.736333084 +0200
@@ -1,0 +2,7 @@
+Wed Jul 15 10:30:22 UTC 2020 - Xabier Arbulu <xarb...@suse.com>
+
+- Add hana active/active resources to the cluster template
+- Change `route_table` by `route_name` to make the variable usage
+  more meaningful
+
+-------------------------------------------------------------------

Old:
----
  saphanabootstrap-formula-0.5.10+git.1592336558.a91501a.tar.gz

New:
----
  saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38.tar.gz

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

Other differences:
------------------
++++++ saphanabootstrap-formula.spec ++++++
--- /var/tmp/diff_new_pack.0oKQ3o/_old  2020-07-21 15:50:56.212336095 +0200
+++ /var/tmp/diff_new_pack.0oKQ3o/_new  2020-07-21 15:50:56.212336095 +0200
@@ -19,7 +19,7 @@
 # See also http://en.opensuse.org/openSUSE:Specfile_guidelines
 
 Name:           saphanabootstrap-formula
-Version:        0.5.10+git.1592336558.a91501a
+Version:        0.5.10+git.1595314615.df9fa38
 Release:        0
 Summary:        SAP HANA platform deployment formula
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.0oKQ3o/_old  2020-07-21 15:50:56.240336129 +0200
+++ /var/tmp/diff_new_pack.0oKQ3o/_new  2020-07-21 15:50:56.244336134 +0200
@@ -5,7 +5,7 @@
     <param name="exclude">.git</param>
     <param name="filename">saphanabootstrap-formula</param>
     <param name="versionformat">0.5.10+git.%ct.%h</param>
-    <param name="revision">a91501a7f3788ead3e816be3fec727e80ee42b61</param>
+    <param name="revision">df9fa3804fc79609d67db33f74c03fde16494a13</param>
   </service>
 
   <service name="recompress" mode="disabled">

++++++ saphanabootstrap-formula-0.5.10+git.1592336558.a91501a.tar.gz -> 
saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/saphanabootstrap-formula-0.5.10+git.1592336558.a91501a/.travis.yml 
new/saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38/.travis.yml
--- old/saphanabootstrap-formula-0.5.10+git.1592336558.a91501a/.travis.yml      
2020-06-16 21:42:38.000000000 +0200
+++ new/saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38/.travis.yml      
2020-07-21 08:56:55.000000000 +0200
@@ -5,8 +5,8 @@
 addons:
   apt:
     sources:
-      - sourceline: 'deb 
http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main'
-        key_url: 
'https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub'
+      - sourceline: 'deb 
http://repo.saltstack.com/apt/ubuntu/18.04/amd64/2019.2/ bionic main'
+        key_url: 
'http://repo.saltstack.com/apt/ubuntu/18.04/amd64/2019.2/SALTSTACK-GPG-KEY.pub'
     packages:
         - salt-common
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/saphanabootstrap-formula-0.5.10+git.1592336558.a91501a/README.md 
new/saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38/README.md
--- old/saphanabootstrap-formula-0.5.10+git.1592336558.a91501a/README.md        
2020-06-16 21:42:38.000000000 +0200
+++ new/saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38/README.md        
2020-07-21 08:56:55.000000000 +0200
@@ -1,75 +1,86 @@
-# SAP HANA replication bootstrap salt formula
+# SAP HANA platform bootstrap Salt formula
 
-Salt formula for bootstrapping and managing SAP HANA platform and system
-replication.
+Salt formula to bootstrap and manage a multi SAP HANA platform environment.
 
-The main purpose of the formula is to deploy easily the SAP HANA environment 
and
-its nodes, giving the option to set them as primary or secondary nodes using
-system replication.
+## Features
 
-# How to use
+The formula provides the capability to create a multi node SAP HANA 
environment. Here are some of the features:
+- Install one or multiple SAP HANA instances (in one or multiple nodes)
+- Setup a System replication configuration between two SAP HANA nodes
+- Extract the required files from the provided `.tar`, `.sar`, `.exe` files
+- Apply saptune to the nodes with the needed SAP notes
+- Enable all of the pre-requirements to setup a HA cluster in top of SAP HANA 
system replication cluster
+- Install and configure the 
[handb_exporter](https://github.com/SUSE/hanadb_exporter)
 
-## Manual installation
+## Installation
 
-In order to use this formula some steps must be executed previously:
+The project can be installed in many ways, including but not limited to:
 
-1. Install shaptools python library.
+1. [RPM](#rpm)
+2. [Manual clone](#manual-clone)
 
-```bash
-git clone https://github.com/SUSE/shaptools.git
-cd shaptools
-sudo python setup.py install
+### RPM
+
+On openSUSE or SUSE Linux Enterprise use `zypper` package manager:
+```shell
+zypper install saphanabootstrap-formula
 ```
 
-2. Copy the [salt-shaptools](https://github.com/SUSE/salt-shaptools) modules 
and states in our salt master.
+**Important!** This will install the formula in 
`/usr/share/salt-formulas/states/hana`. Make sure that 
`/usr/share/salt-formulas/states` entry is correctly configured in your Salt 
minion configuration `file_roots` entry if the formula is used in a masterless 
mode.
 
-```bash
-git clone https://github.com/SUSE/salt-shaptools.git
-# Create /srv/salt/_modules and /srv/salt/_states if they don't exist
-sudo cp salt-shaptools/salt/modules/* /srv/salt/_modules
-sudo cp salt-shaptools/salt/states/* /srv/salt/_states
-```
+Find the latest development repositories at  SUSE's Open Build 
Service[network:ha-clustering:sap-deployments:devel/saphanabootstrap-formula](https://build.opensuse.org/package/show/network:ha-clustering:sap-deployments:devel/saphanabootstrap-formula).
 
-## Install (SUSE distros)
+### Manual clone
 
-The easiest way to install the formula in SUSE distributions is using a rpm 
package.
-For that follow the next sequence to install all the dependencies (openSUSE 
Leap 15
-is used in the example):
-
-```bash
-sudo zypper addrepo 
https://download.opensuse.org/repositories/network:ha-clustering:Factory/openSUSE_Leap_15.0/network:ha-clustering:Factory.repo
-sudo zypper ref
-sudo zypper in saphanabootstrap-formula
 ```
-
-To use the formula in SUSE Manager:
-```bash
-sudo zypper in saphanabootstrap-formula-suma
+git clone https://github.com/SUSE/saphanabootstrap-formula
+cp -R cluster /srv/salt
 ```
 
-Find the package in: 
[saphanabootstrap-formula](https://software.opensuse.org//download.html?project=network%3Aha-clustering%3AFactory&package=saphanabootstrap-formula)
+**Important!** The formulas depends on 
[salt-shaptools](https://github.com/SUSE/salt-shaptools) package. Make sure it 
is installed properly if you follow the manual installation (the package can be 
installed as a RPM package too).
 
 ## Usage
-In order to use this formula, the pillar file usage is almost mandatory (there
-is a defaults file, but pillar usage is recommended).
-In the pillar file, each element after *nodes* entry will be a new SAP HANA
-instance (PRD, QAS, etc). A machine might have more than one HANA instance with
-different sid and instance numbers (one for production and other for testing,
-for example). The current [pillar.example](pillar.example), deploys one PRD
-instance in hana01 machine as a primary node, and two (PRD, QAS) instances in
-the second, one of the as secondary.
-
-The needed parameters for the states are described in 
[salt-shaptools](https://github.com/SUSE/salt-shaptools).
-
-The example folders shows how a salt environment could be created to use the 
formula.
-Run the **deploy.sh** script to copy this structure to the salt environment 
(**INFO**:
-The script will overwrite any file with the same names).
-
-```bash
-cd saphanabootstap-formula/example
-sudo ./deploy.sh
-```
-## Salt pillar encryption
+
+Follow the next steps to configure the formula execution. After this, the 
formula can be executed using `master/minion` or `masterless` options:
+
+1. Modify the `top.sls` file (by default stored in `/srv/salt`) including the 
`hana` entry.
+
+   Here an example to execute the HANA formula in all of the nodes:
+
+   ```
+   # This file is /srv/salt/top.sls
+   base:
+     '*':
+       - hana
+   ```
+
+2. Customize the execution pillar file. Here an example of a pillar file for 
this formula with all of the options: 
[pillar.example](https://github.com/SUSE/saphanabootstrap-formula/blob/master/pillar.example)
+
+3. Set the execution pillar file. For that, modify the `top.sls` of the 
pillars (by default stored in `/srv/pillar`) including the `hana` entry and 
copy your specific `hana.sls` pillar file in the same folder.
+
+   Here an example to apply the recently created `hana.sls` pillar file to all 
of the nodes:
+
+   ```
+   # This file is /srv/pillar/top.sls
+   base:
+     '*':
+       - hana
+   ```
+
+4. Execute the formula.
+
+   1. Master/Minion execution.
+
+      `salt '*' state.highstate`
+
+   2. Masterless execution.
+
+      `salt-call --local state.highstate`
+
+**Important!** The hostnames and minion names of the HANA nodes must match the 
output of the `hostname` command.
+
+
+### 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.
 
@@ -84,29 +95,11 @@
 
 - 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.
 
-## Build
-To build a new deliverable (rpm package) follow the next steps (SUSE distros 
only):
-
-```bash
-cp -R saphanabootstrap-formula saphanabootstrap-formula-${version}
-tar -zcvf saphanabootstrap-formula-${version}.tar.gz 
saphanabootstrap-formula-${version}
-sudo cp saphanabootstrap-formula-${version}.tar.gz /usr/src/packages/SOURCES
-sudo cp saphanabootstrap-formula-${version}/saphanabootstrap-formula.spec 
/usr/src/packages/SPECS/saphanabootstrap-formula-${version}.spec
-cd /usr/src/packages/SPECS
-sudo rpmbuild -ba saphanabootstrap-formula-${version}.spec
-```
-After that the package saphanabootstrap-formula-${version}-1.x86_64.rpm should
-be placed in /usr/src/packages/RPMS/x86_64
-
+## OBS Packaging
 
-To test the package:
-```bash
-cd /usr/src/packages/RPMS/x86_64
-sudo rpm -iv saphanabootstrap-formula-${version}-1.x86_64.rpm
-```
+The CI automatically publishes new releases to SUSE's Open Build Service every 
time a pull request is merged into `master` branch. For that, update the new 
package version in 
[saphanabootstrap-formula.spec](https://github.com/SUSE/saphanabootstrap-formula/blob/master/saphanabootstrap-formula.spec)
 and
+add the new changes in 
[saphanabootstrap-formula.changes](https://github.com/SUSE/saphanabootstrap-formula/blob/master/saphanabootstrap-formula.changes).
 
-Or better:
-```bash
-cd /usr/src/packages/RPMS/x86_64
-sudo zypper in saphanabootstrap-formula-${version}-1.x86_64.rpm
-```
+The new version is published at:
+- 
https://build.opensuse.org/package/show/network:ha-clustering:sap-deployments:devel/saphanabootstrap-formula
+- 
https://build.opensuse.org/package/show/openSUSE:Factory/saphanabootstrap-formula
 (only if the spec file version is increased)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/saphanabootstrap-formula-0.5.10+git.1592336558.a91501a/pillar.example 
new/saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38/pillar.example
--- old/saphanabootstrap-formula-0.5.10+git.1592336558.a91501a/pillar.example   
2020-06-16 21:42:38.000000000 +0200
+++ new/saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38/pillar.example   
2020-07-21 08:56:55.000000000 +0200
@@ -35,7 +35,7 @@
       password: 'Qwerty1234'
       install:
         # Specify the path to local installation media here, otherwise global 
variable software_path will be used for installation media.
-        # If both of these paths are not set, hana_extract_dir path will be 
used for installation media, 
+        # If both of these paths are not set, hana_extract_dir path will be 
used for installation media,
         # given that hana_archive_file package is also provided
         software_path: '/sapmedia/HANA/51052481'
         root_user: 'root'
@@ -90,6 +90,8 @@
         remote_instance: '00'
         replication_mode: 'sync'
         operation_mode: 'logreplay'
+        # For Active/Active HANA setup
+        #operation_mode: 'logreplay_readaccess'
         # If primary node is not defined the password can we set here (primary 
node password has preference)
         #primary_password: 'Qwerty1234'
         # Optional timeout value in seconds to wait until the primary node
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/saphanabootstrap-formula-0.5.10+git.1592336558.a91501a/saphanabootstrap-formula.changes
 
new/saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38/saphanabootstrap-formula.changes
--- 
old/saphanabootstrap-formula-0.5.10+git.1592336558.a91501a/saphanabootstrap-formula.changes
 2020-06-16 21:42:38.000000000 +0200
+++ 
new/saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38/saphanabootstrap-formula.changes
 2020-07-21 08:56:55.000000000 +0200
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Wed Jul 15 10:30:22 UTC 2020 - Xabier Arbulu <xarb...@suse.com>
+
+- Add hana active/active resources to the cluster template
+- Change `route_table` by `route_name` to make the variable usage
+  more meaningful
+
+-------------------------------------------------------------------
 Wed Jun 10 01:49:02 UTC 2020 - Simranpal Singh <simranpal.si...@suse.com>
 
 - Add support to extract zip,rar,exe,sar hana media
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/saphanabootstrap-formula-0.5.10+git.1592336558.a91501a/templates/scale_up_resources.j2
 
new/saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38/templates/scale_up_resources.j2
--- 
old/saphanabootstrap-formula-0.5.10+git.1592336558.a91501a/templates/scale_up_resources.j2
  2020-06-16 21:42:38.000000000 +0200
+++ 
new/saphanabootstrap-formula-0.5.10+git.1595314615.df9fa38/templates/scale_up_resources.j2
  2020-07-21 08:56:55.000000000 +0200
@@ -57,7 +57,7 @@
     meta target-role=Started
 
 primitive rsc_gcp_vip_{{ sid }}_HDB{{ instance }} 
ocf:heartbeat:gcp-vpc-move-route \
-    params ip={{ data.virtual_ip }} vpc_network={{ data.vpc_network_name }} 
route_name={{ data.route_table }} \
+    params ip={{ data.virtual_ip }} vpc_network={{ data.vpc_network_name }} 
route_name={{ data.route_name }} \
     op start interval=0 timeout=180 \
     op stop interval=0 timeout=180 \
     op monitor interval=60 timeout=60
@@ -137,6 +137,54 @@
 
 {%- endif %}
 
+# Active/Active HANA resources
+
+{%- if data.virtual_ip_secondary is defined %}
+{%- if cloud_provider not in ["amazon-web-services", "google-cloud-platform"] 
%}
+
+primitive rsc_ip_{{ sid }}_HDB{{ instance }}_readenabled ocf:heartbeat:IPaddr2 
\
+    op monitor interval="10s" timeout="20s" \
+    params ip={{ data.virtual_ip_secondary }}
+
+{%- elif cloud_provider == "amazon-web-services" %}
+
+primitive rsc_ip_{{ sid }}_HDB{{ instance }}_readenabled 
ocf:suse:aws-vpc-move-ip \
+    params ip={{ data.virtual_ip_secondary }} 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
+
+{%- elif cloud_provider == "google-cloud-platform" %}
+
+primitive rsc_ip_{{ sid }}_HDB{{ instance }}_readenabled 
ocf:heartbeat:gcp-vpc-move-route \
+    params ip={{ data.virtual_ip_secondary }} vpc_network={{ 
data.vpc_network_name }} route_name={{ data.route_name_secondary }} \
+    op start interval=0 timeout=180 \
+    op stop interval=0 timeout=180 \
+    op monitor interval=60 timeout=60
+
+{%- endif %}
+
+{%- if cloud_provider == "microsoft-azure" %}
+
+primitive rsc_socat_{{ sid }}_HDB{{ instance }}_readenabled azure-lb \
+    params port=626{{ instance }} \
+    op monitor timeout="20" interval="10" depth="0"
+
+group g_ip_{{ sid }}_HDB{{ instance }}_readenabled \
+    rsc_ip_{{ sid }}_HDB{{ instance }}_readenabled rsc_socat_{{ sid }}_HDB{{ 
instance }}_readenabled
+
+colocation col_saphana_ip_{{ sid }}_HDB{{ instance }}_readenabled 4000: \
+    g_ip_{{ sid }}_HDB{{ instance }}_readenabled:Started msl_SAPHana_{{ sid 
}}_HDB{{ instance }}:Slave
+
+{%- else %}
+
+colocation col_saphana_ip_{{ sid }}_HDB{{ instance }}_readenabled 2000: \
+    rsc_ip_{{ sid }}_HDB{{ instance }}_readenabled:Started msl_SAPHana_{{ sid 
}}_HDB{{ instance }}:Slave
+
+{%- endif %}
+{%- endif %}
+
 # hanadb_exporter resource
 
 {%- if monitoring_enabled %}


Reply via email to