Skip to content

Commit 468dd93

Browse files
Amrita42tomschr
andauthored
PED-12023: Ansible on SAP (#545)
* structure * structure * typo * fqdn * collection * collect-2 * collection-3 * plabook * concept-playbook * type * playbook-review * playbook * check * self review * review feedback * toc re-structure * adds aws * aws * gcp * validate and hosts * existing hosts * Fix missing tags * validation * self review * self review * tech review-2 * tech * validate * tech review-2 * tech review * tech-review * resolev conflicts * final tech-review --------- Co-authored-by: Tom Schraitle <[email protected]>
1 parent abd64ed commit 468dd93

10 files changed

+1282
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# This file originates from the project https://github.com/openSUSE/doc-kit
2+
# This file can be edited downstream.
3+
4+
## Basics
5+
MAIN="intro-sap-ansible-automation.asm.xml"
6+
SRC_DIR="articles"
7+
IMG_SRC_DIR="images"
8+
9+
## Profiling
10+
PROFOS="sles4sap"
11+
PROFCONDITION="16.0"
12+
#STRUCTID="sles-cockpit"
13+
#PROFARCH="x86_64;zseries;power;aarch64"
14+
15+
DOCBOOK5_RNG_URI="urn:x-suse:rng:v2:geekodoc-flat"
16+
17+
## stylesheet location
18+
STYLEROOT="/usr/share/xml/docbook/stylesheet/suse2022-ns"
19+
FALLBACK_STYLEROOT="/usr/share/xml/docbook/stylesheet/suse2021-ns"
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<?xml-model href="https://cdn.docbook.org/schema/5.2/rng/assemblyxi.rnc"
3+
type="application/relax-ng-compact-syntax"?>
4+
<!DOCTYPE assembly
5+
[
6+
<!ENTITY % entities SYSTEM "../common/generic-entities.ent">
7+
%entities;
8+
]>
9+
<!-- refers to legacy doc: https://github.com/SUSE/doc-sle/blob/main/xml/adm_sudo.xml -->
10+
11+
<assembly version="5.2" xml:lang="en"
12+
xmlns:xlink="http://www.w3.org/1999/xlink"
13+
xmlns:trans="http://docbook.org/ns/transclusion"
14+
xmlns:its="http://www.w3.org/2005/11/its"
15+
xmlns="http://docbook.org/ns/docbook">
16+
17+
18+
<resources>
19+
<resource xml:id="_sap-for-ansible-intro" href="../concepts/sap-for-ansible-intro.xml"/>
20+
21+
<resource xml:id="_about-install-sap-pattern-ansible" href="../concepts/about-install-sap-pattern-ansible.xml"/>
22+
<resource xml:id="_understand-ansible-collections" href="../concepts/ansible-collections.xml"/>
23+
<resource xml:id="_deploy-sap-ansible-aws" href="../tasks/deploy-sap-ansible-aws.xml"/>
24+
<resource xml:id="_deploy-sap-ansible-gcp" href="../tasks/deploy-sap-ansible-gcp.xml"/>
25+
<resource xml:id="_deploy-sap-ansible-hosts" href="../tasks/deploy-sap-ansible-hosts.xml"/>
26+
<resource xml:id="_ansible-support-coverage-new" href="../references/ansible-support-coverage-new.xml"/>
27+
<resource xml:id="_sap-ansible-playbook-more-info" href="../glues/ansible-sap-more-info.xml"/>
28+
<resource href="../common/legal.xml" xml:id="_legal"/>
29+
<resource href="../common/license_gfdl1.2.xml" xml:id="_gfdl"/>
30+
</resources>
31+
<!-- S T R U C T U R E -->
32+
<structure renderas="article" xml:id="intro-sap-ansible" xml:lang="en">
33+
<merge>
34+
<title>Introduction to Ansible automation for &sles4sap; 16</title>
35+
<!-- Create changelog to enable versioning; add most recent entries at the top. -->
36+
<revhistory xml:id="rh-intro-sap-automation">
37+
<revision><date>2025-11-04</date>
38+
<revdescription>
39+
<para>Initial version</para>
40+
</revdescription>
41+
</revision>
42+
</revhistory>
43+
44+
<meta name="maintainer" content="[email protected]" its:translate="no"/>
45+
46+
<meta name="productname" its:translate="no">
47+
<productname os="sles4sap" version="16.0">&sles4sap;</productname>
48+
</meta>
49+
50+
<meta name="architecture" its:translate="no">
51+
<phrase>&x86-64;</phrase>
52+
<phrase>&power;</phrase>
53+
<phrase>&zseries;</phrase>
54+
<phrase>&aarch64;</phrase>
55+
</meta>
56+
57+
<meta name="title" its:translate="yes">Introduction to Ansible automation for &sles4sap;</meta>
58+
<meta name="description" its:translate="yes">Learn about a set of Ansible collections and playbooks designed specifically for &sles4sap; on &productname; 16.</meta>
59+
<meta name="social-descr" its:translate="yes">How to use Ansible automation for SAP environments on &productname; 16 systems. </meta>
60+
61+
<meta name="category" its:translate="no">
62+
<phrase>Administration</phrase>
63+
</meta>
64+
65+
<meta name="task" its:translate="no">
66+
<phrase>Authentication</phrase>
67+
<phrase>Security</phrase>
68+
</meta>
69+
70+
<meta name="series" its:translate="no">Products &amp; Solutions</meta>
71+
72+
<!-- Docmanager -->
73+
<dm:docmanager xmlns:dm="urn:x-suse:ns:docmanager">
74+
<dm:bugtracker>
75+
<dm:url>https://bugzilla.suse.com/enter_bug.cgi</dm:url>
76+
<dm:component>Documentation</dm:component>
77+
<dm:product os="sles4sap">SUSE Linux Enterprise Server 16.0</dm:product>
78+
<dm:assignee>[email protected]</dm:assignee>
79+
</dm:bugtracker>
80+
<dm:translation>yes</dm:translation>
81+
</dm:docmanager>
82+
83+
<abstract>
84+
<variablelist>
85+
<varlistentry>
86+
<term>WHAT?</term>
87+
<listitem>
88+
<para>
89+
Learn about a powerful set of Ansible collections and playbooks that are designed for &sap;.
90+
This automation codifies best practices, allowing you to build and maintain your &sap; landscapes with speed, reliability and consistency.
91+
</para>
92+
</listitem>
93+
</varlistentry>
94+
<varlistentry>
95+
<term>WHY?</term>
96+
<listitem>
97+
<para>
98+
Ansible automation is essential for &sap; environments for organizations to codify and standardize the complex, time-consuming, and high-risk administrative tasks associated with &sap; infrastructure and operations.
99+
</para>
100+
</listitem>
101+
</varlistentry>
102+
<varlistentry>
103+
<term>EFFORT</term>
104+
<listitem>
105+
<para>
106+
It takes you up to an hour to read through this article.
107+
</para>
108+
</listitem>
109+
</varlistentry>
110+
<varlistentry>
111+
<term>GOAL</term>
112+
<listitem>
113+
<para>
114+
To transform the management of &sap; environments from a complex, error-prone, and time-intensive manual process into a fast, consistent, and fully auditable Infrastructure as Code (IaC) workflow.
115+
</para>
116+
</listitem>
117+
</varlistentry>
118+
<varlistentry>
119+
<term>REQUIREMENTS</term>
120+
<listitem>
121+
<itemizedlist>
122+
<listitem>
123+
<para>
124+
<link xlink:href="https://documentation.suse.com/sles/16.0/html/SAP-Ansible/">Understanding of Ansible core and how it works</link></para>
125+
</listitem>
126+
<listitem>
127+
<para>
128+
Understanding the architecture of &sap; systems.
129+
</para>
130+
</listitem>
131+
</itemizedlist>
132+
</listitem>
133+
</varlistentry>
134+
</variablelist>
135+
</abstract>
136+
</merge>
137+
<module resourceref="_sap-for-ansible-intro" renderas="section"/>
138+
<module resourceref="_about-install-sap-pattern-ansible" renderas="section"/>
139+
<module resourceref="_understand-ansible-collections" renderas="section"/>
140+
<module resourceref="_ansible-support-coverage-new" renderas="section"/>
141+
<module resourceref="_deploy-sap-ansible-aws" renderas="section"/>
142+
<module resourceref="_deploy-sap-ansible-gcp" renderas="section"/>
143+
<module resourceref="_deploy-sap-ansible-hosts" renderas="section"/>
144+
<module resourceref="_sap-ansible-playbook-more-info" renderas="section"/>
145+
<module resourceref="_legal" renderas="section"/>
146+
<module resourceref="_gfdl" renderas="appendix"/>
147+
</structure>
148+
</assembly>
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!-- This file originates from the project https://github.com/openSUSE/doc-kit -->
3+
<!-- This file can be edited downstream. -->
4+
<!DOCTYPE topic
5+
[
6+
<!ENTITY % entities SYSTEM "../common/generic-entities.ent">
7+
%entities;
8+
]>
9+
<!-- refers to legacy doc: <add github link to legacy doc piece, if applicable> -->
10+
<!-- point back to this document with a similar comment added to your legacy doc piece -->
11+
<!-- refer to README.md for file and id naming conventions -->
12+
<!-- metadata is dealt with on the assembly level -->
13+
<topic xml:id="about-install-sap-pattern-ansible"
14+
role="concept" xml:lang="en"
15+
xmlns="http://docbook.org/ns/docbook" version="5.2"
16+
xmlns:its="http://www.w3.org/2005/11/its"
17+
xmlns:xi="http://www.w3.org/2001/XInclude"
18+
xmlns:xlink="http://www.w3.org/1999/xlink"
19+
xmlns:trans="http://docbook.org/ns/transclusion">
20+
<info>
21+
<title>About the <literal>sles_sap_automation</literal> pattern</title>
22+
<!-- can be changed via merge in the assembly -->
23+
<!--add author's email address-->
24+
<meta name="maintainer" content="[email protected]" its:translate="no"/>
25+
<abstract>
26+
<para>
27+
Using the &suse; package pattern is recommended because it is the simplest and most reliable method for installing all the required SAP automation components.
28+
</para>
29+
</abstract>
30+
</info>
31+
<para>By using the pattern, you ensure all required Ansible collections and the playbook packages are installed together, preventing dependency problems.
32+
For &sles4sap; 16, install the <literal>sles_sap_automation</literal> package pattern: </para>
33+
<screen>&prompt.sudo;<command>zypper install --type pattern sles_sap_automation</command></screen>
34+
<para>This command installs the following packages:</para>
35+
<itemizedlist>
36+
<listitem><para><literal>ansible-sap-infrastructure</literal></para></listitem>
37+
<listitem><para><literal>ansible-sap-install</literal></para></listitem>
38+
<listitem><para><literal>ansible-sap-operations</literal></para></listitem>
39+
<listitem><para><literal>ansible-sap-playbooks</literal></para></listitem>
40+
</itemizedlist>
41+
<important><para>Each package contains an Ansible Collection with a curated list of supported Ansible roles.
42+
To call out each role in a collection , you must use it's Fully Qualified Collection Name (FQCN). This tells Ansible exactly where to find the role and prevent any naming conflicts with other collections.
43+
For example:</para>
44+
<screen>
45+
---
46+
- name: Ansible Play to install SAP Product
47+
hosts: all
48+
tasks:
49+
- name: Install SAP Product
50+
ansible.builtin.include_role:
51+
name: suse.sap_install.sap_swpm</screen>
52+
</important>
53+
</topic>

0 commit comments

Comments
 (0)