Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch default target and ISO backing distro SLE 15 SP3 #287

Merged
merged 2 commits into from
Aug 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
21 changes: 10 additions & 11 deletions doc/adoc/user_guide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ endif::[]
== Concept
The Distribution Migration System provides an upgrade path for an
installed SUSE Linux Enterprise system from one major version to another,
for example, from SUSE Linux Enterprise Server 12 SP4 to SUSE Linux
Enterprise Server 15. For a service pack upgrade from one Service Pack (SP)
to another within a given major version release series the existing
for example, from SUSE Linux Enterprise Server 12 SP5 to SUSE Linux
Enterprise Server 15 SP3. For a service pack upgrade from one Service Pack
(SP) to another within a given major version release series the existing
Zypper migration workflow provides the supported upgrade path.
The distribution migration system provides the ability to upgrade across
major distributions without the need to use the next major version
Expand Down Expand Up @@ -100,9 +100,9 @@ data or processes. For example, DMS will function if /home is its own
partition, but not if /var is on a separate partition from root.

SLES Version Support::
Upgrade is supported from SLES12 SP4 or SLES12 SP5 to SLES 15 SP1. It is
possible to configure other versions of SLES as the migration target,
but doing so is not a tested or supported use case.
Upgrade is supported from SLES12 SP5 to SLES 15 SP3. It is possible to
configure other versions of SLES as the migration target, but doing so
is not a tested or supported use case.

Support for SLES12 SP4 will end December 31 2023. From 2024 onward
SLES12 SP5 is the only supported migration starting point.
Expand Down Expand Up @@ -370,8 +370,7 @@ the commands from the Installation Section of this document.
* Upgrade is only possible for systems that use unencrypted root file systems,
at the OS level. Encrypting the root device using a cloud framework
encryption mechanism happens at a different level.
* Upgrade has been tested for SLES 12 SP4 to SLES 15 SP1
* Upgrade has been tested for SLES 12 SP5 to SLES 15 SP1
* Upgrade has been tested for SLES 12 SP5 to SLES 15 SP3
* The system is primarily intended for Public Cloud instance upgrade use. The
system also works for simple setups in a data center setting on physical
installations. However, for any more complex configurations the off line
Expand All @@ -396,6 +395,6 @@ the commands from the Installation Section of this document.
of the SLES version you started with. This cannot be changed.
* The only supported migration path in the Public Cloud is from the
final 2 service packs of a distribution to the first service pack of
the next distribution. For example from SLES 12 SP4 or SLES 12 SP5 to
SLES 15 SP1. The packages delivered by SUSE in the Public Cloud Module
implement this behavior by default.
the next distribution. For example from SLES 12 SP5 to SLES 15 SP3.
The packages delivered by SUSE in the Public Cloud Module implement
this behavior by default.
17 changes: 16 additions & 1 deletion image/pubcloud/sle15/config.kiwi
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<contact>public-cloud-dev@susecloud.net</contact>
<specification>
SLES15 Distribution Migration Live System to upgrade
SLES12-SP4+ instances to SLES15+
SLES12-SP5+ instances to SLES15+
</specification>
</description>
<preferences>
Expand All @@ -23,6 +23,21 @@
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/home/migration" name="migration" groups="users"/>
</users>
<repository type="rpm-md" >
<source path='obsrepositories:/'/>
</repository>
<repository type="rpm-md">
<source path="obs://SUSE:SLE-15-SP3:Update/standard"/>
</repository>
<repository type="rpm-md">
<source path="obs://SUSE:SLE-15-SP3:GA/standard"/>
</repository>
<repository type="rpm-md">
<source path="obs://SUSE:SLE-15-SP2:Update/standard"/>
</repository>
<repository type="rpm-md">
<source path="obs://SUSE:SLE-15-SP2:GA/standard"/>
</repository>
<repository type="rpm-md">
<source path="obs://SUSE:SLE-15-SP1:Update/standard"/>
</repository>
Expand Down
2 changes: 1 addition & 1 deletion test/data/custom-migration-config.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
debug: true
migration_product: 'SLES/15.1/x86_64'
migration_product: 'SLES/15.3/x86_64'
14 changes: 7 additions & 7 deletions test/unit/defaults_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,19 @@ def test_get_os_release(self):
]
)
os_release_result = os_release_tuple(
name='SLES', version='15-SP1', version_id='15.1',
pretty_name='SUSE Linux Enterprise Server 15 SP1',
name='SLES', version='15-SP3', version_id='15.3',
pretty_name='SUSE Linux Enterprise Server 15 SP3',
id='sles', id_like='suse', ansi_color='0;32',
cpe_name='cpe:/o:suse:sles:15:sp1'
cpe_name='cpe:/o:suse:sles:15:sp3'
)
os_release_content = ('NAME="SLES"\n'
'VERSION="15-SP1"\n'
'VERSION_ID="15.1"\n'
'PRETTY_NAME="SUSE Linux Enterprise Server 15 SP1"\n'
'VERSION="15-SP3"\n'
'VERSION_ID="15.3"\n'
'PRETTY_NAME="SUSE Linux Enterprise Server 15 SP3"\n'
'ID="sles"\n'
'ID_LIKE="suse"\n'
'ANSI_COLOR="0;32"\n'
'CPE_NAME="cpe:/o:suse:sles:15:sp1"')
'CPE_NAME="cpe:/o:suse:sles:15:sp3"')
with patch('builtins.open', create=True) as mock_open:
mock_open_os_release = MagicMock(spec=io.IOBase)

