saltext.sap_control._states.sap_control#
SaltStack extension for sapcontrol Copyright (C) 2022 SAP UCC Magdeburg
sapcontrol state module#
SaltStack module that implements states based on sapcontrol functionality.
- codeauthor
Benjamin Wegener, Alexander Wilke
- maturity
new
- depends
N/A
- platform
Linux
This module implements states that utilize sapcontrol functionality.
Note
This module can only run on linux platforms.
- saltext.sap_control._states.sap_control.running(name, instance, username, password, restart=False, **kwargs)[source]#
Ensure that sapcontrol is started for an SID / instance.
- name
The SID for which sapcontrol should be running.
- instance
The instance for which sapcontrol should be running.
- username
User with which to run all operations.
- password
Passwort for the user.
- restart
Boolean if sapcontrol should be restarted if it is already running, defualt is
False.
Example:
sapcontrol for S4H / instance 00 is running: sap_control.running: - name: S4H - instance: '00' - username: sapadm - password: __slot__:salt:vault.read_secret(path="os", key="sapadm")
Note
This should not be used. Instead, a proper systemd service should be created that handles sapcontrol.
- saltext.sap_control._states.sap_control.dead(name, instance, username, password, **kwargs)[source]#
Ensure that sapcontrol is stopped for an SID / instance.
- name
The SID for which sapcontrol should be stopped.
- instance
The instance for which sapcontrol should be stopped.
- username
User with which to run all operations.
- password
Passwort for the user.
Example:
sapcontrol for S4h / instance 00 is stopped: sap_control.dead: - name: S4H - instance: '00' - username: sapadm - password: __slot__:salt:vault.read_secret(path="os", key="sapadm")
Note
This should not be used. Instead, a proper systemd service should be created that handles sapcontrol.
- saltext.sap_control._states.sap_control.sld_registered(name, sid, instance_number, username, password, sld_user, sld_password, sld_host, sld_port, log_files=None, remove_logs=True, overwrite=False, sld_check_timeout=60, **kwargs)[source]#
Ensure that a sapcontrol instance is registered at an SLD / LMDB. If log files are defined (see argument
log_files), then each file will be checked for a correct HTTP return code.- name
Target slddest.cfg file.
- sid
SID of the system.
- instance_number
Instance number for which the SLD registration should take place.
- username
Username for the sapcontrol connection.
- password
Password for the sapcontrol connection.
- sld_user
SLD connection username.
- sld_password
SLD connection password.
- sld_host
SLD connection fqdn.
- sld_port
SLD connection port.
- log_files
List of log files to check for success (full path).
- remove_logs
Remove the logs before restarting the service. Default is
True.- overwrite
Configuration will not be checked but overwritten. Default is
False.- sld_check_timeout
How long the system will wait for a positive HTTP return code from the SLD in the defined logs. Default is
60.
Warning
In order to trigger the data transfer, sapcontrol will be restarted!
Note
No password check will be performed if all other configuration parameters fit. To circumvent this, set overwrite=True.
Example:
SLD is configured and data is transfered for S4H / 00: sap_control.sld_registered: - name: /usr/sap/S4H/SYS/global/slddest.cfg - sid: S4H - instance_number: '00' - username: s4hadm - password: __slot__:salt:vault.read_secret(path="os", key="s4hadm") - sld_user: SLD_DS_USER - sld_password: __slot__:salt:vault.read_secret(path="sld", key="SLD_DS_USER") - sld_host: sol.my.domain - sld_port: 50000 - log_files: - /usr/sap/S4H/D00/work/dev_sldregs - /usr/sap/S4h/D00/work/dev_sldregk - /usr/sap/S4H/D00/work/dev_krnlreg
- saltext.sap_control._states.sap_control.system_health_ok(name, check_from, instance_number, username, password, **kwargs)[source]#
This state checks the system health by looking for Critical Syslog Entries and Work Process Errors. If errors are present in the system, the state will return
Falseas result.- name
SID of the SAP system.
- check_from
Date from which on the system health should be checked (e.g. for log entries) in the format 31129999 or 01012000.
- instance_number
Instance number for which syslog errors should be retrieved.
- username
Username for the sapcontrol connection.
- password
Password for the sapcontrol connection.
Note
This state does not implement
__opts__["test"]since no data is changed.Example:
System healh is OK for SAP NetWeaver AS ABAP system S4H (SM50 / SM21): sap_control.system_health_ok: - name: 'S4H' - check_from: {{ None | strftime("%d%m%Y") }} {# renders to current date, e.g. 31082002 #} - instance_number: '00' - username: s4hadm - password: __slot__:salt:vault.read_secret(path="os", key="s4hadm")