Skip to content
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
32c1287
SLE 16 upgrade: start with template files
cwickert Oct 15, 2025
a542136
Upgrade: Add profiling for SLES4SAP
cwickert Oct 20, 2025
fb0da56
SLE 16 upgrade: Add lifecycle info
cwickert Oct 21, 2025
dfd1106
SLE 16 upgrade: Add DMS concept
cwickert Oct 21, 2025
f87940f
SLE 16 upgrade: Add metadata
cwickert Oct 22, 2025
2096f7d
SLE 16 upgrade: Add upgrade task
cwickert Oct 22, 2025
5b61371
SLE 16 upgrade: Polish DMS concept
cwickert Oct 22, 2025
b8c7217
SLE 16 upgrade: Polish lifecycle concept
cwickert Oct 22, 2025
0adaad5
SLE 16 upgrade: Clarify SLES4SAP lifecycle
cwickert Oct 22, 2025
bfab58b
SLE 16 upgrade: Remove useless glue files
cwickert Oct 22, 2025
5958db7
SLE 16 upgrade: Minor fises for the DMS concept
cwickert Oct 22, 2025
866d16f
SLE 16 upgrade: Add upgrade preparation steps
cwickert Oct 22, 2025
42f3923
Fixup
cwickert Oct 22, 2025
f067064
SLE 16 upgrade: Add upgrade finishing steps
cwickert Oct 22, 2025
8ecf20a
SLE 16 upgrade: Clarify overall requirements
cwickert Oct 22, 2025
eeca3ba
SLE 16 upgrade: Polish the DMS upgrade task
cwickert Oct 22, 2025
716a0b5
SLE 16 upgrade: Bring back 'more info' glue
cwickert Oct 22, 2025
ceda5a6
SLE 16 upgrade: Fix typo in assembly
cwickert Oct 22, 2025
bf96f1f
SLE 16 upgrade: Add DMS customization reference
cwickert Oct 23, 2025
1b67e77
Apply suggestions from code review
cwickert Oct 23, 2025
315dbd1
SLE 16 upgrade: More suggestions from code review
cwickert Oct 24, 2025
96b3ca3
SLE 16 upgrade: Apply more suggestions from code review
cwickert Oct 24, 2025
ee0cc95
SLE 16 upgrade: Fix entity that caused build error
cwickert Oct 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions DC-SAP-upgrading
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# This file originates from the project https://github.com/openSUSE/doc-kit
# This file can be edited downstream.

MAIN="sle16-upgrade.asm.xml"
SRC_DIR="articles"
IMG_SRC_DIR="images"

## Profiling
PROFOS="sles4sap"
#PROFCONDITION="16.0"
# Use the STRUCTID if there are several structures in one assembly file
#STRUCTID="STRUCTURE-ID"
#PROFARCH="x86_64;zseries;power;aarch64"

DOCBOOK5_RNG_URI="urn:x-suse:rng:v2:geekodoc-flat"

STYLEROOT="/usr/share/xml/docbook/stylesheet/suse2022-ns"
FALLBACK_STYLEROOT="/usr/share/xml/docbook/stylesheet/suse-ns"
18 changes: 18 additions & 0 deletions DC-SLES-upgrading
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# This file originates from the project https://github.com/openSUSE/doc-kit
# This file can be edited downstream.

MAIN="sle16-upgrade.asm.xml"
SRC_DIR="articles"
IMG_SRC_DIR="images"

## Profiling
PROFOS="sles"
#PROFCONDITION="16.0"
# Use the STRUCTID if there are several structures in one assembly file
#STRUCTID="STRUCTURE-ID"
#PROFARCH="x86_64;zseries;power;aarch64"

DOCBOOK5_RNG_URI="urn:x-suse:rng:v2:geekodoc-flat"

