Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package saphanabootstrap-formula for 
openSUSE:Factory checked in at 2021-06-09 21:53:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/saphanabootstrap-formula (Old)
 and      /work/SRC/openSUSE:Factory/.saphanabootstrap-formula.new.32437 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "saphanabootstrap-formula"

Wed Jun  9 21:53:00 2021 rev:37 rq:898803 version:0.7.1+git.1623245207.6711362

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/saphanabootstrap-formula/saphanabootstrap-formula.changes
        2021-05-10 15:42:02.296931788 +0200
+++ 
/work/SRC/openSUSE:Factory/.saphanabootstrap-formula.new.32437/saphanabootstrap-formula.changes
     2021-06-09 21:53:22.118588804 +0200
@@ -1,0 +2,8 @@
+Wed Jun  9 07:00:36 UTC 2021 - Eike Waldt <wa...@b1-systems.de>
+
+- fixes a not working import of dbapi in SUSE/ha-sap-terraform-deployments#703
+- removes the installation and extraction of all hdbcli files in the 
/hana/shared/srHook directory
+- fixes execution order of srTakeover/srCostOptMemConfig hook
+- renames and updates hook srTakeover to srCostOptMemConfig
+
+-------------------------------------------------------------------

Old:
----
  saphanabootstrap-formula-0.7.1+git.1620632537.c8808c2.tar.gz

New:
----
  saphanabootstrap-formula-0.7.1+git.1623245207.6711362.tar.gz

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

Other differences:
------------------
++++++ saphanabootstrap-formula.spec ++++++
--- /var/tmp/diff_new_pack.vMGHyu/_old  2021-06-09 21:53:22.502589488 +0200
+++ /var/tmp/diff_new_pack.vMGHyu/_new  2021-06-09 21:53:22.506589496 +0200
@@ -19,7 +19,7 @@
 # See also http://en.opensuse.org/openSUSE:Specfile_guidelines
 
 Name:           saphanabootstrap-formula
-Version:        0.7.1+git.1620632537.c8808c2
+Version:        0.7.1+git.1623245207.6711362
 Release:        0
 Summary:        SAP HANA platform deployment formula
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.vMGHyu/_old  2021-06-09 21:53:22.526589531 +0200
+++ /var/tmp/diff_new_pack.vMGHyu/_new  2021-06-09 21:53:22.526589531 +0200
@@ -5,7 +5,7 @@
     <param name="exclude">.git</param>
     <param name="filename">saphanabootstrap-formula</param>
     <param name="versionformat">0.7.1+git.%ct.%h</param>
-    <param name="revision">c8808c2742b7bb5de718fe95e51b35da50d06a55</param>
+    <param name="revision">67113626dbcf100f2d8f309b2006b45d6782ec08</param>
   </service>
 
   <service name="recompress" mode="disabled">

++++++ saphanabootstrap-formula-0.7.1+git.1620632537.c8808c2.tar.gz -> 
saphanabootstrap-formula-0.7.1+git.1623245207.6711362.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/saphanabootstrap-formula-0.7.1+git.1620632537.c8808c2/hana/enable_cost_optimized.sls
 
new/saphanabootstrap-formula-0.7.1+git.1623245207.6711362/hana/enable_cost_optimized.sls
--- 
old/saphanabootstrap-formula-0.7.1+git.1620632537.c8808c2/hana/enable_cost_optimized.sls
    2021-05-10 09:42:17.000000000 +0200
+++ 
new/saphanabootstrap-formula-0.7.1+git.1623245207.6711362/hana/enable_cost_optimized.sls
    2021-06-09 15:26:47.000000000 +0200
@@ -34,10 +34,10 @@
       - require:
         - reduce_memory_resources_{{ node.host+node.sid }}
 
-install_srTakeover_hook:
+install_srCostOptMemConfig_hook:
     file.managed:
-      - source: salt://hana/templates/srTakeover_hook.j2
-      - name: /hana/shared/srHook/srTakeover.py
+      - source: salt://hana/templates/srCostOptMemConfig_hook.j2
+      - name: /hana/shared/srHook/srCostOptMemConfig.py
       - user: {{ node.sid.lower() }}adm
       - group: sapsys
       - mode: 755
@@ -53,60 +53,19 @@
     - failhard: True
 {% endif %}
 