Expand Down
22 changes: 11 additions & 11 deletions test/unit/migration_config_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ def test_get_migration_product_auto_detected(
]
)
os_release_result = os_release_tuple(
name='SLES', version='15-SP1', version_id='15.1',
pretty_name='SUSE Linux Enterprise Server 15 SP1',
name='SLES', version='15-SP3', version_id='15.3',
pretty_name='SUSE Linux Enterprise Server 15 SP3',
id='sles', id_like='suse', ansi_color='0;32',
cpe_name='cpe:/o:suse:sles:15:sp1'
cpe_name='cpe:/o:suse:sles:15:sp3'
)
mock_get_system_root_path.return_value = '../data'
mock_get_os_release.return_value = os_release_result
assert self.config.get_migration_product() == 'SLES/15.1/x86_64'
assert self.config.get_migration_product() == 'SLES/15.3/x86_64'

@patch.object(Defaults, 'get_os_release')
@patch.object(SUSEBaseProduct, 'get_tag')
Expand All @@ -62,10 +62,10 @@ def test_get_migration_product_targets(
]
)
os_release_result = os_release_tuple(
name='SLES', version='15-SP1', version_id='15.1',
pretty_name='SUSE Linux Enterprise Server 15 SP1',
name='SLES', version='15-SP3', version_id='15.3',
pretty_name='SUSE Linux Enterprise Server 15 SP3',
id='sles', id_like='suse', ansi_color='0;32',
cpe_name='cpe:/o:suse:sles:15:sp1'
cpe_name='cpe:/o:suse:sles:15:sp3'
)
mock_get_system_root_path.return_value = '../data'
mock_get_os_release.return_value = os_release_result
Expand All @@ -91,16 +91,16 @@ def test_update_migration_config_file_no_autodetect(
]
)
os_release_result = os_release_tuple(
name='SLES', version='15-SP1', version_id='15.1',
pretty_name='SUSE Linux Enterprise Server 15 SP1',
name='SLES', version='15-SP3', version_id='15.3',
pretty_name='SUSE Linux Enterprise Server 15 SP3',
id='sles', id_like='suse', ansi_color='0;32',
cpe_name='cpe:/o:suse:sles:15:sp1'
cpe_name='cpe:/o:suse:sles:15:sp3'
)
mock_get_os_release.return_value = os_release_result
mock_get_system_root_path.return_value = '../data'
mock_get_product_name.return_value = None
self.config.update_migration_config_file()
assert self.config.get_migration_product() == 'SLES/15.1/x86_64'
assert self.config.get_migration_product() == 'SLES/15.3/x86_64'
assert self.config.is_debug_requested() is True

def test_is_zypper_migration_plugin_requested(self):
Expand Down
Loading