STYLEROOT="/usr/share/xml/docbook/stylesheet/suse2022-ns"
FALLBACK_STYLEROOT="/usr/share/xml/docbook/stylesheet/suse-ns"
226 changes: 226 additions & 0 deletions articles/sle16-upgrade.asm.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- This file originates from the project https://github.com/openSUSE/doc-kit -->
<!-- This file can be edited downstream. -->
<!DOCTYPE assembly
[
<!ENTITY % entities SYSTEM "../common/generic-entities.ent">
<!ENTITY dms "Distribution Migration System">
<!ENTITY dmsa "DMS">
%entities;
]>
<!-- refers to legacy doc: <add github link to legacy doc piece, if applicable> -->
<!-- point back to this document with a similar comment added to your legacy doc piece -->
<!-- refer to README.md for file and id naming conventions -->
<assembly version="5.2" xml:lang="en"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:trans="http://docbook.org/ns/transclusion"
xmlns:its="http://www.w3.org/2005/11/its"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns="http://docbook.org/ns/docbook">
<!-- resources section references all topic chunks used in the final article
-->
<!-- R E S O U R C E S -->
<resources>
<!-- Glue files -->
<!--
<resource xml:id="_glue-sle16-upgrade" href="../glues/sle16-upgrade.xml">
<description>Glue about upgrade vs. fresh install</description>
</resource>
-->
<resource xml:id="_glue-sle16-upgrade-more-info" href="../glues/sle16-upgrade-more-info.xml">
<description>SLE 16 upgrade more information (Link to DMS docs)</description>
</resource>
<!--
<resource xml:id="_glue-sle16-upgrade-whats-next" href="../glues/sle16-upgrade-whats-next.xml">
<description>Glue what's next</description>
</resource>
-->
<!-- Concept files -->
<resource xml:id="_concept-sle16-upgrade-lifecycle-support" href="../concepts/sle16-upgrade-lifecycle.xml">
<description>SLE 16 lifecycle and upgrade paths.</description>
</resource>
<resource xml:id="_concept-sle16-upgrade-distribution-migration-system" href="../concepts/sle16-upgrade-dms.xml">
<description>Conceptual overview of the distribution migration system</description>
</resource>
<!-- Tasks -->
<!-- This is largely based on sle_update_preperation.xml from SLE 15 -->
<resource xml:id="_task-sle16-upgrade-prepare" href="../tasks/sle16-upgrade-prepare.xml">
<description>Preparing the upgrade</description>
</resource>
<resource xml:id="_task-sle16-upgrade" href="../tasks/sle16-upgrade.xml">
<description>The actual DMS upgrade</description>
</resource>
<resource xml:id="_task-sle16-upgrade-finish" href="../tasks/sle16-upgrade-finish.xml">
<description>Finishing the upgrade</description>
</resource>
<!-- References -->
<!--
<resource xml:id="_reference-example" href="../references/reference.xml">
<description>Reference example</description>
</resource>
-->
<!-- Legal -->
<resource href="../common/legal.xml" xml:id="_legal">
<description>Legal Notice</description>
</resource>
<resource href="../common/license_gfdl1.2.xml" xml:id="_gfdl">
<description>GNU Free Documentation License</description>
</resource>
</resources>
<!-- S T R U C T U R E -->
<structure renderas="article" xml:id="article-example" xml:lang="en">
<merge>
<title>Upgrading to &productname; 16</title>
<!-- Create revision history to enable versioning: adjust the placeholder revhistory ID,
for each entry add the date of when the updated article will be published,
list most recent date/entry at the top -->
<!-- Check https://documentation.suse.com/style/current/single-html/docu_styleguide/#sec-revhistory for detailed instructions-->
<revhistory xml:id="rh-USE-ROOT-ID">
<revision><date>2025-10-24</date>
<revdescription>
<para>
Updated for the initial release of &productname; &productnumber;
</para>
</revdescription>
</revision>
<revision><date>2025-10-16</date>
<revdescription>
<para>
Initial draft version
</para>
</revdescription>
</revision>
</revhistory>
<!-- TODO: provide a listing of possible and validatable meta entry values. Maybe in our geekodoc repo? -->
<!-- add author's e-mail -->
<meta name="maintainer" content="[email protected]" its:translate="no"/>
<meta name="architecture">
<phrase>&x86-64;</phrase>
<phrase>&power;</phrase>
</meta>
<!-- enter one or more product names and version -->
<meta name="productname" its:translate="no">
<productname version="16.0">&productname;</productname>
</meta>
<meta name="title" its:translate="yes">Upgrading to &productname; 16</meta>
<meta name="description" its:translate="yes">How to upgrade to &productname; 16</meta>
<meta name="social-descr" its:translate="yes">Upgrade to &productname; 16</meta>
<!-- suitable categories has to be identical with the category selected in the docserv config -->
<!-- Only used for Best practices ATM-->
<!--
<meta name="category" its:translate="no">
<phrase>Systems Management</phrase>
</meta>
-->
<!-- Determines "filter by task" filter value -->
<!-- either add link to list or list of tasks-->
<meta name="task" its:translate="no">
<phrase>Upgrade &amp; Update</phrase>
</meta>
<meta name="series" its:translate="no">Products &amp; Solutions</meta>
<dm:docmanager xmlns:dm="urn:x-suse:ns:docmanager">
<dm:bugtracker>
<dm:url>https://bugzilla.suse.com/enter_bug.cgi</dm:url>
<dm:component>Documentation</dm:component>
<dm:product><!--Bugzilla product string-->
<dm:product os="sles" condition="16.0">SUSE Linux Enterprise Server 16.0</dm:product>
<dm:product os="sles4sap" condition="16.0">SUSE Linux Enterprise Server for SAP Applications 16.0</dm:product>
</dm:product>
<dm:assignee>[email protected]</dm:assignee>
</dm:bugtracker>
<dm:translation>yes</dm:translation>
</dm:docmanager>
<abstract>
<variablelist>
<varlistentry>
<term>WHAT?</term>
<listitem>
<para>
This article describes the upgrade to &productname; &productnumber;.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>WHY?</term>
<listitem>
<para>
Learn how to upgrade to &productname; &productnumber;.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>EFFORT</term>
<listitem>
<para>
15 Minutes of reading. The time of the upgrade itself depends on the size of the
installation, the speed of the system and your internet connection.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>GOAL</term>
<listitem>
<para>
Learn how to upgrade a system from &productnameshort; 15 to &productnumber;.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>REQUIREMENTS</term>
<listitem>
<itemizedlist>
<listitem>
<para>
A system with &productname; 15&nbsp;SP7. Upgrades from other &productnameshort;
versions are not supported for &productnameshort; 16.0.
</para>
</listitem>
<listitem>
<para>
The system must be registered in order to access the package repositories.
</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
</variablelist>
</abstract>
</merge>
<!-- pull in all the topic files you need -->
<!-- pick the appropriate type of include to match your needs -->
<!-- pull in a topic as is -->
<!-- <module resourceref="_glue-sle16-upgrade" renderas="section"/> -->
<!-- pull in a topic and switch the title -->
<module resourceref="_concept-sle16-upgrade-lifecycle-support" renderas="section">
<merge>
<title>Lifecycle and upgrade paths</title>
</merge>
</module>
<module resourceref="_concept-sle16-upgrade-distribution-migration-system" renderas="section">