-extract_hana_pydbapi_archive:
-    hana.pydbapi_extracted:
-      - name: PYDBAPI.TGZ
-      - software_folders: [{{ hana_client_path }}]
-      - output_dir: /hana/shared/srHook
-      - hana_version: '20'
-      - force: true
-      - additional_extract_options: --transform 
s|-[0-9]*\.[0-9]*\.[0-9]*|-package| --wildcards hdbcli*
-      - require:
-        - setup_srHook_directory
-
-extract_hdbcli_client_files:
-    archive.extracted:
-      - name: /hana/shared/srHook/
-      - source: /hana/shared/srHook/hdbcli-package.tar.gz
-      - enforce_toplevel: False
-      - options:  --strip=2 --wildcards '*/hdbcli/*.py'
-      - require:
-        - extract_hana_pydbapi_archive
-
-remove_hdbcli_tar_package:
-    file.absent:
-      - names:
-        - /hana/shared/srHook/hdbcli-package.tar.gz
-        - /hana/shared/srHook/hdbcli
-      - require:
-        - extract_hdbcli_client_files
-
-chmod_hdbcli_client_files:
-    file.managed:
-      - user: {{ node.sid.lower() }}adm
-      - group: sapsys
-      - mode: 755
-      - names:
-        - /hana/shared/srHook/dbapi.py
-        - /hana/shared/srHook/resultrow.py
-        - /hana/shared/srHook/__init__.py
-      - require:
-        - extract_hdbcli_client_files
-
-configure_ha_dr_provider_srTakeover:
+configure_ha_dr_provider_srCostOptMemConfig:
     file.append:
       - name:  /hana/shared/{{ node.sid.upper() 
}}/global/hdb/custom/config/global.ini
       - text: |
 
-          [ha_dr_provider_srTakeover]
-          provider = srTakeover
+          [ha_dr_provider_srCostOptMemConfig]
+          provider = srCostOptMemConfig
           path = /hana/shared/srHook
-          execution_order = 1
+          execution_order = 2
       - require:
         - reduce_memory_resources_{{ node.host+node.sid }}
         - setup_srHook_directory
