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-03-11 20:11:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/saphanabootstrap-formula (Old) and /work/SRC/openSUSE:Factory/.saphanabootstrap-formula.new.2401 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "saphanabootstrap-formula" Thu Mar 11 20:11:06 2021 rev:29 rq:878198 version:0.7.0+git.1615389974.36bd4d3 Changes: -------- --- /work/SRC/openSUSE:Factory/saphanabootstrap-formula/saphanabootstrap-formula.changes 2021-01-20 18:27:28.851520836 +0100 +++ /work/SRC/openSUSE:Factory/.saphanabootstrap-formula.new.2401/saphanabootstrap-formula.changes 2021-03-11 20:12:50.220716642 +0100 @@ -1,0 +2,7 @@ +Fri Mar 5 15:30:40 UTC 2021 - Xabier Arbulu <xarb...@suse.com> + +- Fix how the HANA client options are handled. Now, if any of the + HANA client option variables are set, they will have preference + over the database option (the platform and extracted options) + +------------------------------------------------------------------- Old: ---- saphanabootstrap-formula-0.7.0+git.1611071677.5443549.tar.gz New: ---- saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ saphanabootstrap-formula.spec ++++++ --- /var/tmp/diff_new_pack.RSW4WC/_old 2021-03-11 20:12:50.772717538 +0100 +++ /var/tmp/diff_new_pack.RSW4WC/_new 2021-03-11 20:12:50.776717544 +0100 @@ -19,7 +19,7 @@ # See also http://en.opensuse.org/openSUSE:Specfile_guidelines Name: saphanabootstrap-formula -Version: 0.7.0+git.1611071677.5443549 +Version: 0.7.0+git.1615389974.36bd4d3 Release: 0 Summary: SAP HANA platform deployment formula License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.RSW4WC/_old 2021-03-11 20:12:50.804717590 +0100 +++ /var/tmp/diff_new_pack.RSW4WC/_new 2021-03-11 20:12:50.804717590 +0100 @@ -5,7 +5,7 @@ <param name="exclude">.git</param> <param name="filename">saphanabootstrap-formula</param> <param name="versionformat">0.7.0+git.%ct.%h</param> - <param name="revision">5443549e843c209573e187973744287e2f65fda3</param> + <param name="revision">36bd4d38baa7a63618e73d6a60eb68759b82228a</param> </service> <service name="recompress" mode="disabled"> ++++++ saphanabootstrap-formula-0.7.0+git.1611071677.5443549.tar.gz -> saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/.github/workflows/formulaCI.yml new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/.github/workflows/formulaCI.yml --- old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/.github/workflows/formulaCI.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/.github/workflows/formulaCI.yml 2021-03-10 16:26:14.000000000 +0100 @@ -0,0 +1,78 @@ +name: Formula CI +# this workflow will +# - run formula validation step - ci/validate-formula.sh +# - deliver the package content to the configured repository +# - submit the new package content to the upstream repository +on: [push, pull_request] +env: + PACKAGE_NAME: saphanabootstrap-formula +jobs: + + validation: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Add salt repository + uses: myci-actions/add-deb-repo@4 + with: + repo: deb http://repo.saltstack.com/apt/ubuntu/18.04/amd64/3000/ bionic main + key-server: http://repo.saltstack.com/apt/ubuntu/18.04/amd64/3000/SALTSTACK-GPG-KEY.pub + - name: install salt + run: sudo apt-get install salt-common + - name: validation script + run: ci/validate-formula.sh + + delivery: + needs: validation + runs-on: ubuntu-18.04 + if: ${{ github.event_name != 'pull_request' }} + container: + image: shap/continuous_deliver + env: + OBS_USER: ${{ secrets.OBS_USER }} + OBS_PASS: ${{ secrets.OBS_PASS }} + OBS_PROJECT: ${{ secrets.OBS_PROJECT }} + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: configure OSC + # OSC credentials must be configured beforehand as the HOME variables cannot be changed from /github/home + # that is used to run osc commands + run: | + /scripts/init_osc_creds.sh + mkdir -p $HOME/.config/osc + cp /root/.config/osc/oscrc $HOME/.config/osc + - name: deliver package + run: | + sed -i 's~%%VERSION%%~${{ github.sha }}~' _service && \ + sed -i 's~%%REPOSITORY%%~${{ github.repository }}~' _service && \ + /scripts/upload.sh + + submit: + needs: [validation, delivery] + runs-on: ubuntu-18.04 + if: ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/master' }} + container: + image: shap/continuous_deliver + env: + OBS_USER: ${{ secrets.OBS_USER }} + OBS_PASS: ${{ secrets.OBS_PASS }} + OBS_PROJECT: ${{ secrets.OBS_PROJECT}} + TARGET_PROJECT: ${{ secrets.TARGET_PROJECT}} + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: configure OSC + run: | + /scripts/init_osc_creds.sh + mkdir -p $HOME/.config/osc + cp /root/.config/osc/oscrc $HOME/.config/osc + - name: submit package + run: | + sed -i 's~%%VERSION%%~${{ github.sha }}~' _service && \ + sed -i 's~%%REPOSITORY%%~${{ github.repository }}~' _service && \ + /scripts/submit.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/.travis.yml new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/.travis.yml --- old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/.travis.yml 2021-01-19 16:54:37.000000000 +0100 +++ new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/.travis.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,58 +0,0 @@ -sudo: required -services: - - docker - -addons: - apt: - sources: - - 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 - -stages: - - validation - - delivery - - submit - -jobs: - include: - - stage: validation - - script: - - | - # validate states - ci/validate-formula.sh - - - - stage: delivery - if: type != pull_request - env: - - FOLDER=/package - - PACKAGE_NAME=saphanabootstrap-formula - - before_install: - - docker pull shap/continuous_deliver:latest - - script: - - | - docker run -t -v "$(pwd):/package" -w /package \ - -e OBS_USER -e OBS_PASS -e FOLDER -e OBS_PROJECT -e PACKAGE_NAME \ - shap/continuous_deliver \ - /bin/bash -c "sed -i 's~%%VERSION%%~$TRAVIS_COMMIT~' _service && \ - sed -i 's~%%REPOSITORY%%~$TRAVIS_REPO_SLUG~' _service && \ - /scripts/upload.sh" - - - stage: submit - if: type != pull_request AND branch = master - env: - - PACKAGE_NAME=saphanabootstrap-formula - - before_install: - - docker pull shap/continuous_deliver:latest - - script: - - | - docker run -t -v "$(pwd):/package" -w /package \ - -e OBS_USER -e OBS_PASS -e OBS_PROJECT -e PACKAGE_NAME -e TARGET_PROJECT shap/continuous_deliver \ - /scripts/submit.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/README.md new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/README.md --- old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/README.md 2021-01-19 16:54:37.000000000 +0100 +++ new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/README.md 2021-03-10 16:26:14.000000000 +0100 @@ -1,3 +1,5 @@ +[](https://github.com/SUSE/saphanabootstrap-formula/actions/workflows/formulaCI.yml) + # SAP HANA platform bootstrap Salt formula Salt formula to bootstrap and manage a multi SAP HANA platform environment. @@ -5,6 +7,7 @@ ## Features 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 @@ -22,13 +25,14 @@ ### RPM On openSUSE or SUSE Linux Enterprise use `zypper` package manager: + ```shell zypper install saphanabootstrap-formula ``` **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. -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). +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). ### Manual clone @@ -79,7 +83,6 @@ **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. @@ -91,15 +94,17 @@ - [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. ## OBS Packaging -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 [_service](https://github.com/SUSE/saphanabootstrap-formula/blob/master/_service) and +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 [\_service](https://github.com/SUSE/saphanabootstrap-formula/blob/master/_service) and add the new changes in [saphanabootstrap-formula.changes](https://github.com/SUSE/saphanabootstrap-formula/blob/master/saphanabootstrap-formula.changes). 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.7.0+git.1611071677.5443549/hana/enable_cost_optimized.sls new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/hana/enable_cost_optimized.sls --- old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/hana/enable_cost_optimized.sls 2021-01-19 16:54:37.000000000 +0100 +++ new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/hana/enable_cost_optimized.sls 2021-03-10 16:26:14.000000000 +0100 @@ -1,10 +1,10 @@ {%- from "hana/map.jinja" import hana with context -%} {%- from 'hana/macros/get_hana_client_path.sls' import get_hana_client_path with context %} -{%- set hana_client_path = get_hana_client_path(hana) %} {% set host = grains['host'] %} {% for node in hana.nodes %} +{%- set hana_client_path = get_hana_client_path(hana, node) %} {% if node.host == host and node.scenario_type is defined and node.scenario_type.lower() == 'cost-optimized' and node.cost_optimized_parameters is defined%} reduce_memory_resources_{{ node.host+node.sid }}: @@ -56,7 +56,7 @@ extract_hana_pydbapi_archive: hana.pydbapi_extracted: - name: PYDBAPI.TGZ - - software_folders: [{{ node.install.software_path|default(hana.software_path)|default(hana_client_path) }}] + - software_folders: [{{ hana_client_path }}] - output_dir: /hana/shared/srHook - hana_version: '20' - force: true @@ -75,12 +75,12 @@ remove_hdbcli_tar_package: file.absent: - - names: + - 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/hana/extract_hana_package.sls new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/hana/extract_hana_package.sls --- old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/hana/extract_hana_package.sls 2021-01-19 16:54:37.000000000 +0100 +++ new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/hana/extract_hana_package.sls 2021-03-10 16:26:14.000000000 +0100 @@ -51,7 +51,10 @@ - require: - extract_hdbserver_sar_archive -{%- if hana.hana_client_archive_file is defined and hana.hana_client_archive_file.endswith((".sar", ".SAR")) %} +{%- endif %} +{%- endif %} + +{%- if hana.hana_client_archive_file is defined and hana.hana_client_archive_file.endswith((".sar", ".SAR")) and hana.sapcar_exe_file is defined %} extract_hana_client_sar_archive: sapcar.extracted: - name: {{ hana.hana_client_archive_file }} @@ -59,6 +62,3 @@ - output_dir: {{ hana.hana_client_extract_dir }} - options: "-manifest SIGNATURE.SMF" {% endif %} - -{%- endif %} -{%- endif %} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/hana/macros/get_hana_client_path.sls new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/hana/macros/get_hana_client_path.sls --- old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/hana/macros/get_hana_client_path.sls 2021-01-19 16:54:37.000000000 +0100 +++ new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/hana/macros/get_hana_client_path.sls 2021-03-10 16:26:14.000000000 +0100 @@ -1,13 +1,15 @@ -{% macro get_hana_client_path(hana) -%} +{% macro get_hana_client_path(hana, node) -%} {%- from 'hana/macros/get_hana_exe_extract_dir.sls' import get_hana_exe_extract_dir with context %} {#- If hana archive used for installation is sar format, it will not contain the hana client, so we need to provide a hana client #} {#- One of the following paths is used for hana client based on pillar entries: 1. hana_client_software_path 2. hana_client_extract_dir 3. hana_extract_dir #} {%- if hana.hana_client_software_path is defined %} {%- set hana_client_path = hana.hana_client_software_path %} - {%- elif hana.hana_client_archive_file is defined and hana.hana_archive_file is defined and hana.hana_archive_file.endswith((".sar", ".SAR")) %} + {%- elif hana.hana_client_archive_file is defined %} {%- set hana_client_path = hana.hana_client_extract_dir %} - {%- else %} + {%- elif hana.hana_archive_file is defined %} {%- set hana_client_path = get_hana_exe_extract_dir(hana) %} + {%- else %} + {%- set hana_client_path = node.install.software_path|default(hana.software_path) %} {%- endif %} {{- hana_client_path }} -{%- endmacro %} \ No newline at end of file +{%- endmacro %} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/hana/monitoring.sls new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/hana/monitoring.sls --- old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/hana/monitoring.sls 2021-01-19 16:54:37.000000000 +0100 +++ new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/hana/monitoring.sls 2021-03-10 16:26:14.000000000 +0100 @@ -1,10 +1,10 @@ {%- from "hana/map.jinja" import hana with context -%} {%- from 'hana/macros/get_hana_client_path.sls' import get_hana_client_path with context %} -{%- set hana_client_path = get_hana_client_path(hana) %} {% set pydbapi_output_dir = '/tmp/pydbapi' %} {% for node in hana.nodes if node.host == grains['host'] %} +{%- set hana_client_path = get_hana_client_path(hana, node) %} # if we have a replicated setup we only take exporter configuration from the primary {% if node.secondary is not defined %} @@ -33,7 +33,7 @@ extract_pydbapi_client: hana.pydbapi_extracted: - name: PYDBAPI.TGZ - - software_folders: [{{ node.install.software_path|default(hana.software_path)|default(hana_client_path) }}] + - software_folders: [{{ hana_client_path }}] - output_dir: {{ pydbapi_output_dir }} - hana_version: '20' - force: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/pillar.example new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/pillar.example --- old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/pillar.example 2021-01-19 16:54:37.000000000 +0100 +++ new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/pillar.example 2021-03-10 16:26:14.000000000 +0100 @@ -10,23 +10,25 @@ saptune_solution: 'HANA' # HANA installation media can be provided in one of the two methods: extracted HANA platform folder or HANA media archive - # 1. Path to already extracted HANA platform installation media. This will have preference over hana installation media archive + # 1. Path to an already extracted HANA platform installation media. This will have preference over hana installation media archive software_path: '/sapmedia/HANA/51052481' # 2. Or specify the path to the hana installation media archive # If using hana sar archive, please also provide compatible version of sapcar executable # The archive will be extracted to path specified at hana_extract_dir (optional, by default /sapmedia_extract/HANA) - # hana_extract_dir should be a new directory and seperate from location where the compressed files are present, to avoid conflicts in file permissions. + # hana_extract_dir should be a new directory and separated from the location where the compressed files are present, to avoid conflicts in file permissions. hana_archive_file: '/sapmedia/51053492.ZIP' hana_extract_dir: '/sapmedia_extract/HANA' - - # HANA Client packages are needed for monitoring & cost-optimized scenario. HANA Client is already included in HANA platform media unless a HANA database sar archive is used + + # HANA Client packages are needed for monitoring & cost-optimized scenario. HANA Client is already included in HANA platform media unless a HANA database sar archive is used # If the HANA archive used for installation is sar format specified above, you need to provide HANA Client in one of the two ways: extracted HANA client folder or HANA client sar archive file + # If any of the next two options are used, this HANA Client will have preference over the HANA Client coming in the HANA platform described above. If HANA platform is used, it is usually better to + # not use the HANA Client as it might bring some compatibility issue. # 1. Path to already extracted hana client folder #hana_client_software_path: '/sapmedia/IMDB_CLIENT' # 2. Or specify the path to the hana client sar archive file. It will be extracted to hana_client_extract_dir path (optional, by default /sapmedia_extract/HANA_CLIENT) hana_client_archive_file: '/sapmedia/IMDB_CLIENT20_003_144-80002090.SAR' hana_client_extract_dir: '/sapmedia_extract/HANA_CLIENT' - + #If using a sar archive for hana platform or hana client media, please provide compatible version of sapcar executable #sapcar_exe_file: '/sapmedia/SAPCAR' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/saphanabootstrap-formula.changes new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/saphanabootstrap-formula.changes --- old/saphanabootstrap-formula-0.7.0+git.1611071677.5443549/saphanabootstrap-formula.changes 2021-01-19 16:54:37.000000000 +0100 +++ new/saphanabootstrap-formula-0.7.0+git.1615389974.36bd4d3/saphanabootstrap-formula.changes 2021-03-10 16:26:14.000000000 +0100 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Fri Mar 5 15:30:40 UTC 2021 - Xabier Arbulu <xarb...@suse.com> + +- Fix how the HANA client options are handled. Now, if any of the + HANA client option variables are set, they will have preference + over the database option (the platform and extracted options) + +------------------------------------------------------------------- Tue Jan 19 13:35:18 UTC 2021 - Xabier Arbulu <xarb...@suse.com> - Version bump 0.7.0