</module>
<module resourceref="_task-sle16-upgrade-prepare" renderas="section">
<merge>
<title>Preparing the upgrade</title>
</merge>
</module>
<module resourceref="_task-sle16-upgrade" renderas="section">
<merge>
<title>Performing the upgrade</title>
</merge>
</module>
<module resourceref="_task-sle16-upgrade-finish" renderas="section">
<merge>
<title>Finishing the upgrade</title>
</merge>
</module>
<!-- <module resourceref="_reference-example" renderas="section"/> -->
<module resourceref="_glue-sle16-upgrade-more-info" renderas="section"/>
<!-- <module resourceref="_glue-sle16-upgrade-whats-next" renderas="section"/> -->
<module resourceref="_legal"/>
<module resourceref="_gfdl">
<output renderas="appendix"/>
</module>
</structure>
<!-- TODO: second structure! -->
</assembly>
119 changes: 119 additions & 0 deletions concepts/sle16-upgrade-dms.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file originates from the project https://github.com/openSUSE/doc-kit -->
<!-- This file can be edited downstream. -->
<!DOCTYPE topic
[
<!ENTITY % entities SYSTEM "../common/generic-entities.ent">
%entities;
]>
<!-- refers to legacy doc: <add github link to legacy doc piece, if applicable> -->
<!-- point back to this document with a similar comment added to your legacy doc piece -->
<!-- refer to README.md for file and id naming conventions -->
<!-- metadata is dealt with on the assembly level -->
<topic xml:id="concept-sle16-upgrade-upgrade-distribution-migration-systemt"
role="concept" xml:lang="en"
xmlns="http://docbook.org/ns/docbook" version="5.2"
xmlns:its="http://www.w3.org/2005/11/its"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:trans="http://docbook.org/ns/transclusion">
<info>
<!-- can be changed via merge in the assembly -->
<title>Distribution migration system</title>
<!--add author's email address-->
<meta name="maintainer" content="[email protected]" its:translate="no"/>
<!-- can be changed via merge in the assembly -->
<abstract>
<para>
The distribution migration system provides an upgrade path for an installed &productname;
system from one major version to another, for example, from &productnameshort; 15&nbsp;SP7 to
&productnameshort; 16.0.
</para>
</abstract>
</info>
<section xml:id="concept-sle16-upgrade-distribution-migration-systemt">
<title>Concept</title>
<para>
While previous versions of &productname; were upgraded from the @leanos;, &productnameshort;
16 is uses the distribution migration system. This upgrade is done via the network using the &zypper; migration
workflow, which sends a request to the repository server, asking for an upgrade path.
Supported repository servers are the &scc; (SCC) and repository mirroring tool (&rmt;). The
request response contains the list of repositories required to upgrade the system. This
requires the system to be upgraded to be registered. Additionally, the server providing the
updates must have the necessary channels available and those channels must be up to date.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
request response contains the list of repositories required to upgrade the system. This
requires the system to be upgraded to be registered. Additionally, the server providing the
updates must have the necessary channels available and those channels must be up to date.
request response contains the list of repositories required to upgrade the system. The
system must be upgraded to be registered. Additionally, the server providing the
updates must have the required channels available and up to date.