-        - install_srTakeover_hook
-        - extract_hdbcli_client_files
+        - install_srCostOptMemConfig_hook
 {% endif %}
 {% endif %}
 {% endfor %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/saphanabootstrap-formula-0.7.1+git.1620632537.c8808c2/saphanabootstrap-formula.changes
 
new/saphanabootstrap-formula-0.7.1+git.1623245207.6711362/saphanabootstrap-formula.changes
--- 
old/saphanabootstrap-formula-0.7.1+git.1620632537.c8808c2/saphanabootstrap-formula.changes
  2021-05-10 09:42:17.000000000 +0200
+++ 
new/saphanabootstrap-formula-0.7.1+git.1623245207.6711362/saphanabootstrap-formula.changes
  2021-06-09 15:26:47.000000000 +0200
@@ -1,4 +1,12 @@
 -------------------------------------------------------------------
+Wed Jun  9 07:00:36 UTC 2021 - Eike Waldt <wa...@b1-systems.de>
+
+- fixes a not working import of dbapi in SUSE/ha-sap-terraform-deployments#703
+- removes the installation and extraction of all hdbcli files in the 
/hana/shared/srHook directory
+- fixes execution order of srTakeover/srCostOptMemConfig hook
+- renames and updates hook srTakeover to srCostOptMemConfig
+
+-------------------------------------------------------------------
 Fri May  7 09:15:21 UTC 2021 - Bernd Schubert <bschub...@suse.com>
 
 - Changing exporter stickiness to => 0 and adjusting the colocation 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/saphanabootstrap-formula-0.7.1+git.1620632537.c8808c2/templates/srCostOptMemConfig_hook.j2
 
new/saphanabootstrap-formula-0.7.1+git.1623245207.6711362/templates/srCostOptMemConfig_hook.j2
--- 
old/saphanabootstrap-formula-0.7.1+git.1620632537.c8808c2/templates/srCostOptMemConfig_hook.j2
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/saphanabootstrap-formula-0.7.1+git.1623245207.6711362/templates/srCostOptMemConfig_hook.j2
      2021-06-09 15:26:47.000000000 +0200
@@ -0,0 +1,102 @@
+{%- from "hana/map.jinja" import hana with context -%}
+{%- set host = grains['host'] %}
+
+{%- for node in hana.nodes %}
+{%- if node.host == host and node.secondary is defined and 
node.scenario_type.lower() == 'cost-optimized' %}
+
+{%- set dbsid = node.sid.lower() %}
+{%- set dbinst = '{:0>2}'.format(node.instance) %}
+
+{%- for prim_node in hana.nodes %}
+{%- if node.secondary.remote_host == prim_node.host and prim_node.primary is 
defined %}
+
+{%- set dbuser = prim_node.primary.userkey.user_name %}
+{%- set dbpwd = prim_node.password %}
+{%- set dbversion = salt['hana.get_version'](sid=dbsid, inst=dbinst, 
password=dbpwd) %}
+{%- if salt['pkg.version_cmp'](dbversion, '2.0') < 0 %}
+    {%- set dbport = ('3'~ dbinst ~'15')|int %}
+{%- else %}
+    {%- set dbport = ('3'~ dbinst ~'13')|int %}
+{%- endif -%}
+
+"""
+HA/DR hook {haDrCostOptMem} for method srPostTakeover()
+
+This hook is used when deploying a "Cost Optimized Scenario".
+It makes sure to reconfigure the primary database after a takeover.
+
+The folowing changes to global.ini are needed to activea this hook.
+
+[ha_dr_provider_{haDrCostOptMem}]
+provider = {haDrCostOptMem}
+path = /hana/shared/srHook/
+execution_order = 2
+
+For all hooks, 0 must be returned in case of success.
+
+Set the following variables:
+* dbinst Instance Number [e.g. 00 - 99 ]
+* dbuser Username [ e.g. SYSTEM ]
+* dbpwd
+* user password [ e.g. SLES4sap ]
+* dbport port where db listens for SQL connctions [e.g 30013 or 30015]
+"""
+#
+# parameter section
+#
+dbuser="{{ dbuser }}"
+dbpwd="{{ dbpwd }}"
+dbinst="{{ dbinst }}"
+dbport="{{ dbport }}"
+
+{%- endif %}
+{%- endfor %}
+{%- endif %}
+{%- endfor %}
+
+#
+# prepared SQL statements to remove memory allocation limit
+#    and pre-load of column tables
+#
+stmnt1 = "ALTER SYSTEM ALTER CONFIGURATION ('global.ini','SYSTEM') UNSET 
('memorymanager','global_allocation_limit') WITH RECONFIGURE"
+stmnt2 = "ALTER SYSTEM ALTER CONFIGURATION ('global.ini','SYSTEM') UNSET 
('system_replication','preload_column_tables') WITH RECONFIGURE"
+#
+# loading classes and libraries
+#
+import os, time
+from hdbcli import dbapi
+from hdb_ha_dr.client import HADRBase, Helper
+#
+# class definition srCostOptMemConfig
+#
+class srCostOptMemConfig(HADRBase):
+  def __init__(self, *args, **kwargs):
+       # delegate construction to base class
+       super(srCostOptMemConfig, self).__init__(*args, **kwargs)
+
+  def about(self):
+      return {"provider_company" : "<customer>",
+              "provider_name" : "srCostOptMemConfig", # provider name = class 
name
+              "provider_description" : "Replication takeover script to set 
parameters to default.",
+              "provider_version" : "1.0"}
+
+  def postTakeover(self, rc, **kwargs):
+      """Post takeover hook."""
+      self.tracer.info("%s.postTakeover method called with rc=%s" % 
(self.__class__.__name__, rc))
+      if rc == 0:
+         # normal takeover succeeded
+         conn = dbapi.connect('localhost',dbport,dbuser,dbpwd)
+         cursor = conn.cursor()
+         cursor.execute(stmnt1)
+         cursor.execute(stmnt2)
+         return 0
+      elif rc == 1:
+          # waiting for force takeover
+          conn = dbapi.connect('localhost',dbport,dbuser,dbpwd)
+          cursor = conn.cursor()
+          cursor.execute(stmnt1)
+          cursor.execute(stmnt2)
+          return 0
+      elif rc == 2:
+          # error, something went wrong
+          return 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/saphanabootstrap-formula-0.7.1+git.1620632537.c8808c2/templates/srTakeover_hook.j2
 
new/saphanabootstrap-formula-0.7.1+git.1623245207.6711362/templates/srTakeover_hook.j2
--- 
old/saphanabootstrap-formula-0.7.1+git.1620632537.c8808c2/templates/srTakeover_hook.j2
      2021-05-10 09:42:17.000000000 +0200
+++ 
new/saphanabootstrap-formula-0.7.1+git.1623245207.6711362/templates/srTakeover_hook.j2
      1970-01-01 01:00:00.000000000 +0100
@@ -1,114 +0,0 @@
-#!/usr/bin/env python2
-{%- from "hana/map.jinja" import hana with context -%}
-{% set host = grains['host'] %}
-
-{% for node in hana.nodes %}
-{% if node.host == host and node.secondary is defined and 
node.scenario_type.lower() == 'cost-optimized' %}
-
-{% set dbsid = node.sid.lower() %}
-{% set dbinst = '{:0>2}'.format(node.instance) %}
-
-{% for prim_node in hana.nodes %}
-{% if node.secondary.remote_host == prim_node.host and prim_node.primary is 
defined %}
-
-{% set dbuser = prim_node.primary.userkey.user_name %}
-{% set dbpwd = prim_node.password %}
-{% set dbversion = salt['hana.get_version'](sid=dbsid, inst=dbinst, 
password=dbpwd) %}
-{% if salt['pkg.version_cmp'](dbversion, '2.0') < 0 %}
-    {% set dbport = ('3'~ dbinst ~'15')|int %}
-{% else %}
-    {% set dbport = ('3'~ dbinst ~'13')|int %}
-{% endif -%}
-
-dbuser="{{ dbuser }}"
-dbpwd="{{ dbpwd }}"
-dbinst="{{ dbinst }}"
-dbport="{{ dbport }}"
-
-{% endif %}
-{% endfor %}
-{% endif %}
-{% endfor %}
-
-"""
-Auto-generated HA/DR hook script
-
-"""
-
-stmnt1 = "ALTER SYSTEM ALTER CONFIGURATION ('global.ini','SYSTEM') UNSET 
('memorymanager','global_allocation_limit') WITH RECONFIGURE"
-stmnt2 = "ALTER SYSTEM ALTER CONFIGURATION ('global.ini','SYSTEM') UNSET 
('system_replication','preload_column_tables') WITH RECONFIGURE"
-
-import os, time, dbapi
-
-from hdb_ha_dr.client import HADRBase, Helper
-
-class srTakeover(HADRBase):
-    def __init__(self, *args, **kwargs):
-        # delegate construction to base class
-        super(srTakeover, self).__init__(*args, **kwargs)
-
-    def about(self):
-        return {"provider_company" : "SUSE",
-                "provider_name" : "srTakeover", # provider name = class name
-                "provider_description" : "Replication takeover script to set 
parameters to default.",
-                "provider_version" : "1.0"}
-
-    def startup(self, hostname, storage_partition, system_replication_mode, 
**kwargs):
-        self.tracer.debug("enter startup hook; %s" % locals())
-        self.tracer.debug(self.config.toString())
-        self.tracer.info("leave startup hook")
-        return 0
-
-    def shutdown(self, hostname, storage_partition, system_replication_mode, 
**kwargs):
-        self.tracer.debug("enter shutdown hook; %s" % locals())
-        self.tracer.debug(self.config.toString())
-        self.tracer.info("leave shutdown hook")
-        return 0
-
-    def failover(self, hostname, storage_partition, system_replication_mode, 
**kwargs):
-        self.tracer.debug("enter failover hook; %s" % locals())
-        self.tracer.debug(self.config.toString())
-        self.tracer.info("leave failover hook")
-        return 0
-
-    def stonith(self, failingHost, **kwargs):
-        self.tracer.debug("enter stonith hook; %s" % locals())
-        self.tracer.debug(self.config.toString())
-        # e.g. stonith of params["failed_host"]
-        # e-g- set vIP active
-        self.tracer.info("leave stonith hook")
-        return 0
-
-    def preTakeover(self, isForce, **kwargs):
-        """Pre takeover hook."""
-        self.tracer.info("%s.preTakeover method called with isForce=%s" %
-        (self.__class__.__name__, isForce))
-        if not isForce:
-            # run pre takeover code
-            # run pre-check, return != 0 in case of error => will abort 
takeover
-            return 0
-        else:
-            # possible force-takeover only code
-            # usually nothing to do here
-            return 0
-
-    def postTakeover(self, rc, **kwargs):
-        """Post takeover hook."""
-        self.tracer.info("%s.postTakeover method called with rc=%s" % 
(self.__class__.__name__, rc))
-        if rc == 0:
-            # normal takeover succeeded
-            conn = dbapi.connect('localhost',dbport,dbuser,dbpwd)
-            cursor = conn.cursor()
-            cursor.execute(stmnt1)
-            cursor.execute(stmnt2)
-            return 0
-        elif rc == 1:
-            # waiting for force takeover
-            conn = dbapi.connect('localhost',dbport,dbuser,dbpwd)
-            cursor = conn.cursor()
-            cursor.execute(stmnt1)
-            cursor.execute(stmnt2)
-            return 0
-        elif rc == 2:
-            # error, something went wrong
-            return 0
\ No newline at end of file

Reply via email to