File suse-migration-sle16-activation.changes of Package suse-migration-sle16-activation
-------------------------------------------------------------------
Wed Nov 05 22:17:26 UTC 2025 - Marcus Schäfer <marcus.schaefer@suse.com>
- Refactor mount_system service
So far the mount_system unit run through all disk devices
and uses the first one providing a system with an fstab file.
This concept is weak and fails on machines with multiple
linux OS disks attached. This commit refactors mount_system
such that it reads the migration_target= variable from the
kernel cmdline. The kernel cmdline gets this information
added by either the grub.d/99_migration menuentry or via
the run_migration kexec method. The migration_target=
variable is expected to contain the rootfs UUID value
of the host that should be migrated. This is a unique
identifier and as such cannot be confused by other devices
attached to the system.
-------------------------------------------------------------------
Thu Oct 16 12:30:10 UTC 2025 - Jorik Cronenberg <jorik.cronenberg@suse.com>
- Simplify interface naming by disabling predictable names at boot
Currently our most difficult problem with regards to the network interface
naming scheme is that when the migration image boots the interfaces get
predictable names like 'enp1s0' which we then have to revert/write custom rules
around. To simplify this we can install a file at
/etc/systemd/network/99-default.link. This skips all naming schemes and the
kernel names are used. Then we can remove this file again and copy over all the
necessary udev rules and link files from the host and with udevadm trigger apply
these. This should imitate the behavior of the final migrated system most
closely.
-------------------------------------------------------------------
Mon Oct 13 12:50:25 UTC 2025 - Marcus Schäfer <marcus.schaefer@suse.com>
- shellcheck heavily complained
Fix shell coding in run_migration and %post scripts
to match with standards reported by shellcheck
-------------------------------------------------------------------
Tue Sep 30 01:37:48 UTC 2025 - yu.daike@suse.com <yu.daike@suse.com>
- check migration target before testing for architecture version
The x86_64 architecture version check only applies to migrations to
SLE16. Do not check for it if we are migrating to SLE15.
-------------------------------------------------------------------
Mon Sep 29 20:38:41 UTC 2025 - Clemens Famulla-Conrad <cfamullaconrad@suse.com>
- Create systemd.link files for virtual VMware/Hyper-V NICs
The 75-persistent-net-generator.rules does not create udev-rules
for virtual nics, matching the hwaddr "00:0c:29:*|00:50:56:*" (VMware)
or "00:15:5d:*" (Hyper-V).
When migrating to SLE16, predictable ifnames are enabled and it
is very likely, that the nic will get a different name.
To fix this, create 'systemd.link' files matching the DRIVER and
PCI_ID to ensure the virtual NIC retains its expected name.
(bsc#1250076)
-------------------------------------------------------------------
Fri Sep 26 10:18:28 UTC 2025 - Jorik Cronenberg <jorik.cronenberg@suse.com>
- Add changes for newest wicked2nm
With the new wicked2nm version 1.3.0 hopefully wicked2nm-continue-migration is
less necessary so this removes the default true in SLE16.
Also there are some changes to the netconfig handling so it makes more sense to
read the base netconfig dir instead of copying the files to
'/var/cache/wicked_config'.
I've also added an explanation to the pre-checks to explain how to apply the
`--continue-migration` flag to the migration.
-------------------------------------------------------------------
Fri Sep 19 09:56:20 UTC 2025 - Marcus Schäfer <marcus.schaefer@suse.com>
- Activation packages can no longer be noarch
As we have architectures that does not support the grub
based activation and therefore an ExclusiveArch setup in
the spec, the package can no longer be noarch
-------------------------------------------------------------------
Fri Sep 19 08:27:48 UTC 2025 - Youkou Tenhouin <yu.daike@suse.com>
- architecture check before allowing migration to be activated
SLE16 will panic on CPUs older than x86_64_v1 (i.e. x86_64). To
avoid panicing the system we check for the architecture before
activating the migration.
Co-authored-by: Marcus Schäfer <marcus.schaefer@suse.com>
-------------------------------------------------------------------
Fri Sep 12 09:10:19 UTC 2025 - Marcus Schäfer <marcus.schaefer@suse.com>
- Add missing pre snapshot setup to run_migration
The suse-migration-sle16-activation-spec-template provides code
in %pre which is not fully covered by the run_migration tool.
As we support both activation+grub and kexec (run_migration)
modes, the pre code should match in either case.
This Fixes #370
-------------------------------------------------------------------
Wed Sep 10 14:08:59 UTC 2025 - Jorik Cronenberg <jorik.cronenberg@suse.com>
- Add wicked2nm network migration
-------------------------------------------------------------------
Wed Sep 10 08:23:34 UTC 2025 - Marcus Schäfer <marcus.schaefer@suse.com>
- Setup ExclusiveArch for activation packages
For migrations of SLE12 to SLE15 the DMS was used in
the cloud context only. grub based activation is supported
there only on x86_64 and aarch64
For migrations of SLE15 to SLE16 the DMS is used in a broader
context across SUSE products and architectures. grub based
activation is supported for all archs except s390. On s390
we support the kexec (run_migration) based method for
activation only.
This commit sets the ExclusiveArch option respectively
-------------------------------------------------------------------
Mon Aug 11 13:39:11 UTC 2025 - Marcus Schäfer <marcus.schaefer@suse.com>
- Make activation package require by provides tag
With the introduction of product specific migrations packaged
up in different package names we can no longer make the activation
package require a specific package. Instead the activation requires
a capability which can be provided by different packages
-------------------------------------------------------------------
Fri Aug 08 09:27:58 UTC 2025 - Marcus Schäfer <marcus.schaefer@suse.com>
- Fix product related requirement settings
The activation as well as the migration live image packages
set a specific product requirement for the product named
product(SLES). However this is in conflict with all products
SUSE creates that are based on SLES. One example here is
SLES for SAP which defines its own product product(SLES_SAP).
The activation of the migration should not be product specific.
These packages just sets up a bootloader setup to boot the
respective live image. Therefore this commit drops the
product requirement from the activation packages. The live
image however must be product specific and therefore this
commit adds code that allows to identify the target
product by the given image name and sets the respective
product requirement to the package that wraps the image.
This change also follows the new strategy to provide
migration live images for specific SUSE products, beginning
with SAP. This Fixes #349 and Fixes #354
-------------------------------------------------------------------
Tue Jul 22 04:53:17 UTC 2025 - Yu Daike <yu.daike@suse.com>
- fix: set path according to current arch in grub.d/99_migration
-------------------------------------------------------------------
Fri Jun 27 15:01:50 UTC 2025 - Marcus Schäfer <marcus.schaefer@suse.com>
- Support product specifier in ISO name
-------------------------------------------------------------------
Fri Jun 13 09:10:57 UTC 2025 - Frederic Crozat <fcrozat@suse.com>
- ensure migration to SLES16 uses selinux, not apparmor
-------------------------------------------------------------------
Thu Feb 27 09:52:13 UTC 2025 - Marcus Schäfer <marcus.schaefer@suse.com>
- Fixed suse-migration-sle16-activation spec
All packages for the DMS must build from the same source tarball
-------------------------------------------------------------------
Thu Feb 20 14:57:40 UTC 2025 - Frederic Crozat <fcrozat@suse.com>
- Create btrfs snapshots before and after migration
SLE16 btrfs snapshot creation
-------------------------------------------------------------------
Wed Feb 19 08:46:04 UTC 2025 - Frederic Crozat <fcrozat@suse.com>
- Create a SLE 16 migration image
initial sles16 migration image
-------------------------------------------------------------------
Mon Jan 13 15:30:02 UTC 2025 - Frederic Crozat <fcrozat@suse.com>
- use findmnt instead of blkid for root detection
it works better with btrfs setup
-------------------------------------------------------------------
Fri Nov 08 09:01:43 UTC 2024 - Erico Mendonca <erico.mendonca@gmail.com>
- Fix ISO location logic in 99_migration
There is code in the grub script which checks if the location of the installed live
migration ISO file is on the same root device than (/). After the move of the
installation target to "/migration-image", that location check is no longer needed.
This commit drops the extra checks for /usr/share and /usr
Co-authored-by: Marcus Schäfer <marcus.schaefer@gmail.com>
-------------------------------------------------------------------
Wed Oct 30 16:02:39 UTC 2024 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Load lvm module in grub mode
If the DMS live ISO loopback boot runs on a machine
that has root (/) on LVM we need to load lvm in grub
to be able to read from the root of the toplevel
volume
-------------------------------------------------------------------
Tue Aug 13 17:26:17 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Bump version: 2.0.39 → 2.0.40
-------------------------------------------------------------------
Tue Aug 13 13:17:08 UTC 2024 - Jana Jaeger <jana.jaeger@suse.com>
- add metadata and revhistory and article ID
-------------------------------------------------------------------
Tue Aug 13 12:04:34 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- SLES12 SP4 no longer a supported migration starting point.
-------------------------------------------------------------------
Thu Aug 08 12:05:57 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Switch default target and ISO backing distro SLE 15 SP3
Update documentation to reflect new default target.
Update image build config.kiwi to build the ISO image based upon
SLE 15 SP3.
Update unit tests to reflect new default target.
Co-Authored-By: yarunachalam <yarunachalam@suse.com>
-------------------------------------------------------------------
Thu Aug 08 11:50:30 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Remove custom legacy ruby based zypper-migration script
The install of the legacy zypper-migration-plugin script was previously
removed from the kiwi file.
-------------------------------------------------------------------
Wed Apr 10 13:34:31 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Rename overlay zypper-migration plugin with -ruby suffix
-------------------------------------------------------------------
Wed Apr 03 13:24:17 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Fix update-bootloader to run after grub-setup bsc#1222258
Also checked to ensure that the sequencing for all systemd services
now matches the ordering specified in helper/system.tree.
-------------------------------------------------------------------
Thu Mar 07 14:36:49 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Bump version: 2.0.38 → 2.0.39
-------------------------------------------------------------------
Thu Mar 07 14:06:26 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Address RPM spec file and config.kiwi dependency issues bsc#1219004
Update the syse-migration-services RPM spec file dependencies to use
suseconnect-ng rather than the legacy SUSEConnect. While the existing
dependency specification works with zypper dependency resolution, it
doesn't work with the build service package resolution mechanism and
breaks the build of the SLE 15 SP1 ISO image containing the package.
Also update the config.kiwi used to build the SLE 15 SP1 ISO image to
explicitly install suseconnect-ng and remove zypper-migration-plugin,
which conflicts with suseconnect-ng.
-------------------------------------------------------------------
Mon Feb 05 20:59:11 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Bump version: 2.0.37 → 2.0.38
-------------------------------------------------------------------
Thu Feb 01 15:59:56 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Address nose tests deprecation issues
The Python 3.8 CI testing is failing with an error because we haven't
addressed the nose tests support deprecation by renaming the setup()
method to setup_method().
-------------------------------------------------------------------
Fri Jan 26 22:07:11 UTC 2024 - Fergal Mc Carthy <fmccarthy@suse.com>
- Bind mount the configured certs location bsc#1219004
When the migration is running ensure that the correct certs directory
is bind mounted from the /system-root into the ISO boot's runtime
environment, by retrieving the configured server.certlocation setting
from the /system-root/etc/regionserverclnt.cfg file. Default to the
new cert location if a cert location cannot be determined.
Log a message when no certs are present in the cert location, checking
in the system being migrated, and after the bind mount of that path
into the ISO runtime environment.
Add unit tests for new get_regionsrv_certs_path() function and tweak
some existing tests, that depend upon mocking calls to builtin.open(),
so that they mock any calls to get_regionsrv_certs_path() so as to
avoid triggering additional open() calls that would break those tests.
-------------------------------------------------------------------
Mon Oct 02 20:37:34 UTC 2023 - jmoffitt <jeremy.moffitt@suse.com>
- Remove target information that was confusing customers. Clarify SP4 support timeline
-------------------------------------------------------------------
Tue Aug 08 10:09:08 UTC 2023 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Added mailmap
Don't lose contributions of the past ;)
-------------------------------------------------------------------
Thu Jul 27 13:34:57 UTC 2023 - KeithMnemonic <kberger@suse.com>
- Update kiwi config files to match current build versions
-------------------------------------------------------------------
Mon Jul 24 18:38:58 UTC 2023 - jmoffitt <jeremy.moffitt@suse.com>
- Clarify supported versions of SLES
-------------------------------------------------------------------
Tue Jul 18 15:43:11 UTC 2023 - Frank Sundermeyer <fs@suse.de>
- Added block marker to listings to increase readability
-------------------------------------------------------------------
Tue Jul 18 15:33:34 UTC 2023 - Frank Sundermeyer <fs@suse.de>
- Fixing variablelists that caused validation errors
-------------------------------------------------------------------
Tue Jul 11 20:24:42 UTC 2023 - jmoffitt <jeremy.moffitt@suse.com>
- Doc updates to install, migration, and after migration sections
-------------------------------------------------------------------
Mon Jul 10 15:09:44 UTC 2023 - KeithMnemonic <kberger@suse.com>
- update spec file
-------------------------------------------------------------------
Mon Jul 10 12:17:59 UTC 2023 - KeithMnemonic <kberger@suse.com>
- update spec file
-------------------------------------------------------------------
Thu Jun 08 19:43:12 UTC 2023 - jmoffitt <jeremy.moffitt@suse.com>
- Add clarifying text for partition requirements
-------------------------------------------------------------------
Thu Jun 01 14:06:14 UTC 2023 - Tom Schraitle <tom_schr@web.de>
- Use latest SUSE stylesheet (2022 layout)
-------------------------------------------------------------------
Thu Jun 01 13:55:25 UTC 2023 - Tom Schraitle <tom_schr@web.de>
- Add missing metadata for docs.suse.com
The Docmanager tags are used for the "Edit source" and
"Report bug" links.
This change adds the latter.
-------------------------------------------------------------------
Fri Mar 31 20:42:02 UTC 2023 - KeithMnemonic <kberger@suse.com>
- cache file location debug added
add update_bootloader to address bsc#1211240
Bump version: 2.0.36 → 2.0.37
-------------------------------------------------------------------
Wed Mar 22 16:41:30 UTC 2023 - KeithMnemonic <kberger@suse.com>
- Add fixes to make updatesmtcache work correctly bsc#1209591
-------------------------------------------------------------------
Wed Mar 15 18:43:22 UTC 2023 - KeithMnemonic <kberger@suse.com>
- Add option to skip bind mount entries in fstab bsc#1209304
Bump version: 2.0.35 → 2.0.36
-------------------------------------------------------------------
Thu Dec 08 22:09:29 UTC 2022 - KeithMnemonic <kberger@suse.com>
- Bump version: 2.0.34 → 2.0.35
Bump version to 2.0.35 to align with the current version of
suse-migration-services
-------------------------------------------------------------------
Fri Apr 29 14:35:21 UTC 2022 - kberger65 <kberger@suse.com>
- Add an EnvironmentFile to suse-migration-prepare.service bsc#1199028
Bump version: 2.0.32 → 2.0.33
-------------------------------------------------------------------
Fri Apr 01 16:24:26 UTC 2022 - kberger65 <kberger@suse.com>
- Enable prechecks for SLES15-Migration
-------------------------------------------------------------------
Thu Jun 10 08:11:03 UTC 2021 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Setup package conflicts properly
migration services and migration activation conflicts.
The activation is installed on the host to migrate, the
services are installed in the live migration image. There
is no situation in which migration services and activation
is installed on the same host. As both packages are build
from the same python sources they have to conflict
-------------------------------------------------------------------
Wed Jun 09 16:38:01 UTC 2021 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Fixed migration services package build
Several issues fixed in this commit:
* Moving the sed original file over the changed one prior
calling sdist invalidates the actual change
* Fixed spec template for the activation
The package builds a python and a grub.d app. Thus the
instructions in the spec file to install from the two
places needs to be adapted. In addition the %post section
now runs a binary which is called in the process of creating
an rpm in the checks processing. Thus all python requirements
must be in BuildRequires
* Make sure prechecks are grafted in MANIFEST
-------------------------------------------------------------------
Wed May 05 15:12:55 UTC 2021 - Jesus Bermudez Velazquez <jesus.bv@suse.com>
- Add pre checks
This extends the activation package
- Check no remote repositories
- Check filesystem has LUKS encryption
The checks are kept in their own files and run
on the host, before rebooting.
This Fixes #205
-------------------------------------------------------------------
Mon Apr 26 10:36:40 UTC 2021 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Respect host kernel boot options for migration
Follow up commit to add a reference to bsc#1182520
-------------------------------------------------------------------
Fri Apr 16 09:12:08 UTC 2021 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Respect host kernel boot options for migration
The kernel boot options used on the host to migrate can be
important for the migration live environment too. For example
if net.ifnames is passed is influences the network interface
names to become predictable. As the DMS inherits configuration
data from the host e.g the network setup, it's required that
also the kernel boot parameters matches.
-------------------------------------------------------------------
Mon Apr 12 12:43:55 UTC 2021 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Fixed loopback root setting
The root variable for the loopback search in grub was initialized
with the assumption that the /usr/share/ location on the system is
on the root partition. This assumption could be incorrect and the
code should be smart enough to detect this situation.
This Fixes #192
-------------------------------------------------------------------
Fri Nov 13 12:23:39 UTC 2020 - Jesus Bermudez Velazquez <jesus.bv@suse.com>
- Set right root type fs
When root type is extX, insmod is extX and it should be ext2
that way grub ext2 module supports all extX fs.
This Fixes bsc#1178737
-------------------------------------------------------------------
Fri Jul 10 07:45:53 UTC 2020 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Mount EFI subvolume prior loopback
If the efi grub modules lives in a btrfs subvolume it's
required to mount the subvolume to allow module loading
-------------------------------------------------------------------
Wed Jul 08 14:36:14 UTC 2020 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Use dynamic loader allocation
Set linux and initrd loader depending on the grub_platform
This is related to bsc#1173532
-------------------------------------------------------------------
Wed Jan 08 15:55:37 UTC 2020 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Reference commit for SUSE maintenance
This submission creates a reference to bsc#1155192
-------------------------------------------------------------------
Tue Nov 12 14:50:16 UTC 2019 - Jesus Bermudez Velazquez <jesus.bv@suse.com>
- Add requires for minimun version
Boolean expressions are available with rpm >= 4.13
and SLES_SAP provides product(SLES) = %{version}-%{release}
-------------------------------------------------------------------
Tue Nov 12 12:07:55 UTC 2019 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Disable use of bool expressions in Requires
Available with rpm >= 4.13. Thus we can't build for SLE12
because rpm is older there
-------------------------------------------------------------------
Tue Nov 12 11:50:10 UTC 2019 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Fixed Requires syntax
According to https://rpm.org/user_doc/more_dependencies.html
boolean expressions must be embedded into brackets
-------------------------------------------------------------------
Tue Nov 12 09:34:49 UTC 2019 - Jesus Bermudez Velazquez <jesus.bv@suse.com>
- Add or condition properly
-------------------------------------------------------------------
Mon Nov 11 15:51:59 UTC 2019 - Jesus Bermudez Velazquez <jesus.bv@suse.com>
- The minimum migration starting point should be
SLES 12 SP3
or
SLES For SAP 12 SP3.
-------------------------------------------------------------------
Tue Aug 20 10:39:04 UTC 2019 - Jesus Bermudez Velazquez <jesus.bv@suse.com>
- Reference commit for SUSE maintenance
Fix BYOS upgrade from 12SP4-SAP to 15 (BSC#1142108)
-------------------------------------------------------------------
Wed Jul 17 13:10:22 UTC 2019 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Partially revert the no bootloader based startup
After testing the kexec based implementation to start the
migration live image, we found that kexec does not work in
all cloud providers. Especially those using Xen like AWS
do not work. Thus it's required to keep the alternative
bootloader based startup sequence
-------------------------------------------------------------------
Mon Jul 15 16:26:04 UTC 2019 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Avoid bootloader to run the migration
Instead of a reboot the customer should run the migration
by calling run_migration. This commit adds a service utility
to run the migration. The concept is based on kexec and
avoids the modification to the bootloader setup. This allows
more flexibility for clouds that runs instances not directly
through a bootloader and also avoids infinite boot/reboot
cycles in case of an early error of the migration mount
service. This Fixes #108
-------------------------------------------------------------------
Wed May 29 09:37:12 UTC 2019 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Fix grub setup if root is on a raid device
If the root filesystem is on a raid device the boot parameter
rd.auto must be passed to the boot such that the dracut raid
module can setup the raid prior to iso-scan.sh searching
through the devices. Related to Issue #96
-------------------------------------------------------------------
Tue May 28 13:39:48 UTC 2019 - Tim Serong <tserong@suse.com>
- Use `uniq` when finding root device in grub activation script
If the system is using mdraid on the root disk, the `lsblk` invocation
will return two lines matching "/$", e.g.:
/dev/md1
/dev/md1
This then breaks the subsequent `blkid` invocations, so $root_uuid and
$root_type are set to empty strings. When you later boot into the
migration system, grub gives two errors:
error: one argument expected.
error: no such device: root.
Adding `uniq` fixes this.
-------------------------------------------------------------------
Thu May 02 13:38:09 UTC 2019 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Reference commit for SUSE maintenance
This submission creates a reference to fate#327175 and bsc#1133919
-------------------------------------------------------------------
Mon Mar 04 13:13:57 UTC 2019 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Add rootpart detection to grub activation script
The live migration image gets installed to the system again
because of the space limitation on /boot. This affects the
menuentry created on grub side in a way that we can't use
the pre-allocated pointer to the boot device but have to search
the root partition like in a real grub root entry. This patch
adds the needed code changes to locate the root part, insert
the needed filesystem module and initializes the root variable
to allow the loopback loading of the image. This Fixes #54
-------------------------------------------------------------------
Mon Mar 04 12:40:57 UTC 2019 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Revert location change from /usr/share to /boot
This reverts commit 66dd8d4943d38f121f4b16b70bf0ab8d0b2ec82d.
If there is an extra boot partition and it's too small we
are not able to install the migration system and the customer
will not be able to use the migration concept. The image is
usually around ~300MB of size and that can often be too much
for an extra boot partition which is often designed to be small
-------------------------------------------------------------------
Fri Jan 25 10:12:22 UTC 2019 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Change location for live migration ISO image
Instead of /usr/share expect the image in /boot. The reason
for this change is because we don't know if the system uses
an extra boot partition to load the kernel and initrd from.
However the way we add the extra loop boot entry to grub
is based on reading the value for ($root) as it was configured
on the system. The location ($root) points to in grub could
be anywhere but we can trust /boot to be in there.
This Fixes the run of the migration in Azure and also
stabilizes the concept.
-------------------------------------------------------------------
Fri Nov 23 08:44:46 UTC 2018 - Marcus Schäfer <marcus.schaefer@gmail.com>
- Set the Migration boot entry to be the default
In addition set the boot timeout to 1sec