Copy link
Member Author

@cwickert cwickert Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, exactly the opposite. The system doesn't have to be upgraded in order to register but it has to be registered in order to get upgraded with this procedure.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarified: "This requires the system to be registered before the upgrade."

This requirement is automatically met when a system is registered to the &scc; (SCC) or for
&quot;Pay as you go&quot;-instances in the public cloud that are automatically registered
to the SUSE-operated update infrastructure of the public cloud provider. However
administrative work may be required when the system to be upgraded is connected to an &rmt;
server.
</para>
<!-- FIXME Currently not supported.
<para>
The migration implementation also supports an upgrade mode that works with systems not
registered to a repository service. For details, see
<xref linkend="_optional_customization_of_the_upgrade_process"/>.
</para>
-->
<para>
The upgrade to a new major version requires the system to be migrated to be offline during the
upgrade to avoid system inconsistencies that may leave the system in a state that does not
allow recovery. This behavior is implemented using a live migration image.
</para>
<para>
The distribution migration system provides the live image and a startup utility
<command>run_migration</command> that reboots the running system into the upgrade live image.
Once booted into the upgrade live image the following chain of services will be executed:
</para>
<orderedlist>
<listitem>
<para>
Detect the system to be upgraded
</para>
</listitem>
<listitem>
<para>
Mount the necessary file systems
</para>
</listitem>
<listitem>
<para>
Setup the network to match the network configuration of the system to be upgraded
</para>
</listitem>
<listitem>
<para>
Prepare SSH access to the upgrade live image
</para>
</listitem>
<listitem>
<para>
Prepare the package manager for the upgrade task
</para>
</listitem>
<listitem>
<para>
Upgrade the system using zypper
</para>
</listitem>
<listitem>
<para>
Update the boot loader configuration
</para>
</listitem>
<listitem>
<para>
Unmount all mounted file systems
</para>
</listitem>
<listitem>
<para>
Reboot
</para>
</listitem>
</orderedlist>
<para>
In case an error occurs prior to the start of the upgrade, the system will be reverted to its
original state.
</para>
</section>
</topic>
Loading