Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

suse-migration-scripts-2.1.29-160000.1.1 RPM for noarch

From OpenSuSE Leap 16.0 for noarch

Name: suse-migration-scripts Distribution: SUSE Linux 16
Version: 2.1.29 Vendor: SUSE LLC <https://www.suse.com/>
Release: 160000.1.1 Build date: Sat Dec 13 15:50:28 2025
Group: System/Management Build host: reproducible
Size: 3479 Source RPM: suse-migration-services-2.1.29-160000.1.1.src.rpm
Packager: https://www.suse.com/
Url: https://github.com/SUSE/suse-migration-services
Summary: The common scripts collection for migrations
Common script collection for migrations.

Provides

Requires

License

GPL-3.0+

Changelog

* Sat Dec 13 2025 marcus.schaefer@gmail.com
  - Bump Migration changelog version: 2.1.29
* Sat Dec 13 2025 marcus.schaefer@gmail.com
  - Fix mount_system unit
    The mount_system unit unconditionally bind mounts /run locations
    into the system to migrate. If the migration system doesn't
    provide these mountpoints e.g /run/NetworkManager on a SLE12-to-15
    migration the mount_system unit fails and the entire migration
    fails because of this mandatory unit to fail. We really have to
    be more careful when writing DMS code.
* Sat Dec 13 2025 marcus.schaefer@gmail.com
  - Run ssh precheck only for SLE16 target
    The check for the ssh default settings change should
    only be performed for migrations to SLE16
* Fri Dec 12 2025 jorik.cronenberg@suse.com
  - Only generate wicked xml if service is the active network
* Thu Dec 11 2025 marcus.schaefer@suse.com
  - Fix unit link check and no use of path.join
    Checking the unit link must be done with islink() because exists()
    follows the link which is not correct when checking on behalf of
    /system-root. For the same reason os.path.join should not be used
    for link targets not resolvable in the context of the caller.
* Thu Dec 11 2025 marcus.schaefer@suse.com
  - Fixed migration live image package requires
    When the containment rpm package, packages the live migration
    ISO image into an rpm package it also adds the run_migration
    tool to the package. The latest changes to run_migration code
    however also requires the new suse-migration-scripts package
    which was not yet required. This commit fixes it
* Wed Dec 10 2025 marcus.schaefer@suse.com
  - Update setup_host_network service
    So far the service to clone the network setup from the host into
    the live migration system was only able to replicate the standard
    network setup from data in /etc/sysconfig/network. This patch
    makes the service to also replicate NetworkManager connections
    if NetworkManager is the active networking setup on the host
    to migrate. In addition the wicked-to-networkmanager migration
    only runs if wicked is the active networking setup on the
    host to migrate.
    This covers the following use cases:
    1. SLE15 to SLE16 migration if the (sle15)host to migrate is NetworkManager based
    2. SLE16 to SLE_next_generation where NetworkManager is the default
    This does NOT cover the SLE12 to SLE15 migration if the (sle12)host
    is NetworkManager based. That's because the SLE15 migration
    live images are not NetworkManager based and cannot setup the
    network even with the bind mounted etc/NetworkManager data.
* Tue Dec 09 2025 marcus.schaefer@suse.com
  - Fix backup processing
    The rsync call is done relative to the system-root path.
    This means that all files added to the files-from file
    for the rsync call must not be prefixed with that
    system-root path
* Tue Dec 09 2025 marcus.schaefer@suse.com
  - Fix log handler setup
    Messages got duplicated if log streams are added multiple
    times to the logger instance. As such only add handlers
    if there are none.
* Tue Dec 09 2025 marcus.schaefer@suse.com
  - Drop and backup /etc/sysconfig/network
    On successful wicked to NetworkManager migration the data
    in /etc/sysconfig/network is no longer needed. There will
    be a backup of the data available in /var/migration
* Mon Dec 08 2025 rjschwei@suse.com
  - Skip migration if wicked is not the default network config service
    While wicked was the default network configuration code in SLE 15,
    NetworkManager was also available either via the Desktop Module or
    PackageHub. As such it is conceivable that a user does not have wicked
    on the system to be migrated. Check if wicked is setup to manage the
    network before attempting the migration to NetworkManager.
* Mon Dec 08 2025 marcus.schaefer@suse.com
  - Add package_installed method
    This allows service units to individually check if a package
    exists prior adding it to the drop list. The drop_package
    method will no longer perform this sanity check.
* Sun Dec 07 2025 marcus.schaefer@gmail.com
  - Backup drop_path data
    All data that are subject to a drop_path call will be
    collected and rsync backuped prior deletion. The target
    path for the backup data is in /var/migration/ISO_DATE/...
    This is related to #426
* Sun Dec 07 2025 marcus.schaefer@gmail.com
  - Check if package exists prior drop
    When using drop_package, check if the package exists and
    only add it to the drop list if it does exist
* Sat Dec 06 2025 marcus.schaefer@gmail.com
  - Fixed use of suse version macros
    There is no sle_version macro on SLE16. The way the spec
    file used the version macro causes a failed build. This
    commit fixes it
* Fri Dec 05 2025 marcus.schaefer@gmail.com
  - drop README_QA.rst
    The information has been added to the main README file
* Thu Dec 04 2025 marcus.schaefer@suse.com
  - Update conditional requires per review
* Tue Dec 02 2025 marcus.schaefer@suse.com
  - Consolidate project documentation
    Update project documentation including links to the official
    SUSE documentation as well as incorporate the QA and development
    documentation to allow users testing the public offering of the
    DMS
* Tue Dec 02 2025 marcus.schaefer@suse.com
  - Fixed spec file regarding wicked2nm
    wicked2nm was set as a requirement to suse-migration-pre-checks
    beginning with SLE15 onward. wicked2nm is needed as pre-check
    tool on a SLE15 host as well as as migration tool inside of a SLE16
    migration image/container. The package suse-migration-pre-checks
    is therefore installed into the live migration image/container
    and also set as a required package to the containment package that
    contains the live migration image blob. The problem is that
    wicked2nm only exists partially in SLE15, actually only on SLE15-SP7
    for the x86_64 architecture. This is causing a problem for the
    SLE12-to-SLE15 migration images which builds migration live images
    for SLE15 for SP4(SAP target) and SP7(standard target) for x86_64
    and aarch64. wicked2nm is a tool not really used or needed for this
    migration but the live migration image is based on SLE15 and of
    course other pre-checks are needed which means suse-migration-pre-checks
    has to be installed into those migration live image builds as
    well and that causes a problem when wicked2nm is a requirement
    not provided for this target. The solution proposed in this commit
    is to make wicked2nm a recommended package for suse-migration-pre-checks
    and to make sure that all SLE16 image builds explicitly installs
    wicked2nm which is already the case for all SLE16 based migration
    image descriptions in this git repo.
* Tue Dec 02 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.27 → 2.1.28
* Tue Dec 02 2025 marcus.schaefer@suse.com
  - Bump Migration changelog version: 2.1.28
* Tue Dec 02 2025 marcus.schaefer@suse.com
  - Fix update_version helper
    If minor or major version changes the respective
    patch and/or minor levels needs to be resetted
* Thu Nov 27 2025 cfamullaconrad@suse.com
  - Fix mount_system
    Fixes: 15549f619
* Thu Nov 27 2025 marcus.schaefer@suse.com
  - Fix order of reboot service
    Make sure the reboot service is started after the following
    potentialy other services: wicked-networkmanager, regenerate-initrd,
    pam-config and ha grub-setup.
* Thu Nov 27 2025 marcus.schaefer@suse.com
  - Improve dracut logging
    If no action is needed, a message should be part of the log
    In addition fix the misleading systemd unit title for this
    service. The regenerate initrd service runs to create a
    generic (no hostonly) initrd due to a configuration request.
    This has nothing to do with multipath in the first place.
* Wed Nov 26 2025 marcus.schaefer@suse.com
  - Drop wicked component after nm migration
    After successful wicked to network manager migration
    drop the wicked components from the migrated system.
    This Fixes #421
* Wed Nov 26 2025 marcus.schaefer@suse.com
  - Move script package to the main migration provider
    In the effort to provide a common script code package, the
    package suse-migration-sle16-scripts was provided. During
    testing I found that not all places where script duplication
    exists was covered. This commit addresses the code that was
    missed and also suggests that we move the common script
    code as a sub package to the main suse-migration-services
    package. The reason here is that the common code is not
    only used in the activation package. In addition I also
    suggest that the package name changes to be more generic.
    The reason here is that this will go beyond sle16 and can
    also contain common script code for sle15 migrations as
    well as for past sle16 migrations as we are moving forward.
    As such my suggestion to also rename the package to just
    suse-migration-scripts.
* Mon Nov 24 2025 marcus.schaefer@suse.com
  - Add DropComponents class
    Implement DropComponents class to allow for removal of
    packages, files and directories. Every service class that
    has the need to perform this task needs to inherit from
    DropComponents. Along with the new class also all service
    units are turned into classes for consistency and to allow
    the inheritance model for eventually further extensions
    to the service units. This is related to Issue #421
* Mon Nov 24 2025 marcus.schaefer@suse.com
  - Fixed spec file
    suse-migration-container-pam-config.service was not installed
* Fri Nov 21 2025 cfamullaconrad@suse.com
  - Create systemd.link files for biosdevname (bsc#1253963)
* Fri Nov 21 2025 cfamullaconrad@suse.com
  - Create lib file for common network-prereq tasks
* Wed Nov 19 2025 yu.daike@suse.com
  - update PAM configurations to use pam_unix.so
    SLE16 no longer provides compat links for pam_unix_*.so. Fix the
    configuration for tools that are still using those compat links so
    they don't break after migration.
    Ref PED-13640
* Thu Nov 13 2025 cfamullaconrad@suse.com
  - Omit cio_ignore kernel commandline on zkvm
    Based on bsc#1250003 make the migration
    more robust, when removing `cio_ignore`
    from commandline only for zKVM.
* Thu Nov 06 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.26 → 2.1.27
* Thu Nov 06 2025 marcus.schaefer@suse.com
  - Bump Migration changelog version: 2.1.27
* Wed Nov 05 2025 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.
* Tue Nov 04 2025 marcus.schaefer@suse.com
  - Fix order of reboot service
    Make sure the reboot service is started after the potential
    apparmor-selinux service. Without the ordering the reboot
    service starts while the apparmor-selinux is installing
    additional software. Please note: The apparmor-selinux is
    intentionally not set as a required service because depending
    on the migration target apparmor-selinux is enabled or not.
    For example SLE12-to-SLE15 migrations does not enable
    apparmor-selinux migration.
* Mon Nov 03 2025 marcus.schaefer@suse.com
  - Add support for wicked2nm in container workflow
    In the container workflow no network needs to be configured
    because host networking is used. However, for network technology
    migrations like wicked to NetworkManager we have to run a
    slightly modified setup_host_network service. Compared to the
    standard service the container based network service does not
    activate the nm connections, because host networking is active
    and also stops the NetworkManager in the container instance
    to avoid potential conflicts with the network manager tooling
    running on the host e.g. wicked
* Thu Oct 30 2025 marcus.schaefer@suse.com
  - Fix unit test for solver test case
    Please note, the test has been fixed in combination with a
    small code refactor. Review carefully. Thanks
* Thu Oct 30 2025 marcus.schaefer@suse.com
  - Fixes for btrfs_snapshot_pre_migration
    Error handling is shadowing the real exception message.
    There is a potential condition that an integer value is
    passed in the command list, which causes an exception.
    This commit also fixes that part
* Mon Oct 27 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.25 → 2.1.26
* Mon Oct 27 2025 marcus.schaefer@suse.com
  - Bump Migration changelog version: 2.1.26
* Thu Oct 23 2025 marcus.schaefer@suse.com
  - Set systemd offline for Zypper in chroot mode
    Calling zypper in a new system root should be done in
    offline systemd mode to prevent package scripts to access
    services not necessarily present
* Wed Oct 22 2025 marcus.schaefer@suse.com
  - Fix apparmor install procedure
    The apparmor to selinux unit install the selinux pattern after
    the main migration has been performed. This zypper call has to
    happen inside of the new root system otherwise repo access
    is denied on e.g cloud systems which holds the registration
    information in the installed system.
* Tue Oct 21 2025 marcus.schaefer@suse.com
  - Fixed azuremetadata device lookup
    On Azure the azuremetadata call is prepared with the --device
    option pointing to the disk containing the system. This disk
    device is obtained via the get_root_disk_device method which
    makes use of the findmnt tool to read the device that contains
    the root filesystem mountpoint. If that filesystem is using
    sophisticated technology like subvolumes on btrfs, findmnt
    reports this information in addition to the actual unix block
    device in brackets [...]. For the logic flow of get_root_disk_device
    this extra information broke the subsequent lsblk call. This
    commit strips eventually existing extra block device information
    from the findmnt call output.
* Mon Oct 20 2025 marcus.schaefer@suse.com
  - Use of f-strings not allowed in the DMS
    The code has to stay compatible with python 3.4 because
    SLE12-to-SLE15 migrations has to continue to work. On
    SLE12 only python 3.4 exists. This commit fixes the
    code that used f-strings executed on python 3.4.
    This is related to bsc#1248137
* Thu Oct 16 2025 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.
* Wed Oct 15 2025 marcus.schaefer@gmail.com
  - Fixed test_check_lsm_migration unit test
    The test did not mock shutil.which and thus was really
    looking for the tool to be present on the system. If
    not present on the system the test failed. This commit
    fixes it.
* Wed Oct 15 2025 jorik.cronenberg@suse.com
  - Fix setup_host_network_test by mocking os.makedirs
    When '/etc/udev/' doesn't exist the test fails. But the call should be mocked
    anyway and not actually executed on the system.
* Wed Oct 15 2025 cfamullaconrad@suse.com
  - wicked2nm: log network state on nm-online failure
* Mon Oct 13 2025 marcus.schaefer@suse.com
  - Fixed LSM pre checks to be more robust
    When called on systemd without aa-status installed, the code
    runs into a traceback. Looking at the logic flow I believe this
    can be done more robust by directly checking for the availabilty
    of the tool. In addition the code uses python type hints which
    do not exists on the python used in SLE12 for which the code needs
    to stay compatible for some time.
* Mon Oct 13 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.24 → 2.1.25
* Mon Oct 13 2025 marcus.schaefer@suse.com
  - Bump Migration changelog version: 2.1.25
* Mon Oct 13 2025 marcus.schaefer@suse.com
  - shellcheck heavily complained
    Fix shell coding in run_migration and %post scripts
    to match with standards reported by shellcheck
* Thu Oct 09 2025 marcus.schaefer@suse.com
  - Do not evaluate wicked2nm output in precheck
    Instead evaluate the wicked2nm return code and display
    appropriate messages. Related to the following upstream
    fix openSUSE/wicked2nm#57
* Thu Oct 09 2025 marcus.schaefer@suse.com
  - Fix unit test for lsm check
    Missing test for the apparmor disabled case
* Wed Oct 08 2025 rfrohl@suse.com
  - prechecks/lsm.py: remove _apparmor_analyze_profiles()
    Currently no known problematic AA profiles are known. Removing the
    verification code for now, as it adds no value.
* Wed Oct 08 2025 rfrohl@suse.com
  - LSM migration check for AppArmor -> SELinux
    Users will need to review detected changes manually.
* Tue Oct 07 2025 marcus.schaefer@suse.com
  - Improve pre-check message
    Point out the section name to add the config setting
* Tue Oct 07 2025 marcus.schaefer@suse.com
  - Fix MinSLEVersion value depending on target
    The MinSLEVersion global variable was set to a value
    suitable for migrations from SLE12 to SLE15. Now that the
    scope of the DMS is not only this target we have to add
    a mechanism to dynamically set an appropriate value.
    I added explanatory comments which hopefully makes sense
    to explain when this information is taken into account
* Tue Oct 07 2025 fcrozat@suse.com
  - reduce package set on migration image
* Tue Oct 07 2025 marcus.schaefer@suse.com
  - Fixed behavior of wicked2m pre check
    The output produced by the pre-check is in my opinion very
    misleading. It outputs information from wicked2m which says
    that warnings can be ignored by passing an option to the
    tool but for the actual DMS system migration this has no
    meaning. The additional information to place a config
    setting to a DMS config file is correct but completely
    confusing with regards to the first information provided.
    This commit refactors the code which also doesn't use
    the existing command interface and imho can be done
    simpler. In addition the precheck runs code when inside
    of the migration, but this code is useless because the
    real (no dry-run) call of wicked2nm happens in the
    setup_host_network service.
* Tue Oct 07 2025 yu.daike@suse.com
  - implementation of sshd root login pre-check
    This commit implements a pre-check which will check whether sshd root
    login is enabled, and if so, warn user that they might want to enable
    root login before migration is started.
* Mon Oct 06 2025 marcus.schaefer@suse.com
  - Fixed selinux to apparmor migration
    The selinux to apparmor migration is based on a grub default
    setting change followed by the installation of a pattern package.
    It's important that this action is done prior the network migration
    from wicked to NetworkManager because this migration can lead
    to network inconsistencies which prevents the installation of
    packages from the remote repos. So happened in cloud instances
    and also in the container based workflow. As such this commit
    makes sure the selinux to apparmor migration happens before
    the network migration. In addition the selinux to apparmor
    migration should not mark the entire migration as failed as
    such a problem can also be fixed in the migrated system later
* Mon Oct 06 2025 marcus.schaefer@suse.com
  - Fixed reading of migration config for target class
    The MigrationTarget class implementation duplicates the reading
    of the config file for which we have the MigrationConfig class.
    This commit fixes the MigrationTarget by using an instance of the
    MigrationConfig class such that the latest changes in reading
    the configuration becomes effective
* Mon Oct 06 2025 cfamullaconrad@suse.com
  - Add recursion guard to MigrationConfig::_merge_config_dicts
    Implements a recursion guard in MigrationConfig::_merge_config_dicts()
    to prevent endless loops.
    While currently only used with schema-validated dictionaries,
    future use in different contexts necessitates this safeguard.
    The current limit of 2 reflects the maximum nesting depth
    defined in the migration-config schema.
* Fri Oct 03 2025 fcrozat@suse.com
  - shrink migration image
    remove a lot of things in the image, based on the work done on Agama
    Live ISO and Tumbleweed Live ISO
* Fri Oct 03 2025 marcus.schaefer@gmail.com
  - Bump version: 2.1.23 → 2.1.24
* Fri Oct 03 2025 marcus.schaefer@gmail.com
  - Bump Migration changelog version: 2.1.24
* Fri Oct 03 2025 marcus.schaefer@gmail.com
  - container/sle16/config.sh
    use dropin for s390 migration-config
* Thu Oct 02 2025 cfamullaconrad@suse.com
  - sle16/config.sh - use dropin for s390 migration-config
* Thu Oct 02 2025 marcus.schaefer@suse.com
  - doc: fix indentation
* Thu Oct 02 2025 yu.daike@suse.com
  - check for migration target by matching ISO file name
    Detecting migration target by querying RPMs might not work for all
    versions, so we check by matching ISO file name instead.
* Wed Oct 01 2025 cfamullaconrad@suse.com
  - config: introduce dropin dir migration-config.d/
    Adding a `/etc/migration-config.d` directory. Which can be
    used to have dropin configurations.
    These configurations get merged into the base config
    /etc/migration-config.yml as follow:
    * only fields get replaced
    * lists values get extended, duplicates are removed
    * dicts get deeply merged
    * missing keys get appended
* Wed Oct 01 2025 marcus.schaefer@suse.com
  - Apply SLE16 live image setup to container setup
    Add the changes that were made for the SLE16 live image
    migration to the container such that the same steps applies
* Wed Oct 01 2025 yu.daike@suse.com
  - bind mount only required subdirectories under /run into chroot
    bind mounting the entire /run directory in chroot confuses some
    packages (e.g. systemd-coredump) and may cause issues. This commit
    change the behaviour to only mounting required subdirectories.
    Fix bsc#1250078
* Tue Sep 30 2025 marcus.schaefer@suse.com
  - Add missing package requirement
    The migrate tool for container based upgrades uses the
    pidof utility which is in sysvinit-tools
* Tue Sep 30 2025 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 2025 cfamullaconrad@suse.com
  - setup_host_network: simplify code - use os.makedirs()
* Mon Sep 29 2025 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)
* Mon Sep 29 2025 cfamullaconrad@suse.com
  - Preserve systemd.link files from /etc/systemd/network/
* Fri Sep 26 2025 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.
* Thu Sep 25 2025 fcrozat@suse.com
  - Ensure wicked2nm is a dependency of pre-checks for SLE 16 migration
* Wed Sep 24 2025 jorik.cronenberg@suse.com
  - Apply sysctl to migration system
    Sysctls are often times crucial for e.g. correct network connectivity.
    All files in the preserve: sysctl list are copied to the migration system post
    mount and then activated via `sysctl --system`.
    For SLE16 it by default applies the sysctl configs present at `/etc/sysctl.conf`
    and `/etc/sysctl.d/*.conf`.
* Wed Sep 24 2025 yu.daike@suse.com
  - implement x86_64 CPU architecture check as a pre-check
    This will give user a chance to spot the CPU architecture version
    issue before actually attempting to activate the migration, so they
    won't be surprised when the activation is refused.
* Fri Sep 19 2025 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 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.22 → 2.1.23
* Fri Sep 19 2025 marcus.schaefer@suse.com
  - Bump Migration changelog version: 2.1.23
* Fri Sep 19 2025 marcus.schaefer@suse.com
  - Fix update of image .changes files
    We want a new entry with each version change but
    bumpversion modifies the existing version changelog
    entries which is unwanted. Thus the .changes files
    got dropped from .bumpversion.cfg and a little
    helper tool to handle the .changes entry was added
    and called through the Makefile
* Fri Sep 19 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.21 → 2.1.22
* Fri Sep 19 2025 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>
* Thu Sep 18 2025 jorik.cronenberg@suse.com
  - Improve error logs when wicked2nm fails
* Mon Sep 15 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.20 → 2.1.21
* Mon Sep 15 2025 marcus.schaefer@suse.com
  - Include image changelog to version bump
    Make sure the image changelog file also contains an entry
    to match with the version of the DMS
* Mon Sep 15 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.19 → 2.1.20
* Mon Sep 15 2025 fcrozat@suse.com
  - Ensure wicked2nm migration is always running, despite warnings
* Mon Sep 15 2025 yu.daike@suse.com
  - fix: add --no-recommends on patterns-base-selinux installation
* Fri Sep 12 2025 marcus.schaefer@suse.com
  - Update suse-migration-services for container use
    Add suse-migration-container-btrfs-snapshot-pre-migration.service
    which has a different requirement list in the container use
    case compared to the live image use case
* Fri Sep 12 2025 marcus.schaefer@suse.com
  - Update README
    Complete instructions for testing SLE15 to SLE16
* Fri Sep 12 2025 marcus.schaefer@suse.com
  - Update SLE16 migration container
    Match with the changes done in the SLE16 live image
* Fri Sep 12 2025 marcus.schaefer@suse.com
  - Update SAP live migration image
    Add wicked2nm packge to allow wicked to NetworkManager
    transition
* Fri Sep 12 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.18 → 2.1.19
* Fri Sep 12 2025 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
* Fri Sep 12 2025 marcus.schaefer@suse.com
  - Follow up fix for the wicked to nm migration
    The unit test to cover the copy of nm connection files
    did not mock the glob call which leads to broken test
    runs on systems that uses nm connections. This commit
    fixes that part. The commit also fixes the way the cp
    call is issued with the result of a glob call. In case
    glob does not match the cp call would be done with only
    one parameter and would cause a raise condition which
    I believe is unwanted. If there are no nm connection
    files the code should just not copy them. This commit
    also changes that part along with the broken unit test.
* Wed Sep 10 2025 jorik.cronenberg@suse.com
  - Add wicked2nm network migration
* Wed Sep 10 2025 jorik.cronenberg@suse.com
  - Add glob support to preserve_files
* Wed Sep 10 2025 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 Sep 08 2025 marcus.schaefer@suse.com
  - build sles4sap migration for cloud on x86_64 only
* Mon Sep 08 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.17 → 2.1.18
* Fri Sep 05 2025 fcrozat@suse.com
  - do not build sles4sap migration on s390x
* Mon Sep 01 2025 marcus.schaefer@suse.com
  - Use systemctl kexec
    Instead of direct kexec --exec let the system shutdown
    in a controlled way and run kexec through systemd. This
    is related to Issue #365
* Tue Aug 12 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.16 → 2.1.17
* Tue Aug 12 2025 yu.daike@suse.com
  - fix: return the correct kernel path based on machine type
* Mon Aug 11 2025 marcus.schaefer@gmail.com
  - Fixed glob pattern match for package name
    The glob match for the name of the migration live image
    does not take product specific live images into account
    Example: SLES15-Migration and SLES15-SAP_Migration
* Mon Aug 11 2025 felix.niederwanger@suse.com
  - Remove menitoning of SLES 12-SP4
    Since support for SLES 12-SP4 has ended in 2023, there is no need to
    mention that the support will phase out. Remove the mentioning of SLES
    12-SP4.
* Mon Aug 11 2025 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
* Mon Aug 11 2025 marcus.schaefer@suse.com
  - Added SLES16-SAP_Migration live image
    For migrating from SLES SAP 15 to SLES SAP 16 this image
    should be used. This Fixes #356
* Mon Aug 11 2025 marcus.schaefer@suse.com
  - Do not use list[str] type hint
    This type hint is supported with python 3.9 for the first
    time but the code has to stay compatible with python 3.6 as
    slong as migrations from SLE12 to SLE15 are supported.
    This commit uses the List type from typing to fix it
* Mon Aug 11 2025 marcus.schaefer@suse.com
  - Fix error evaluation from offline_migrations API
    SCC provides the systems/products/offline_migrations API which
    is used by the DMS to check if there is an upgrade path available.
    In case of an existing upgrade path the response data type is
    a list of dicts. In case of an error the response datatype is
    just a dict. Checking for get() on a list type leads to an
    exception reported as a problem with the upgrade path. This
    commit fixes it.
* Fri Aug 08 2025 marcus.schaefer@suse.com
  - Fix logging from non unit files
    Several logging message are not part of the log file because
    only send to the logging facility prior Logger.setup
* Fri Aug 08 2025 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
* Thu Aug 07 2025 marcus.schaefer@suse.com
  - repos for migration image must be in kiwi
    The migration image package target is the distro to migrate
    but the image itself builds against the target distro, which
    means the repos must be in the kiwi file. This was not yet
    properly setup for the SLE16 migration live image. This
    commit fixes it
* Thu Aug 07 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.15 → 2.1.16
* Thu Aug 07 2025 marcus.schaefer@suse.com
  - Added .ssh to migration user for SAP 15 live image
* Thu Aug 07 2025 marcus.schaefer@suse.com
  - Added SLES15-SAP_Migration Makefile target
* Thu Aug 07 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.14 → 2.1.15
* Thu Aug 07 2025 marcus.schaefer@suse.com
  - Add proper release package for SLE16 migration
    Make sure to install sles-release otherwise the ALP-dummy-release
    is installed by default which leads to a broken zypper migration
    because the target product is wrong. This is partially related
    to Issue #349
* Wed Aug 06 2025 marcus.schaefer@suse.com
  - Fix typo in service name
* Wed Aug 06 2025 marcus.schaefer@suse.com
  - Drop obsolete check for resolv.conf
    There is a file check for a resolv.conf file at a very early
    stage of setup_host_network.py. This check shadows the init
    log information and is also pointless because further on in
    the code there is a proper handling for the resolv.conf
    presence via has_host_resolv_setup(resolv_conf). This
    Fixes #341
* Wed Aug 06 2025 marcus.schaefer@suse.com
  - Fix migration user home dir setup for SLE16
    Added .ssh to migration user for SLE16 live image
* Wed Aug 06 2025 marcus.schaefer@suse.com
  - Update README_QA.rst
    Cleanup titles
* Wed Aug 06 2025 marcus.schaefer@suse.com
  - Update README_QA.rst
    Added chapter how to test migration from code 15 to 16
* Tue Aug 05 2025 yu.daike@suse.com
  - test: split unit test for setup_name_resolver
* Mon Aug 04 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.13 → 2.1.14
* Mon Aug 04 2025 yu.daike@suse.com
  - Install patterns-base-selinux for Apparmor migration
    Complete actions for suse-migration-apparmor-selinux.service
    Make sure to install patterns-base-selinux. In addition to this change
    a refactor of the package installation was applied as well. There is now
    an extra Zypper class for actions regarding this package manager
* Fri Aug 01 2025 fcrozat@suse.com
  - ensure the rebuild counter is not stripped from the rpm
* Fri Aug 01 2025 fcrozat@suse.com
  - Exit silently if no migration iso is found
* Thu Jul 31 2025 fcrozat@suse.com
  - ensure rpmlintrc file is part of suse-migration-services SRPM
* Thu Jul 31 2025 fcrozat@suse.com
  - ignore fixup! entries when generating changelog
* Thu Jul 31 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.12 → 2.1.13
* Wed Jul 30 2025 marcus.schaefer@suse.com
  - Increase python test matrix
    Make sure to test the code against python versions
    used on SLFO:Main
* Wed Jul 30 2025 dirk@dmllr.de
  - Remove redundanct requires on itself
    This is just always satisfied, no need to specify it.
* Wed Jul 30 2025 marcus.schaefer@suse.com
  - Fix ordering of pre-checks and actual migration
    Make sure the pre-checks service runs before the actual migration.
    As pre-checks are also called with the --fix option it is mandatory
    to run it prior the actual migration such that fixes becomes
    effective. This is related to #341
* Tue Jul 22 2025 marcus.schaefer@suse.com
  - Add SLES15-Migration target to Makefile
* Tue Jul 22 2025 marcus.schaefer@suse.com
  - Fix suse-migration-console-log service
    The console logging was based on forcing a dialog program on the
    main console. If the main console also runs a getty which is by
    default the case we run into several signal conflicts. This battle
    is always won by the getty because it restarts always whereas the
    console log service only restarts on failure. This leads to very
    weird conditions such as no log displayed on the console at all
    up to only a fraction of the log shown leading to wrong assumptions
    on the current state of the migration. This commit now changes
    the following:
    1. The console log is forced into its own tty (8) and the
    service actively switches to this terminal
    2. If the dialog ends (e.g user hits Exit) the service
    switches back to the first virtual terminal and restarts
    after 10 seconds. This is enough time to stop the
    log service in case it's unwanted, e.g. for debugging
    on this console
    3. The dialog logging does no longer run on serial terminals.
    dialog does not really support to work well on serial
    consoles. The output is often completely broken and input
    sequences requires its own terminal. If the migration
    system is accessed from a terminal that doesn't show
    progress information a message in etc/motd has been
    added which provides information how to see progress
* Tue Jul 22 2025 marcus.schaefer@suse.com
  - Fix typo in README_QA
    Fix wrong package name due to a rename of the test VM packages
* Tue Jul 22 2025 yu.daike@suse.com
  - fix: split name resolver setup into its own service
    The creation of /etc/resolv.conf should wait for
    network-online.target, but setup_host_network is supposed to be run
    before network is setup. Thus we split the setup of name resolvers
    into its own service to fix this issue.
    Ref bsc#1246513
* Tue Jul 22 2025 yu.daike@suse.com
  - fix: set path according to current arch in grub.d/99_migration
* Wed Jul 16 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.11 → 2.1.12
* Wed Jul 16 2025 fcrozat@suse.com
  - Add support to enable single rpm transaction for upgrade
    Allow to enable or disable libzypp single rpm transaction mode
    Co-authored-by: Yu Daike <yu.daike@suse.com>
* Tue Jul 15 2025 nicholas.yang@suse.com
  - enable suse-migration-ha.service in the migration image
* Tue Jul 15 2025 nicholas.yang@suse.com
  - Migration for high availability extension
    Added suse-migration-ha.service to call crm to run ha migration when
    /etc/corosync/corosync.conf exists in the system-root.
* Tue Jul 08 2025 fcrozat@suse.com
  - RPM wrapper fixes
    Add support for BUILD_DISTURL if available
    Ensure source rpm is made available when building RPM wrapper and
    embed changelog into rpm wrapper. Add missing requires to rpm
    wrapper
* Fri Jul 04 2025 fcrozat@suse.com
  - cleanup specfile to follow python singlespec policy
* Fri Jun 27 2025 marcus.schaefer@suse.com
  - Support product specifier in ISO name
* Fri Jun 27 2025 fcrozat@suse.com
  - ensure sle16 images can build on all supported platforms
* Wed Jun 25 2025 marcus.schaefer@suse.com
  - Use name pattern compatible to suse-migration-rpm
* Wed Jun 25 2025 marcus.schaefer@suse.com
  - Fix SLE15 migration images
    missing suse-migration-pre-checks package, errors in scripts
    are hidden
* Wed Jun 25 2025 marcus.schaefer@suse.com
  - SAP product should migrate to 15 SP4
* Wed Jun 25 2025 marcus.schaefer@suse.com
  - Add SLES15-SAP-Migration
    Product specific migration live image which upgrades
    to SLES15 SAP SP3
* Wed Jun 25 2025 marcus.schaefer@suse.com
  - Bump target to SLE15 SP7
* Mon Jun 23 2025 marcus.schaefer@gmail.com
  - Update bumpversion config
    Include sle16 container build to version bump
* Mon Jun 23 2025 marcus.schaefer@gmail.com
  - Bump version: 2.1.10 → 2.1.11
* Mon Jun 16 2025 fcrozat@suse.com
  - handle selinux boot option when using kexec
* Fri Jun 13 2025 fcrozat@suse.com
  - ensure migration to SLES16 uses selinux, not apparmor
* Fri Jun 13 2025 fcrozat@suse.com
  - improve os-release parsing
    properly ignore comments, empty lines
* Thu Jun 12 2025 fcrozat@suse.com
  - ensure SLES16 is also detected in SCC precheck
* Thu Jun 05 2025 nicholas.yang@suse.com
  - Add high availablity extension check
    Add a check to call ha checks provided by crmsh. If ha cluster config
    files exist and crmsh is installed and up to date, this module calls
    crmsh as a subprocess to run the checks. The result is printed to stdout
    directly by crmsh.
* Wed Jun 04 2025 marcus.schaefer@suse.com
  - Fix package names for python packages on SLE16
* Wed Jun 04 2025 marcus.schaefer@suse.com
  - Fix package names for python packages on SLE16
* Wed Jun 04 2025 marcus.schaefer@suse.com
  - Relax on the shim-install call
    The DMS tries to make the system gain secure boot capabilities.
    However, several reasons e.g. system was not EFI based can
    cause an error when attempting the setup. This action should
    not cause the entire migration to fail. The DMS upgrades a
    system based on the content of the existing disk layout.
    If the disk layout to begin with is not suitable for EFI
    or secure boot, the DMS will not interfere with the foundation
    of the system during upgrade. However, in such a case the
    DMS should still be able to upgrade the OS.
* Tue May 13 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.9 → 2.1.10
* Mon May 05 2025 marcus.schaefer@suse.com
  - Fixup package name for SLE16 container
    python3-gcemetadata was renamed to python-gcemetadata in SLE16
* Mon May 05 2025 marcus.schaefer@suse.com
  - Fixup package name for SLE16
    python3-gcemetadata was renamed to python-gcemetadata in SLE16
* Fri Apr 04 2025 marcus.schaefer@suse.com
  - Fix changelog references for activation packages
* Thu Apr 03 2025 marcus.schaefer@suse.com
  - Fix and cleanup update_bootloader service
    The service tries to install the shim package by a chroot call
    into the upgraded system. This is not going to work for several
    reasons. First and foremost the call is interactive and was missing
    several zypper options to allow this to be done non-interactive.
    Second zypper from the DMS host should be called in the same way
    as it was done during the actual migrate service for consistency
    and stability reasons. When zypper has worked during the migrate
    service it's likely to work for subsequent calls too. In addition
    to the actual zypper call I reduced the code at several stages.
    There is no need to catch an exception from Command.run to
    raise the same exception (DistMigrationCommandException) that
    would be done by Command.run itself. Also the command interface
    logs the executed command. There is no reason to log the same
    information again. This reduces the implementation by a number
    of superfluous code and test code.
* Thu Apr 03 2025 marcus.schaefer@suse.com
  - Revert "do not try to install shim on Legacy BIOS"
    This reverts commit 87c269cc0d5dbcf6188761716903fcc25c6a5294.
    The boot mode can be changed for existing instances. Thus
    the migration should setup for this option in any case
* Wed Apr 02 2025 marcus.schaefer@suse.com
  - Add product migration check
    Add check which sends an API call to the registration server
    migrations API to ask for the possible upgrade path. This is
    acually the same call done by the zypper migration plugin but
    prior the actual migration starts. The request can only be
    issued if product and credentials data as well as the
    registration server URL could be found on the system to
    migrate. If the required information to issue the request
    cannot be found, the check is skipped. In case the regsitration
    server responds with an error, the pre-check prints this
    information such that the user knows about the issue prior
    starting the migration. The error information sent from the
    registration server could also include instructions how to
    fix the situation such that a migration can succeed. For
    example on LTSS registered systems the request will respond
    with an error message that products with activated LTSS
    cannot be migrated and how to call SUSEConnect to disable
    LTSS such that a migration will become possible.
* Mon Mar 31 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.8 → 2.1.9
* Wed Mar 26 2025 marcus.schaefer@gmail.com
  - Update README_QA
* Tue Mar 18 2025 marcus.schaefer@suse.com
  - Fix suse-migration-pre-checks package requires
    We are using the entry point mechanics which requires
    setuptools for older python versions.
* Mon Mar 03 2025 fcrozat@suse.com
  - update service.tree documentation
* Mon Mar 03 2025 fcrozat@suse.com
  - ensure btrfs post migration snapshot after other migrations
    selinux and NetworkManager migration should be part of post snapshot
* Fri Feb 28 2025 fcrozat@suse.com
  - hardcode path for update-bootloader
    symlink seems to not play well with chroot
* Thu Feb 27 2025 fcrozat@suse.com
  - do not try to install shim on Legacy BIOS
* Thu Feb 27 2025 marcus.schaefer@suse.com
  - Fixed suse-migration-sle16-activation spec
    All packages for the DMS must build from the same source tarball
* Thu Feb 27 2025 marcus.schaefer@suse.com
  - There is no SLES-release package
* Thu Feb 27 2025 marcus.schaefer@suse.com
  - Add missing changelog reference for sle16
* Thu Feb 27 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.7 → 2.1.8
* Tue Feb 25 2025 fcrozat@suse.com
  - ensure bootloader is updated before rebooting
* Thu Feb 20 2025 marcus.schaefer@suse.com
  - Add missing tests for btrfs services
* Thu Feb 20 2025 fcrozat@suse.com
  - Create btrfs snapshots before and after migration
    SLE16 btrfs snapshot creation
* Thu Feb 20 2025 marcus.schaefer@suse.com
  - Add missing tests for wicked_migration
* Thu Feb 20 2025 fcrozat@suse.com
  - Wicked to NetworkManager migration
    SLE16 wicked migration
* Thu Feb 20 2025 fcrozat@suse.com
  - ensure suse-migration-apparmor-selinux is build with poetry
    Add missing entry points to pyproject
* Wed Feb 19 2025 marcus.schaefer@suse.com
  - Added tests and fixes for apparmor unit
    The latest submission for the apparmor unit code did not provide
    any tests and was also producing some linter errors. This
    commit fixes it
* Wed Feb 19 2025 fcrozat@suse.com
  - Add migration.noreboot support on kernel boot
    This prevent auto-reboot once all migration tasks are done, for debugging purpose
* Wed Feb 19 2025 fcrozat@suse.com
  - Apparmor to selinux for SLE16
    new service to migration grub from apparmor to selinux
* Wed Feb 19 2025 marcus.schaefer@suse.com
  - Move to poetry
    Keep an obsolete setup.py and MANIFEST.in file which is
    required to build the package for SLE12 which has a
    very old py3.4
* Wed Feb 19 2025 fcrozat@suse.com
  - Create a SLE 16 migration image
    initial sles16 migration image
* Wed Feb 19 2025 fcrozat@suse.com
  - use requisite for systemd units
    ensure some migration tasks are only executed if previous one were succesfull
* Fri Feb 07 2025 marcus.schaefer@suse.com
  - Fixed style and added tests for last merge commit
* Tue Feb 04 2025 fcrozat@suse.com
  - ensure /run is available in chroot
* Tue Jan 21 2025 marcus.schaefer@suse.com
  - Add --from option for update_changelog.py
    This is used to create the changes information for the
    activation package properly
* Tue Jan 21 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.6 → 2.1.7
* Fri Jan 17 2025 marcus.schaefer@suse.com
  - Bump version: 2.1.5 → 2.1.6
* Thu Jan 16 2025 rjschwei@suse.com
  - Add option to create a solver test case
    During the migration we may run into a situation where a package shows up
    on the migrated system and we need to understand why this happened. Creating
    a solver test case allows us to debug such issues.
* Mon Jan 13 2025 fcrozat@suse.com
  - use findmnt instead of blkid for root detection
    it works better with btrfs setup
* Thu Jan 09 2025 marcus.schaefer@suse.com
  - Fixed changes inconsistencies again
    Add missing bsc references
* Thu Jan 09 2025 marcus.schaefer@suse.com
  - Fixed changes inconsistencies
    Several changelog entries of the submitted package contains
    bugzilla references which are not part of the git log.
    Something that should never happen but well. This commit
    updates the release tool to the latest version and adds
    a new .changes and .changes.ref file within the inconsistencies
    got fixed. In addition no longer existing e-mail addresses
    will be replaced by their successor
* Wed Jan 08 2025 marcus.schaefer@gmail.com
  - Bump version: 2.1.4 → 2.1.5
* Wed Jan 08 2025 marcus.schaefer@gmail.com
  - Include container version to .bumpversion.cfg
* Wed Jan 08 2025 marcus.schaefer@gmail.com
  - Bump version: 2.1.3 → 2.1.4
* Wed Jan 08 2025 marcus.schaefer@gmail.com
  - Bugzilla reference commit
    The bug fixed #294 from SUSE/fix_prepare_service_variable_access
    was reported later in bugzilla. This commit creates a reference
    from PR #294 to bsc#1234803
* Wed Dec 18 2024 marcus.schaefer@gmail.com
  - Clarify on the default migration path in the docs
    The description about the only supported migration path in the
    public cloud was hard to understand from a todays perspective
    and should be reworded for better clarity. This commit does
    that and also adds information about the possibility to
    specify the migration product to overwrite the default
    This Fixes #306
* Wed Dec 04 2024 marcus.schaefer@gmail.com
  - Add --migration-system option to migrate tool
    Allow to specify which runtime container should be used to
    run the migration process
* Wed Dec 04 2024 marcus.schaefer@gmail.com
  - Update container build
    Allow to build migration container also for SLE16.
    haveged and ifplugd are packages that no longer exists for SLE16.
    However they are also not needed for the SLE15 container use
    case. Removing them allows to build for both targets from the
    same description
* Wed Dec 04 2024 marcus.schaefer@gmail.com
  - Fix spec file for python migration module
    Build correct python version dependant module package
* Wed Nov 20 2024 marcus.schaefer@gmail.com
  - Followup fix for the cleanup method
    Do not treat the lazy umount as an error condition and
    continue the cleanup of data. If a busy state cannot
    be resolved it will fail at a later stage which is fine.
* Fri Nov 08 2024 marcus.schaefer@gmail.com
  - Bump version: 2.1.2 → 2.1.3
* Fri Nov 08 2024 marcus.schaefer@gmail.com
  - Fixed cleanup in container based migration
    prior deletion of the container storage it needs to
    be released from any mount process that could hold a
    busy state on it
* Fri Nov 08 2024 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 Nov 06 2024 marcus.schaefer@gmail.com
  - Increase version for SLES15-Migration package
    The version of the SLES15-Migration package is taken from the
    kiwi image description. Thus the bump of the version has
    happened in this file. In addition a proper version constraint
    to the suse-migration-sle15-activation package was added
    due to the latest change from commit #1dbb055bc which now
    installs the migration live ISO from the SLES15-Migration
    package to /migration-image and no longer to /usr/share/migration-image
* Thu Oct 31 2024 marcus.schaefer@gmail.com
  - Bump version: 2.1.0 → 2.1.1
* Wed Oct 30 2024 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
* Wed Oct 30 2024 marcus.schaefer@gmail.com
  - Install migration live image to /migration-image
    This change helps to run migrations on systems which stores
    /usr/share in a special way, e.g. as LVM volume or other
    type that cannot be read via the loopback grub or kexec
    method. This Fixes #277
* Wed Oct 30 2024 marcus.schaefer@gmail.com
  - Add package sources for suse-migration-rpm
    The suse-migration-rpm package contains an OBS hook
    script which turns the migration live ISO image into
    a package named according to the name of the image
    name attribute. In our case: SLES15-Migration. The
    sources of this package was not maintained in any
    git repository but are tightly coupled to the live
    image build which resides here. Thus and to complete
    the source gap we have for the DMS this commit adds
    the sources for the meta package here
* Wed Oct 30 2024 marcus.schaefer@gmail.com
  - Bump version: 2.0.41 → 2.1.0
* Fri Oct 25 2024 marcus.schaefer@gmail.com
  - Added Test Plan
    Add information how to test the DMS
* Mon Oct 21 2024 marcus.schaefer@gmail.com
  - Bump version: 2.0.40 → 2.0.41
* Mon Oct 21 2024 marcus.schaefer@gmail.com
  - Be more specific on the scope of the project
* Mon Sep 23 2024 marcus.schaefer@gmail.com
  - Update README
    Fix contents of the README, point to the SUSE docs and
    fix symlinks and other information
* Mon Sep 23 2024 marcus.schaefer@gmail.com
  - Add success indicator flag file
    Added /var/log/distro_migration.exitcode to be written
    by the migrate service. The file contains the exit code
    from the zypper process and is used in the migrate tool
    to know about the overall state of the migration process.
    The migrate tool initializes the flag file with a failed
    value.
* Sun Sep 22 2024 marcus.schaefer@gmail.com
  - Fix/Refactor DMS packaging
    Add tox target to test implementation against py 3.6 and 3.11 stack
    Actually also wanted to add py3.4 but none of the github runners
    offers such an old python stack
    Add mypy tests. This is enabled to make sure we get notified
    if static type checking is enabled in the code. In this case we
    will be able to check if the affected code part is allowed to
    use type checking because the pre-checks python code must not
    use this feature of python as it is expected to run on SLE12
    with py3.4
    Fixup the overall python packaging. The former version of the
    package stack duplicates the module code in conflicting packages
    and also packaged python byte code binaries. This commit
    refactors the packaging such that the python module code is
    packages as a proper %{pythons}-migration package which can
    build for different python versions. The spec file change
    is done in a similar way to allow SLE12 and SLE15 builds as
    we do it for other PCT python modules. The respective DMS
    packages suse-migration-services, suse-migration-pre-checks
    can now simply require the DMS python stack and package only
    the main entry-point commands and services. This also allows
    to add further implementations to the DMS without ending
    in a package nightmare
    Fixup unit tests to finally get back to 100% test coverage
    as it was before I left the project. I'm not sure who tought
    it would be a good idea to weaken --cov-fail-under
* Sun Sep 22 2024 marcus.schaefer@gmail.com
  - Fixed reading of extra config file
    The MigrationConfig() was read in only once in the mount
    service. However for the container use case there is mount
    service. Thus the config file information was missing.
    For a more robust availability of the config information
    this patch adds the reading to all services that consumes it.
    In addition the change also prevents writing an 'all' status
    from systemd to the log file. This information is not relevant
    as the log contains information about the service runs. The data
    also floods the log with a lot of useless information and
    makes debugging more complicated
* Sun Sep 22 2024 marcus.schaefer@gmail.com
  - Fixed prepare service variable access
    The variable cloud_register_certs_path can be accessed
    uninitialized. This patch makes sure it is only accessed
    when suse_cloud_regionsrv_setup exists
* Sun Sep 22 2024 marcus.schaefer@gmail.com
  - Open fstab file only if it exists
* Tue Aug 13 2024 fmccarthy@suse.com
  - Bump version: 2.0.39 → 2.0.40
* Tue Aug 13 2024 jana.jaeger@suse.com
  - add metadata and revhistory and article ID
* Tue Aug 13 2024 fmccarthy@suse.com
  - SLES12 SP4 no longer a supported migration starting point.
* Thu Aug 08 2024 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 2024 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 2024 fmccarthy@suse.com
  - Rename overlay zypper-migration plugin with -ruby suffix
* Wed Apr 03 2024 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 2024 fmccarthy@suse.com
  - Bump version: 2.0.38 → 2.0.39
* Thu Mar 07 2024 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 2024 fmccarthy@suse.com
  - Bump version: 2.0.37 → 2.0.38
* Thu Feb 01 2024 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 2024 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 2023 jeremy.moffitt@suse.com
  - Remove target information that was confusing customers. Clarify SP4 support timeline
* Tue Aug 08 2023 marcus.schaefer@gmail.com
  - Added mailmap
    Don't lose contributions of the past ;)
* Thu Jul 27 2023 kberger@suse.com
  - Update kiwi config files to match current build versions
* Mon Jul 24 2023 jeremy.moffitt@suse.com
  - Clarify supported versions of SLES
* Tue Jul 18 2023 fs@suse.de
  - Added block marker to listings to increase readability
* Tue Jul 18 2023 fs@suse.de
  - Fixing variablelists that caused validation errors
* Tue Jul 11 2023 jeremy.moffitt@suse.com
  - Doc updates to install, migration, and after migration sections
* Mon Jul 10 2023 kberger@suse.com
  - update spec file
* Mon Jul 10 2023 kberger@suse.com
  - update spec file
* Thu Jun 08 2023 jeremy.moffitt@suse.com
  - Add clarifying text for partition requirements
* Thu Jun 01 2023 tom_schr@web.de
  - Use latest SUSE stylesheet (2022 layout)
* Thu Jun 01 2023 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 2023 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 2023 kberger@suse.com
  - Add fixes to make updatesmtcache work correctly bsc#1209591
* Wed Mar 15 2023 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 2022 kberger@suse.com
  - Use bind mount when needed, to ensure the resolv.conf in the root_path contains proper settings bsc#1206194
    Fix kernel check when there is no entry for 'multiversion =' bsc#1206701
    Bump version: 2.0.34 → 2.0.35
* Thu Aug 25 2022 kberger@suse.com
  - Bump version: 2.0.33 → 2.0.34
* Wed Aug 24 2022 kberger@suse.com
  - add check for smt cache files
* Wed Jun 01 2022 kberger@suse.com
  - Update document version and authors
* Wed May 25 2022 kberger@suse.com
  - Enable prechecks as a systemd process
* Fri Apr 29 2022 kberger@suse.com
  - Add an EnvironmentFile to suse-migration-prepare.service bsc#1199028
    Bump version: 2.0.32 → 2.0.33
* Tue Apr 26 2022 keith.berger@suse.com
  - Update pre_checks_test.py
* Tue Apr 26 2022 keith.berger@suse.com
  - Update pre_checks.py
* Tue Apr 26 2022 keith.berger@suse.com
  - Update kernels.py
* Mon Apr 18 2022 kberger@suse.com
  - Add fix option to pre-checks
* Mon Apr 18 2022 kberger@suse.com
  - Remove --no-kernel from host independant initrd
* Mon Apr 18 2022 kberger@suse.com
  - Add an unsupported caveat for hpc
* Tue Apr 12 2022 kberger@suse.com
  - Add multiversion kernel checks to pre-checks
* Fri Apr 01 2022 kberger@suse.com
  - Enable prechecks for SLES15-Migration
* Mon Mar 07 2022 jesus.bv@suse.com
  - Add fix for setup in tests
* Mon Mar 07 2022 jesus.bv@suse.com
  - Change verbosity for verbose
    - Update:
    - doc
    - schema
    - reading config file
    - tests
* Mon Feb 28 2022 kberger@suse.com
  - Add more details around migration_proudct
* Fri Feb 18 2022 kberger@suse.com
  - Add an option to create a 'fat' initrd
    This change adds a new systemd service, regenerate-initrd that is
    responsible for running the dracut command when the config setting
    'build_host_independent_initrd' is enabled.
    This service is configured to run before the kernel-load service
    and allows a new initrd to be created after the migration is complete
    and before the final system reboot is performed.
* Wed Feb 09 2022 kberger@suse.com
  - Fix pytest 7 compatibility
* Tue Jan 25 2022 jesus.bv@suse.com
  - Mock lsblk call
    - Mocks the command call for tests that run in
    an environment with no partitions or
    partitions have not been defined
* Mon Dec 13 2021 jesus.bv@suse.com
  - Add zypper migration plugin verbosity
    Run the zypper migration plugin with verbosity option
    for debuggin purposes
    This Fixes #230 and bsc#1191634
* Tue Nov 30 2021 jesus.bv@suse.com
  - Add migration_product to documentation
    This Fixes #229
* Mon Nov 29 2021 jesus.bv@suse.com
  - Show config file content in the migration log
    This Fixes #228
* Wed Oct 06 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.31 → 2.0.32
* Tue Oct 05 2021 jesus.bv@suse.com
  - Add test for fstab with no options
* Thu Sep 30 2021 rjschwei@suse.com
  - - Handle fstab entries that have no fs options specified
* Fri Sep 17 2021 jesus.bv@suse.com
  - Add blank line to fix checks
* Thu Sep 16 2021 jesus.bv@suse.com
  - Regroup migrate test
* Thu Sep 16 2021 jesus.bv@suse.com
  - Regroup path test
* Thu Sep 16 2021 jesus.bv@suse.com
  - Regroup mount system test
* Thu Sep 16 2021 jesus.bv@suse.com
  - Regroup product setup test
* Thu Sep 16 2021 jesus.bv@suse.com
  - Regroup grub setup test
* Thu Sep 16 2021 jesus.bv@suse.com
  - Regroup kernel load
* Thu Sep 16 2021 jesus.bv@suse.com
  - Regroup prepare test
* Thu Sep 16 2021 jesus.bv@suse.com
  - Regroup ssh keys test
* Thu Sep 16 2021 jesus.bv@suse.com
  - Regroup reboot test
* Thu Sep 16 2021 jesus.bv@suse.com
  - Regroup command test
* Wed Sep 15 2021 jesus.bv@suse.com
  - Regroup logger test
* Wed Sep 15 2021 jesus.bv@suse.com
  - Regroup pre checks test
* Wed Sep 15 2021 jesus.bv@suse.com
  - Regroup SUSEProduct test
* Wed Sep 15 2021 jesus.bv@suse.com
  - Regroup SUSEConnect test
* Wed Sep 15 2021 jesus.bv@suse.com
  - Refactor reboot tests
* Fri Aug 27 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.30 → 2.0.31
* Fri Aug 27 2021 rjschwei@suse.com
  - Remove SMT references (#223)
    SMT is no longer supported by SUSE and users are encouraged to migrate
    to RMT. We want users to use RMT servers, or SCC as targets for receiving
    system updates. Also improve requirements description and make the requirements
    for the repository server more explicit w.r.t. availability of the proper channels.
* Wed Aug 25 2021 jesus.bv@suse.com
  - Add comment for lower case and reflect that on test
* Fri Aug 13 2021 jesus.bv@suse.com
  - Update env and log it
    - In case of preserving the proxy file
    add those settings to the environment
    before starting the migration
    - Log environment variables, this information
    is helpful if a proxy is set (see bsc#1188594)
* Thu Aug 12 2021 jesus.bv@suse.com
  - Remove no-cd option from zypper-migration command
* Wed Aug 11 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.29 → 2.0.30
* Wed Aug 11 2021 jesus.bv@suse.com
  - Add valid remote repo prefix (#220)
    Add valid remote repo prefix
    Add plugin:/susecloud prefix for repositories checking
    Remove extra Logger definitions to avoid duplicate entries
* Mon Aug 09 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.28 → 2.0.29
* Sun Aug 08 2021 jesus.bv@suse.com
  - Set --no-cd option in the right place
* Fri Aug 06 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.27 → 2.0.28
* Wed Jul 28 2021 jesus.bv@suse.com
  - Make zypper ignore CD/DVDs repositories
* Wed Jul 28 2021 jesus.bv@suse.com
  - Edit message for pre checks repos
    - Add a more informative message if
    problematic repos are found
    This Fixes #214
* Wed Jul 28 2021 jesus.bv@suse.com
  - Add line breaks for remote repos
    - Remote repos message in pre checks, potentially,
    will produce long lines. Add line breaks for better
    readability
    This Fixes #215
* Fri Jul 23 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.26 → 2.0.27
* Wed Jul 21 2021 sknorr@suse.de
  - doc: Fix a typo + try to sound more active: "we recommend ..."
* Wed Jul 21 2021 sknorr@suse.de
  - doc/DC: Update to suse2021 stylesheets
* Wed Jul 21 2021 marcus.schaefer@gmail.com
  - Use download-in-advance mode for zypper dup
    If the DMS was configured to use 'zypper dup' we should
    download packages in advance for more stability. The reason
    is that zypper dup always starts with deleting packages and
    then continues with installing packages. If at install time
    a package cannot be downloaded for some reason the zypper
    process ends and leaves the system in an inconsistent state
* Thu Jun 10 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.25 → 2.0.26
* Thu Jun 10 2021 marcus.schaefer@gmail.com
  - Fixed suse-migration-services package build
    The migration services package must not contain the pre-checks
    which are only relevant in the activation package
* Thu Jun 10 2021 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 2021 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 Jun 09 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.24 → 2.0.25
* Wed May 05 2021 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
* Wed May 05 2021 marcus.schaefer@gmail.com
  - Update option settings in zypper dup mode
    When using the DMS in zypper dup mode the option
    settings --allow-downgrade and --no-confirm are handy.
    Even though I think with the global non-interactive
    option set it should not be required to set no-confirm
    in addition but the worst are questions being asked
    so better add it. With allow-downgrade set the ability
    to downgrade packages is given. With zypper dup the
    repo setup is user defined custom set and therefore
    downgrades should not be off the table
* Mon Apr 26 2021 marcus.schaefer@gmail.com
  - Respect host kernel boot options for migration
    Follow up commit to add a reference to bsc#1182520
* Fri Apr 23 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.23 → 2.0.24
* Fri Apr 23 2021 marcus.schaefer@gmail.com
  - Support symlinks for certificate files
* Fri Apr 23 2021 marcus.schaefer@gmail.com
  - Cracefully handle cert copy exceptions
    If the copy process of a certificate failed this should not
    cause the entire migration process to stop. This commit
    handles copy errors from the cert chain and turns them into
    a log message. If in the subsequent chain of tasks the
    migration failed because of missing certificates we will
    see that in the log and in the attempt to access the repos
    which is better than the python stacktrace on an unhandled
    FileNotFoundError exception. Retated to Issue #197
* Thu Apr 22 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.22 → 2.0.23
* Thu Apr 22 2021 marcus.schaefer@gmail.com
  - Prevent use of shutil.copytree
    The versions of copytree comes with a different set of
    features depending on the used python interpreter. The
    former implementation used an option which did not exist
    on python in SLE15. To keep us safe from further surprises
    I moved back to the simple but stable shutil.copy method.
    We can come up with a refactoring PR when needed but not
    combined with the fix for the certificates as this was the
    original intention of the change
* Wed Apr 21 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.21 → 2.0.22
* Wed Apr 21 2021 marcus.schaefer@gmail.com
  - Fixed import of certificates
    Certificates can exist on several places. This commit
    makes sure we lookup certificates at the following
    places:
    * /usr/share/pki/trust/anchors
    * /etc/pki/trust/anchors
* Tue Apr 20 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.20 → 2.0.21
* Tue Apr 20 2021 marcus.schaefer@gmail.com
  - Fixed mount of root for detected disk
    The former implementation looped through a list of block
    devices, mounted them, looked for the fstab file, reads it
    and umounted the device again. In a next step we mounted
    all entries from that fstab file as listed. The problem
    with this approach is that the mount of the root device
    already happened and we did it again. As this is not needed
    it should also not create a problem. But it does create
    a problem in multipath environments. With the absence of
    the multipath setup in the live migration system only one
    of the multipath devices can be mounted. This device was
    found by our loop approach but is not necessarily the
    right choice when mounting the device as referenced from
    the fstab file without multipath running. Therefore this
    commit makes sure the root device is mounted only once
    and only through our best guess loop and not by the entry
    in the fstab file.
* Mon Apr 19 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.19 → 2.0.20
* Fri Apr 16 2021 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.
* Tue Apr 13 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.18 → 2.0.19
* Tue Apr 13 2021 marcus.schaefer@gmail.com
  - Reference commit for SUSE maintenance
    This commit adds a reference to bsc#1184278
    Avoid multiple mount attempts
* Mon Apr 12 2021 marcus.schaefer@gmail.com
  - Added kernel-firmware to support bare metal better
    For the DMS to boot on bare metal system we should install
    the kernel-firmware package. If not present certain systems
    like HP with Mellanox driver fails to boot. This is related
    to bsc#1182520
* Mon Apr 12 2021 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
* Mon Apr 12 2021 jesus.bv@suse.com
  - Use ismount
    - Change the command "mount -q $mountpoint"
    for Python method "os.path.ismount($mountpoint)"
* Mon Apr 12 2021 jesus.bv@suse.com
  - Avoid multiple mount attempts
    - Fstab could contain one of the mount points
    DMS mount explicitly, ending up in an exception.
    To avoid this, DMS does not mount the explicit
    mount points if they are in fstab.
    This Fixes #191 and bcs#1184278
* Thu Mar 25 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.17 → 2.0.18
* Tue Mar 02 2021 marcus.schaefer@gmail.com
  - Added sort by path order for fstab handling
    Don't trust the order of entries in the fstab to be correct.
    Instead add a canonical path order to the fstab entries
    when processed by the distribution migration system.
    This Fixes #188 and Fixes bsc#1182520
* Wed Feb 24 2021 marcus.schaefer@gmail.com
  - Fixed umount inconsistency
    There is the mount-system service which mounts the system
    taking fstab into account. If it fails for some reason it
    also umounts all parts of the system. However in the sequence
    of the error condition there is also the grub-setup service
    which uninstalls the migration package and restores the
    grub config such that the subsequent boot process does no
    longer boot into the migration system. With the error
    condition from above the grub-setup service has no chance
    to perform its jobs because all of system-root has been
    umounted already. This commit makes sure that mount-service
    only registers the mount paths but does not umount them
    in case of a failure. This allows grub-setup to do its
    job and also allows the reboot service to umount registered
    devices prior reboot. This is related to bsc#1182520
* Mon Feb 22 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.16 → 2.0.17
* Fri Feb 19 2021 jesus.bv@suse.com
  - Do not copy /etc/resolv.conf if empty
    This Fixes #185
    This references bsc#1182234
* Thu Feb 18 2021 marcus.schaefer@gmail.com
  - Fixed documentation header
    The information about author, version, date and source link
    was partially duplicated and also misplaced. This commit
    cleans it up
* Fri Feb 05 2021 jesus.bv@suse.com
  - Avoid deprecation warning
    - Keep the flag whitelist_externals,
    which will be deprecated for allowlist_externals
    in the future versions, for compatibility reasons.
    - update whitelist externals to bash
* Fri Feb 05 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.15 → 2.0.16
* Fri Feb 05 2021 jesus.bv@suse.com
  - Allow non standard paths
    Create dir if not exists before copying
* Fri Feb 05 2021 marcus.schaefer@gmail.com
  - Bump version: 2.0.14 → 2.0.15
* Thu Feb 04 2021 marcus.schaefer@gmail.com
  - Move to github actions
    Travis has a strange opensource model
* Tue Feb 02 2021 jesus.bv@suse.com
  - Extend preserved files
    Add option to preserve files.
    This fixes #180
    This references bsc#1181808
* Mon Nov 16 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.13 → 2.0.14
* Fri Nov 13 2020 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
* Wed Aug 26 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.12 → 2.0.13
* Wed Aug 26 2020 jesus.bv@suse.com
  - Update SMT cache
    Due to a cache inconsistency, the cache
    update needs to be triggered.
    This is related to bsc#1173654
* Tue Aug 25 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.11 → 2.0.12
* Tue Aug 25 2020 marcus.schaefer@gmail.com
  - Trim newline at findmnt output
    The output of the findmnt command returns information that
    closes with a newline. This newline was used as part of the
    device name and leads to errors on the subsequent lsblk
    call which uses this device name.
* Tue Aug 25 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.10 → 2.0.11
* Mon Aug 24 2020 marcus.schaefer@gmail.com
  - Added update of regionserverclnt for Azure
    In case of the Azure cloud the auto detection code for the root
    disk device does not work when running the distribution migration
    live system. Therefore it's required to pass in the correct
    information as option to azuremetadata. This is related to
    bsc#1173654
* Fri Aug 21 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.9 → 2.0.10
* Fri Aug 21 2020 marcus.schaefer@gmail.com
  - Explicitly request python3-azuremetadata
    There are two packages in the SUSE namespace for an
    azuremetadata tool. An old one and a new one. It seems
    the package does not correctly set provides/obsoletes
    which causes the old azuremetadata package to be
    pulled in when it should be python3-azuremetadata
* Mon Jul 13 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.8 → 2.0.9
* Mon Jul 13 2020 marcus.schaefer@gmail.com
  - Reference commit for SUSE maintenance
    This commit adds a reference to bsc#1173654
    The rebuild of the DMS image will include an updated
    version of python3-azuremetadata version="5.1.0"
    which is required to upgrade from SLE12 to SLE15
    in the Azure cloud
* Fri Jul 10 2020 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 2020 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 Jul 08 2020 marcus.schaefer@gmail.com
  - Fixed reading of grub cmdline options
    If the grub setup uses linuxefi or a $linux variable
    the regular expression to extract the kernel cmdline
    failed. Related to bsc#1173532
* Tue Jul 07 2020 marcus.schaefer@gmail.com
  - Use file based syscall for kexec operation
    To avoid permission problems on load of the kernel use
    the new KEXEC_FILE_LOAD syscall instead of KEXEC_LOAD
    This Fixes #174 and Fixes bsc#1173532
* Wed Mar 25 2020 rjschwei@suse.com
  - Documentation update
    * Pull cloud specific caveats into their own section
    * Explicitly set the supported migration path for cloud instances
    * Minor woring improvements
    * Remove section about setting the migration target to make it a
    hidden feature
* Tue Mar 24 2020 rjschwei@suse.com
  - - Improve expressiveness of upgrade condition in case of multiple root
    file system presence.
* Wed Mar 18 2020 jesus.bv@suse.com
  - Rewording for clarity
* Mon Feb 24 2020 jesus.bv@suse.com
  - State the focused system is the main one
* Mon Feb 24 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.7 → 2.0.8
* Mon Feb 24 2020 marcus.schaefer@gmail.com
  - Reference commit for SUSE maintenance
    This submission creates a reference to bsc#1156068
* Fri Feb 21 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.6 → 2.0.7
* Mon Feb 17 2020 jesus.bv@suse.com
  - Preserve zypper log
    Mount zypper log in the host system.
    This Fixes #168
* Mon Feb 17 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.5 → 2.0.6
* Wed Feb 05 2020 jesus.bv@suse.com
  - Mount only existent devices
    Before, mount service mounted everything on
    /etc/fstab, now that service takes into account
    the entries that have an existent path.
    This Fixes #165
* Wed Jan 29 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.4 → 2.0.5
* Tue Jan 28 2020 marcus.schaefer@gmail.com
  - Fixed handling of busy state on system-root
    The console log service holds a busy state on the system-root
    mount because the log file is written on the host to migrate.
    At reboot time the service should be stopped to allow a clean
    umount procedure prior reboot. In addition the console log
    service should only restart on failure and not always
* Thu Jan 23 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.3 → 2.0.4
* Fri Jan 17 2020 marcus.schaefer@gmail.com
  - Disable lvmetad
    lvmetad running on the live migration host does not play well
    with the volumes activated for the system to migrate. Any
    chrooted operation will cause lvmetad to complain and to fall
    back to internal scanning
* Thu Jan 16 2020 marcus.schaefer@gmail.com
  - Add support for LVM managed devices
    LVM managed devices requires the detection as such in the
    mount_system service as well as the activation of the
    volume group prior mounting. This Fixes bsc#1156068
* Tue Jan 14 2020 jesus.bv@suse.com
  - Fix typo for doc
* Mon Jan 13 2020 rjschwei@suse.com
  - Update documentation
    Better clarify the intended use of the system for
    Public Cloud instances.
* Mon Jan 13 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.2 → 2.0.3
* Mon Jan 13 2020 marcus.schaefer@gmail.com
  - Make sure logger directory exists
* Fri Jan 10 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.1 → 2.0.2
* Fri Jan 10 2020 marcus.schaefer@gmail.com
  - Cleanup and fix logging
    The logger class contained methods never used. In addition
    the logging setup was wrong and only partially working. Any
    unit file represents a systemd call. This means any unit file
    is an extra program call which requires the initialization
    of the python logging facility. The logging itself is also
    extended in a way that any external program calls from the
    Command class will now be logged and written to the logfile
    at call time
* Fri Jan 10 2020 marcus.schaefer@gmail.com
  - Conditionally check if the system is registered
    Only if the zypper migration plugin is used it's required to
    check if the system is registered. In case use_zypper_migration
    is deactivated through the config file the migration will
    run zypper dup with a customer specific set of repositories.
    In this case it's not neccessarily required that this system
    is registered to use a SUSE repository server.
* Thu Jan 09 2020 marcus.schaefer@gmail.com
  - Make sure .ssh directory is a managed directory
* Thu Jan 09 2020 marcus.schaefer@gmail.com
  - Bump version: 2.0.0 → 2.0.1
* Wed Jan 08 2020 marcus.schaefer@gmail.com
  - Fixed registration check
    The SUSEConnect call to check if the system is registered was
    called in the live migration system environment. Of course there
    it will fail because the live migration system is never registered.
    The call has to be performed chrooted inside of the system we
    want to migrate. Thus the caller arguments as well as the call
    time in the preparation unit needs a fix
* Wed Jan 08 2020 marcus.schaefer@gmail.com
  - Bump version: 1.2.2 → 2.0.0
* Wed Jan 08 2020 marcus.schaefer@gmail.com
  - Reference commit for SUSE maintenance
    This submission creates a reference to bsc#1155192
* Wed Jan 08 2020 marcus.schaefer@gmail.com
  - Bump version: 1.2.1 → 1.2.2
* Wed Jan 08 2020 marcus.schaefer@gmail.com
  - Cleanup code for style and scope
    Static methods should be explicitly written as such.
    As we are on python3 there is no need to inherit from
    Object for classes. Also respect the 80chars per line
    limit
* Wed Jan 08 2020 marcus.schaefer@gmail.com
  - Fixed static method call
    The method is_registered is implemented as object method
    but is called as static method SUSEConnect.is_registered().
    This is wrong and causes a python runtime error on missing
    argument: self
* Wed Jan 08 2020 marcus.schaefer@gmail.com
  - Consolidate image description in git
    Maintain the live image description which implements the
    platform for the upgrade process here in git. This allows
    for better maintenance of the description data as well as
    provides scope (pubcloud) to the description and also
    keeps the version number in sync with the process code
* Wed Jan 08 2020 marcus.schaefer@gmail.com
  - Bump version: 1.2.0 → 1.2.1
* Fri Nov 22 2019 jesus.bv@suse.com
  - Add valid registration verification
    System must be registered for the migration to succeed.
    This Fixes #150
* Fri Nov 22 2019 jesus.bv@suse.com
  - Bind mount usr/lib/zypp/plugins/services
    Bind mounting usr/lib/zypp/plugins causes that
    old version of urlresolver gets called which
    breaks the migration on the zypper level.
    Instead of mounting all the plugins path, only services is needed.
    This Fixes #151
* Thu Nov 14 2019 marcus.schaefer@gmail.com
  - Bump version: 1.1.9 → 1.2.0
* Thu Nov 14 2019 marcus.schaefer@gmail.com
  - Reference commit for SUSE maintenance
    This submission creates a reference to bsc#1155192
* Thu Nov 14 2019 marcus.schaefer@gmail.com
  - Bump version: 1.1.8 → 1.1.9
* Tue Nov 12 2019 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 2019 marcus.schaefer@gmail.com
  - Bump version: 1.1.7 → 1.1.8
* Tue Nov 12 2019 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 2019 marcus.schaefer@gmail.com
  - Bump version: 1.1.6 → 1.1.7
* Tue Nov 12 2019 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 2019 marcus.schaefer@gmail.com
  - Bump version: 1.1.5 → 1.1.6
* Tue Nov 12 2019 marcus.schaefer@gmail.com
  - Fixed superfluous newline in changelog generator
* Tue Nov 12 2019 marcus.schaefer@gmail.com
  - Bump version: 1.1.4 → 1.1.5
* Tue Nov 12 2019 marcus.schaefer@gmail.com
  - Fixed changelog reference commit
    An old reference commit was used which has to be updated because
    a manual change to the .changes file on obs was done :(
* Tue Nov 12 2019 jesus.bv@suse.com
  - Add or condition properly
* Tue Nov 12 2019 marcus.schaefer@gmail.com
  - Bump version: 1.1.3 → 1.1.4
* Tue Nov 12 2019 marcus.schaefer@gmail.com
  - Added activation spec changes to changelog
    Changes that happened on the activation package spec file
    were not part of the package changelog generated by
    helper/update_changelog.py
* Tue Nov 12 2019 marcus.schaefer@gmail.com
  - Bump version: 1.1.2 → 1.1.3
* Mon Nov 11 2019 jesus.bv@suse.com
  - The minimum migration starting point should be
    SLES 12 SP3
    or
    SLES For SAP 12 SP3.
* Fri Nov 08 2019 marcus.schaefer@gmail.com
  - Bump version: 1.1.1 → 1.1.2
* Fri Nov 08 2019 marcus.schaefer@gmail.com
  - Fixed reboot call procedure
    the systemd magic that detects whether to do kexec or not, is only
    applied if we invoke reboot. systemd internally maps reboot to one or
    the other of 'systemctl reboot' or 'systemctl kexec'. Therefore the
    current implementation which just call 'systemctl reboot' does not
    transparently detect for kexec. As we don't want to rely on the
    magic behind the reboot call we explicitly call systemctl with
    reboot or kecec depending on the configured soft_reboot
    configuration option. This is then also in line with the code
    that runs 'kexec load' which also depends on the configured
    soft_reboot value.
* Wed Nov 06 2019 marcus.schaefer@gmail.com
  - Bump version: 1.1.0 → 1.1.1
* Tue Nov 05 2019 marcus.schaefer@gmail.com
  - Fixed reading of config files
    There are two potential config files, both are optional
    but one of them was opened in any case and if not present
    raises an exception. This should not be the case and gets
    fixed by this commit
* Tue Nov 05 2019 marcus.schaefer@gmail.com
  - Fix changelog inconsistency
    It seems there was a changelog entry added in obs but not
    in the git history for the suse-migration-sle15-activation
    package. This commit brings all in line again
* Tue Nov 05 2019 marcus.schaefer@gmail.com
  - Bump version: 1.0.5 → 1.1.0
* Tue Nov 05 2019 tserong@suse.com
  - Do kernel mounts in mount service (not in prepare service)
    If the /dev, /proc and /sys mounts are done in the prepare service,
    then exceptions thrown between mount system and prepare result in
    the grub config not being applied.  Moving these mounts earlier in
    the process ensures that the grub setup service has everything it
    needs (see https://github.com/SUSE/suse-migration-services/pull/142
    for more detailed discussion of the problem).
* Thu Oct 31 2019 jesus.bv@suse.com
  - Require SUSEConnect updated version
    In a failed distribution migration scenario,
    zypper-migration does a rollback. During this
    rollback, zypper tries to refresh deactivated
    repos, making the rollback fail.
    This has been fixed in the newer (0.3.20) version of SUSEConnect.
    This Fixes #133
* Thu Oct 31 2019 tserong@suse.com
  - Add schema validation for migration config file
    If the custom config file is empty or contains only comment lines,
    it will now be ignored (rather than raising an exception and killing
    the migration).  If the file is corrupt somehow, or violates schema
    validation, an error will be logged and the migration will abort.
    Validation is *also* applied to the default config file (the one
    inside the migration image).  This makes automated testing easy,
    because we'll effectively do automatic validation on any of the
    test config files, whether they're for default config or custom
    config.
* Wed Oct 30 2019 marcus.schaefer@gmail.com
  - Delete left over debug print statement
* Wed Oct 30 2019 jesus.bv@suse.com
  - Auto detect migration product
    As there could be different targets (SLES, SLES_SAP, etc)
    instead of setting the target in the custom file, the migration
    system auto detects the migration product.
    In order to do so, the target version is read from the live system.
    This Fixes #129
* Fri Oct 25 2019 marcus.schaefer@gmail.com
  - Bump version: 1.0.4 → 1.0.5
* Tue Oct 22 2019 marcus.schaefer@gmail.com
  - Perform reboot through systemd
    reboot is performed through systemd. The call through systemd
    checks if there is a kexec loaded kernel and transparently
    turns 'systemctl reboot' into 'systemctl kexec'. Thus both ways,
    soft and hard reboot are managed in one call. This is related
    to Issue #111
* Tue Oct 22 2019 marcus.schaefer@gmail.com
  - Allow for vendor change during migration
    The migration concept allows for the zypper dup as well as
    for the zypper migrate approach. In the first case the user
    is responsible for setting up the repos and we expect that
    to be done in a way that vendor changes are acceptable. In
    the second case a repository server is used to serve the
    repos and we expect that registration instance to be trustworthy
    such that potential vendor changes are also allowed
* Mon Oct 21 2019 tserong@suse.com
  - Add option to configure reboot method
    This adds a soft_reboot option, which if set to false results in
    a hard reboot, as opposed to using kexec.
    Fixes #111
* Tue Aug 20 2019 jesus.bv@suse.com
  - Reference commit for SUSE maintenance
    Fix BYOS upgrade from 12SP4-SAP to 15 (BSC#1142108)
* Tue Aug 20 2019 marcus.schaefer@gmail.com
  - Bump version: 1.0.3 → 1.0.4
* Tue Aug 20 2019 marcus.schaefer@gmail.com
  - Switch changelog generation to UTC
    For new entries the UTC format is used because package
    submissions will happen from different time zones
* Tue Aug 20 2019 marcus.schaefer@gmail.com
  - Bump version: 1.0.2 → 1.0.3
* Tue Aug 20 2019 marcus.schaefer@gmail.com
  - Update changelog creation process
    In the same way like in the kiwi project we apply the
    creation of the changelog based on a reference file.
    This allows to work with maintenance which declines
    any request that changes an entry of the changes file
    even if this change just updates the full author name
* Wed Aug 14 2019 jesus.bv@suse.com
  - This submission creates a reference to bsc#1142108
* Tue Jul 30 2019 jesus.bv@suse.com
  - Refactor product setup
    Add SUSEBaseProduct class to detect and handle the
    installed base product. Related to Issue #129
* Tue Jul 30 2019 marcus.schaefer@gmail.com
  - Bump version: 1.0.1 → 1.0.2
* Mon Jul 29 2019 marcus.schaefer@gmail.com
  - Try to find a more generic name
    glob match can return, files and directories. We only
    work on files but the variable should not indicate scope
    when there is none
* Mon Jul 29 2019 marcus.schaefer@gmail.com
  - Fixed network setup
    The network setup was based on an overlay bind mount of the
    entire /etc/sysconfig/network directory. However that directory
    also contains script code and functions that are used by system
    tools like netconfig. The scripts here are not compatible between
    distributions. Thus the overmount of /etc/sysconfig/network/scripts
    from SLE12 to SLE15 as one example breaks the netconfig tool and
    prevents the update of the /etc/resolv.conf file on network
    restart. Other negative effects of that overmounting are likely.
    Therefore this commit changes the way we inherit the network setup.
    Only the plugin directory and the interface configurations are
    taken from the host, all the rest stays untouched.
* Thu Jul 25 2019 sknorr@suse.de
  - Language/typo fixes
* Thu Jul 18 2019 rjschwei@suse.com
  - - User doc
    + Clarification around the choices of invoking the migration process using
    reboot or kexec
* Thu Jul 18 2019 marcus.schaefer@gmail.com
  - Bump version: 1.0.0 → 1.0.1
* Wed Jul 17 2019 marcus.schaefer@gmail.com
  - Update documentation
    Mention the two methods to start the migration
* Wed Jul 17 2019 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
* Wed Jul 17 2019 marcus.schaefer@gmail.com
  - Bump version: 0.6.5 → 1.0.0
* Mon Jul 15 2019 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
* Fri Jul 05 2019 marcus.schaefer@gmail.com
  - Bump version: 0.6.4 → 0.6.5
* Fri Jul 05 2019 marcus.schaefer@gmail.com
  - Fixup udev reload on rule changes
    The current restart sequence is missing the actual set/change
    of device nodes. This also prevented network interface names
    to be added/renamed.
* Mon Jul 01 2019 marcus.schaefer@gmail.com
  - Bump version: 0.6.3 → 0.6.4
* Mon Jul 01 2019 marcus.schaefer@gmail.com
  - Fixed post mount service unit file
    Wrong path to executable
* Mon Jul 01 2019 marcus.schaefer@gmail.com
  - Bump version: 0.6.2 → 0.6.3
* Fri Jun 28 2019 marcus.schaefer@gmail.com
  - Added limitation note as suggested by Robert
* Wed Jun 26 2019 jesus.bv@suse.com
  - Rename migration package
    Avoid confusion and possible error due to wrong package name.
    Fix #122
* Tue Jun 18 2019 marcus.schaefer@gmail.com
  - Added doc chapter for new preserve section
* Mon Jun 17 2019 marcus.schaefer@gmail.com
  - Added post mount service
    The post mount service is used to preserve data from the
    system to be migrated into the live migration system directly
    after the mounting of the system to be migrated. It is is
    also responsible for making that data effective in the live
    migration system. The current implementation allows for
    preserving udev rules file and make them active.
    This Fixes #100
* Wed Jun 12 2019 jesus.bv@suse.com
  - Capitalize steps list
* Mon Jun 10 2019 jesus.bv@suse.com
  - Rename config option to use zypper migration
    Rename the option to use zypper migration path, wether a plugin or
    a sub-command is not relevant for the name.
    Fixes #118
* Fri Jun 07 2019 marcus.schaefer@gmail.com
  - Bump version: 0.6.1 → 0.6.2
* Thu Jun 06 2019 marcus.schaefer@gmail.com
  - Update per suggestions by Tom
* Thu Jun 06 2019 marcus.schaefer@gmail.com
  - Update per review by Robert
* Thu Jun 06 2019 marcus.schaefer@gmail.com
  - Update per review by Robert
* Wed Jun 05 2019 marcus.schaefer@gmail.com
  - update per review by Jesus
* Wed Jun 05 2019 marcus.schaefer@gmail.com
  - update per review
* Wed Jun 05 2019 marcus.schaefer@gmail.com
  - update per review by Tom
* Wed Jun 05 2019 marcus.schaefer@gmail.com
  - Update per review
* Wed Jun 05 2019 marcus.schaefer@gmail.com
  - Support PARTUUID specifier in fstab
* Wed Jun 05 2019 marcus.schaefer@gmail.com
  - Update documentation
    Added section about possible config file values including
    the explanation for the different zypper install modes.
    This Fixes #99
* Wed Jun 05 2019 marcus.schaefer@gmail.com
  - Allow to skip local fstab paths
    If a device path is referenced as local path in the fstab file
    but can't be found on the system, this device path is skipped.
    Usually a device path references a storage node that exists
    as /dev/.. node on the machine. However it's possible to also
    reference files e.g for loop mount in the fstab file. If that
    file reference is not present in the live migration system it
    is ignored because considered harmless. file references in
    fstab are sometimes used for swapfiles or other file mapped
    data. For the purpose of the migration we consider such paths
    as not belonging to the system. This assumption of course
    could be wrong which is why we also write a warning message
    to the log file once this situation is disovered. This
    Fixes #110
* Wed Jun 05 2019 marcus.schaefer@gmail.com
  - Bump version: 0.6.0 → 0.6.1
* Tue Jun 04 2019 jesus.bv@suse.com
  - Place network logging in network service
* Tue Jun 04 2019 marcus.schaefer@gmail.com
  - Fixed SSH identity copy
    The SSH host identity is provided by the server credentials that
    makes up the fingerprint of that host. However the copy of the
    files should exclude the encrypted private key ssh_host_key which
    can only be read on the origin host. In fact a copy of that file
    to another host will lead to a segfault in sshd and kills the
    connection without any further information.
* Tue Jun 04 2019 jesus.bv@suse.com
  - Log bondN info if bonding directory exists
* Tue Jun 04 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.30 → 0.6.0
* Tue Jun 04 2019 tserong@suse.com
  - Ignore blank lines and comments when parsing fstab
* Sat Jun 01 2019 jesus.bv@suse.com
  - Provide detailed network information
    After network.online target is done, we log
    the network status, interfaces and relevant information.
    Fixes #84
* Thu May 30 2019 jesus.bv@suse.com
  - Inherit ssh host keys
    The live image creates its ssh host key on boot. However that
    host key does not match the host key from the system to migrate.
    This leads to a warning message on a changed host key when a
    ssh login attempt is made while the migration runs. As the
    migration live system inherits the network setup it should
    also inherit the ssh host key. This Fixes #86
* Wed May 29 2019 rjschwei@suse.com
  - Cosmetic changes to handle error codes from zypper
    Make it more explicit to the reader that we treat specific
    values from zypper as errors. Positive side effect is that
    if the list gets longer the condition does not need to
    change
* Wed May 29 2019 tserong@suse.com
  - Try to mount raid partitions
    `lsblk` returns "raid1" (or similar) for /dev/md devices, so we need
    to attempt to mount these as well as regular partitions in case the
    root disk is on mdraid.
* Wed May 29 2019 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
* Wed May 29 2019 marcus.schaefer@gmail.com
  - Rebuild grub conf on uninstall of activation rpm
    If the activation package is installed a grub config file
    extension is applied. On uninstall of the package that
    extension will be deleted but it only becomes effective
    if the grub config will be rebuild. This Fixes #94
* Tue May 28 2019 marcus.schaefer@gmail.com
  - Add support for zypper dup mode
    By default the migration system uses the zypper migration plugin
    to migrate the system. This works if the system is SLES registered
    and an upgrade path from SCC exists. For system where this is not
    possible an alternative method can be switched on with the
    custom configuration option use_zypper_migration_plugin set
    to: false. In this mode we just call zypper dup. Please note
    this requires that the user has pre setup the repositories before
    the migration system gets started. This Fixes #72
* Tue May 28 2019 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.
* Tue May 28 2019 marcus.schaefer@gmail.com
  - Implement import of custom configuration file
    Instead of the system-root/etc/sle-migration-service file which
    was used to setup debugging only we now allow the custom config
    file system-root/etc/sle-migration-service.yml whose contents
    gets migrated into the existing /etc/migration-config.yml on
    the live migration host.
* Fri May 24 2019 jesus.bv@suse.com
  - optional file
* Fri May 24 2019 jesus.bv@suse.com
  - Change debug flag file to option
    Before, to stop rebooting it was needed to place a
    file as a debug flag. Now there must be a debug key option set
    in the custom file.
* Tue May 14 2019 marcus.schaefer@gmail.com
  - User documentation
    Add distribution migration system user documentation.
    - Caveats and unsupported conditions
    - Structure and content for the doc tool chain
    - Recommendation about ssh key access
    - State that clean up of /etc/issue is needed
    - Daps style for suse docs
* Mon May 06 2019 marcus.schaefer@gmail.com
  - Fixed spec file of activation package
    A %install and %build section is required otherwise the
    default contents of those sections applies which leads
    to the creation of a debuginfo setup that failed on a
    noarch package
* Thu May 02 2019 marcus.schaefer@gmail.com
  - Reference commit for SUSE maintenance
    This submission creates a reference to fate#327175 and bsc#1133919
* Thu May 02 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.29 → 0.5.30
* Thu May 02 2019 marcus.schaefer@gmail.com
  - Reference commit for SUSE maintenance
    This submission creates a reference to fate#327175 and bsc#1133919
* Thu May 02 2019 jesus.bv@suse.com
  - Update migration product key
    Change key name and structure.
    In case of not found migration_product key,
    the migration process will be aborted.
* Thu May 02 2019 marcus.schaefer@gmail.com
  - Provide MigrationConfig class
    Handling the migration configuration file deserves its own
    class to implement a clear messaging model
* Wed May 01 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.28 → 0.5.29
* Tue Apr 30 2019 marcus.schaefer@gmail.com
  - Fix reboot race condition
    The issue described here came up with the package split and
    rename of the activation package. The grub setup service
    deletes the activation package and calls grub2-mkconfig which
    deletes the migration live boot entry as well as updates grub
    to boot the migrated system. However if the activation package
    could not be removed the process ends in a boot loop. Therefore
    one part of this patch makes the removal of the migration
    packages more robust. Another part provides detailed log
    information about the removal and the grub setup in the log
    file.
    Last but not least the patch includes a refactoring of the
    umount and reboot process which offers a race condition if
    the grub-setup service has failed. The patch here also
    Delete the umount service and put the code in the reboot
    service. Only on reboot we umount the system. In case of
    debugging we want to have full access to the root of the
    system that should have become migrated. In addition the
    systemd dependency chain for the kernel-load vs. reboot
    service was racy and got fixed by a clear dependency
    for grub-setup -> kernel-load -> reboot
* Tue Apr 30 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.27 → 0.5.28
* Tue Apr 30 2019 marcus.schaefer@gmail.com
  - Fixed deletion of activation package
    Due to the split of the services package the activation
    package name is target specific and needs to be matched
    by a pattern
* Mon Apr 29 2019 marcus.schaefer@gmail.com
  - Split activation package from services
    From a release process it doesn't make sense to keep the activation
    script as a sub package of the services. The reason is because the
    suse-migration-services package will be released to the migration
    target distribution and the activation package will be released to
    the migration start distribution. Thus the code is relevant on
    different distributions and it is not useful to maintain that in
    one package. This Fixes #74
* Wed Apr 24 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.26 → 0.5.27
* Wed Apr 24 2019 marcus.schaefer@gmail.com
  - Fixed network requirement
    To come up with a race free network start the setup-host-network
    service has to be called after network.target. This ensures the
    wicked service is already active. An active wicked service allows
    for a reload of the network service. The setup-host-network
    service overmounts /etc/sysconfig/network and reloads the network
    service. That tells the running wicked service to elaborate
    over the new ifcfg configurations and updates the network status.
    In the prepare unit we require the network-online target which
    makes sure it operates only on an online network.
* Fri Apr 12 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.25 → 0.5.26
* Thu Apr 11 2019 marcus.schaefer@gmail.com
  - Fix network setup service
    The network setup service for the migration inherits the
    network as it is configured on the system to become migrated.
    As part of that process the network is restarted through
    systemctl. However this is a problem because it interferes
    with the network service dependency chain. This could result
    in a failed network startup depending on how fast other
    services e.g dbus are up and running. So the way we do it
    causes a race condition. This commit deletes the network
    startup from our network setup service. Our network setup
    service runs by definition of the unit file before the
    network.target. This means at the time the network service
    activates the network our setup routine is already done and
    a normal network startup should be guaranteed.
* Wed Apr 10 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.24 → 0.5.25
* Wed Apr 10 2019 marcus.schaefer@gmail.com
  - Make sure /var/lib/cloudregister exists
    At cloud registration time information about the SMT/RMT server
    is provided below /var/lib/cloudregister. For migration it's
    required to bind mount this path from the system to become
    migrated into the live migration system.
* Tue Apr 09 2019 marcus.schaefer@gmail.com
  - Support new cloud regionsrv client
    The new cloud region service client comes with a plugin for
    zypper that translates repo URIs into a specific plugin format
    such that it's no longer possible to gain access to the SLES
    repositories of our public cloud infrastructure by playing
    tricks with snapshotting an on-demand instance without the
    billingtag. However the new and fancy way makes migration of
    such a system more difficult because the new repo URI format
    must be known to zypper migration. This requires all software
    components to be provided in the live migration image which
    has been done in the image description but furthermore requires
    that the cloud specific /etc/regionserverclnt.cfg and the
    contents of /usr/lib/zypp/plugins from the system to migrate
    are available in the migration live image. The later is
    implemented in this commit and Fixes #69
* Tue Mar 26 2019 jesus.bv@suse.com
  - Bump version: 0.5.23 → 0.5.24
* Tue Mar 26 2019 jesus.bv@suse.com
  - Fix pattern for initrd
    Some images have an extra boot partition,
    so there are grub files with '/vmlinuz'
    and we need to handle that case.
* Mon Mar 25 2019 jesus.bv@suse.com
  - Bump version: 0.5.22 → 0.5.23
* Fri Mar 22 2019 jesus.bv@suse.com
  - Copy kernel and initrd for access
    It copies the files in-memory so kexec can access them
    once root-path gets umounted.
    Fixes #65
* Thu Mar 21 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.21 → 0.5.22
* Thu Mar 21 2019 marcus.schaefer@gmail.com
  - Fixed dependency for reboot service
    The reboot service must be called after mount-service and
    after umount-service. The mount-service handles the setup
    of the debug flag. If the reboot service is too fast the
    debug flag setup is not respected
* Thu Mar 21 2019 marcus.schaefer@gmail.com
  - Fixed logging to logfile
    The setup of the logfile has to be done on each service
    at import time. Each service is an extra python call
    done by systemd. The setup of the logfile needs to be done
    as an initializer for any unit invocation
* Thu Mar 21 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.20 → 0.5.21
* Thu Mar 21 2019 marcus.schaefer@gmail.com
  - Added systemctl status output to logfile
    As part of the reboot service add the systemctl status information
    collected up to that point into the logfile.
* Thu Mar 21 2019 marcus.schaefer@gmail.com
  - Fixed log reference in console log service
    The systemd unit file was still pointing to the old file
    name but that has changed to var/log/distro_migration.log
* Thu Mar 21 2019 marcus.schaefer@gmail.com
  - Initialize logging and debug as early as possible
    The earliest opportunity to setup the log file and the
    debug flag is directly after the mount-system code has
    successfully mounted the target to migrate. At this point
    we should init the logfile and also the debugging if
    needed. The code before this commit has potential to
    not even reach the log/debug setup. With this commit
    the only requirement is a successful mount of the target
    system.
* Wed Mar 20 2019 jesus.bv@suse.com
  - Add option to handle file conflicts
    In the scenario where there are packaging bugs,
    this option install packages even if they
    replaces files from other packages.
    Fixes #58
* Wed Mar 20 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.19 → 0.5.20
* Wed Mar 20 2019 marcus.schaefer@gmail.com
  - Fixed handling of debug flag file
    If this file is present we want to stay in the migration system
    no matter what happened. This is urgently required to keep us
    with a way to debug the process. Current testing has shown that
    only the log file is not enough to debug the complete pipeline.
* Fri Mar 15 2019 jesus.bv@suse.com
  - Bump version: 0.5.18 → 0.5.19
* Fri Mar 15 2019 jesus.bv@suse.com
  - Add flag to handle zypper migration errors
    Zypper has extra error codes that does not necessarily have to
    stop a distribution migration.
    Fixes #52
* Thu Mar 07 2019 jesus.bv@suse.com
  - Bump version: 0.5.17 → 0.5.18
* Thu Mar 07 2019 jesus.bv@suse.com
  - Path for log file
    After reboot, if the migration has failed, the file
    /etc/issue has a message pointing to the log file.
    The path of that log file must exist inside the rebooted system.
* Tue Mar 05 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.16 → 0.5.17
* Mon Mar 04 2019 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 2019 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 Mar 01 2019 jesus.bv@suse.com
  - Bump version: 0.5.15 → 0.5.16
* Wed Feb 20 2019 jesus.bv@suse.com
  - Right path for debug file
    Copy debug file in a different path so reboot code
    can read that location in case of debugging.
* Tue Feb 19 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.14 → 0.5.15
* Wed Feb 13 2019 jesus.bv@suse.com
  - Reboot system after migration unless debug
    The migration process will reboot the system whether it has succeeded or not
    unless there is a file indicating not to reboot.
    Fixes #48
* Tue Feb 12 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.13 → 0.5.14
* Mon Feb 11 2019 jesus.bv@suse.com
  - Report migration error in /etc/issue
    In order to be able to reboot and still report errors in case the migration fails,
    the error will be reported in a log file (/var/log/distro_migration.log).
    The message and log file name to check will be indicated in /etc/issue.
    Fixes #47
* Fri Feb 08 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.12 → 0.5.13
* Fri Feb 08 2019 jesus.bv@suse.com
  - Rename migration log file
    As zypper is part of the process but not the only
    component, 'zypper_migration.log' does not describe it properly.
* Fri Jan 25 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.11 → 0.5.12
* Fri Jan 25 2019 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.
* Tue Jan 22 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.10 → 0.5.11
* Thu Jan 17 2019 jesus.bv@suse.com
  - Detection of baseproduct
    Find the .prod files inside /etc/products.d
    which does not contain a flavor tag.
    Remove the target registration in that .prod file.
* Wed Jan 16 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.9 → 0.5.10
* Wed Jan 16 2019 marcus.schaefer@gmail.com
  - Revert/Refactor distro_target handling
    zypper implements a handling for the distro_target attribute.
    If present in the repository metadata, zypper compares the
    value with the baseproduct <target> setup in /etc/products.d.
    If they mismatch zypper refuses to create the repo. In the
    process of a migration from distribution [A] to [B] this mismatch
    always applies by design and prevents the zypper migration plugin
    to work. In SCC or RMT the repositories doesn't contain the
    distro_target attribute which is the reason why we don't see
    this problem there. SMT however creates repos including
    distro_target.
    The refactored workaround solution is now to delete the target
    specification in the baseproduct registration if present, because
    the overlay mounting of etc/products.d did not work as it would
    lead to a wrong upgrade path on response from SCC.
    In addition a backup of the original products.d data is created
    and used in the zypper migration plugin in case of an error
* Wed Jan 16 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.8 → 0.5.9
* Tue Jan 15 2019 marcus.schaefer@gmail.com
  - Added comments to explain the driver of the change
* Tue Jan 15 2019 marcus.schaefer@gmail.com
  - Added product setup service
    During migration etc/products is a bind mounted location
    to handle the distro_target issue. At the end of a successful
    migration the data written to that location must be synced
    into the migrated system. This task is done by the product
    service
* Tue Jan 15 2019 marcus.schaefer@gmail.com
  - Handle distro_target
    Long time ago zypper added a distro_target information into
    the repository file and matches those with the product
    information of the system. If the distro doesn't match
    zypper refused to create the repository. In the migration
    process using SMT this caused the zypper migration plugin
    to fail because zypper never created repositories. That's
    because in a migration process the repository and the
    system to migrate never match. Therefore we bind mount
    the /etc/products.d information from the migration live
    system into the /system-root of the system to become
    migrated. At the end of a successful migration the new
    product information is copied to the migrated system
* Tue Jan 15 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.7 → 0.5.8
* Tue Jan 15 2019 marcus.schaefer@gmail.com
  - Fixed handling of os.listdir result
    os.listdir only returns the names of the files in the
    directory. Thus the file reference in the subsequent
    copy call was wrong.
* Tue Jan 15 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.6 → 0.5.7
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Import certificates
    Copy certificates from /usr/share/pki/trust/anchors of the
    system to become migrated into the live migration system
    and update the certificate pool. This Fixes #37
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.5 → 0.5.6
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Fixed console log service
    The systemd unit file was missing an install target
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.4 → 0.5.5
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Changed service type for console logger
    Move to simple type service and set a restart policy.
    The way the console logger was started before caused
    a stop of the service as soon as the kernel or some
    other program logs information on the console. However
    during migration we want the console logger to be
    actively occupy the console such that it's clear a
    migration process is currently running
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.3 → 0.5.4
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Fixed console log service
    Allow to start console log at any time. Make sure it starts
    after prepare but do not require prepare as it causes the
    prepare service to be called again.
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.2 → 0.5.3
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Update prepare service on hosts file
    In the cloud the translation from a name into an IP might also
    be configured via the static etc/hosts file. In case of SUSE's
    public cloud infrastructure the connected smt server is
    configured that way at registration time. For the migration
    process this means that this information must be present otherwise
    the host to upgrade cannot be resolved.
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Don't truncate migration log file
    If the zypper based migration process runs it truncates the
    so far written logfile information. We want to keep all logging
    data, thus the zypper call has to append information to the
    existing log file and not overwrite them.
* Mon Jan 14 2019 marcus.schaefer@gmail.com
  - Fixed executable path in console log service
    systemd requires an absolute path to the called program.
    This patch fixes the path to the dialog program such
    that systemd calls it
* Fri Jan 11 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.1 → 0.5.2
* Tue Jan 08 2019 jesus.bv@suse.com
  - Mount kernel file systems inside /system-root
    The file systems were previously mounted in grub
    service but because the migration service needs to
    have access proc, dev and sys inside system-root
    (e.g. when updating the bootloader) they are mounted
    in an earlier step. There is no need to mount them
    again in grub. They are unmounted properly before
    rebooting.
    This Fixes #32
* Mon Jan 07 2019 marcus.schaefer@gmail.com
  - Bump version: 0.5.0 → 0.5.1
* Sun Dec 30 2018 marcus.schaefer@gmail.com
  - Fix log file initialization
    We agreed on writing the log file into the root filesystem
    of the system to migrate. This implies that the first time
    to initialize this log file is in the prepare service
    after the mount system service has succeeded. Calling
    set_logfile in the mount system service before the system
    got mounted is the wrong place. This patch fixes this
    and also improves the unit test for this condition.
* Wed Dec 19 2018 marcus.schaefer@gmail.com
  - Bump version: 0.4.3 → 0.5.0
* Tue Dec 18 2018 jesus.bv@suse.com
  - Migration file (#30)
    * Add migration file
    This file is used to document the migration process inside the system.
    * Add logging for the services
* Tue Dec 11 2018 marcus.schaefer@gmail.com
  - Require dialog package in spec file
* Tue Dec 11 2018 marcus.schaefer@gmail.com
  - Added zypper migration console logging
    If the migration process starts the console should show a
    progress information. We use a dialog tailbox which shows
    the output of the zypper migration plugin while it runs.
    The output is processed using a systemd service connected
    to the console. In addition the log file
    var/log/zypper_migrate.log
    Is created inside of the system which gets migrated. This
    allows for later inspection of what the migration plugin
    did. This Fixes #27
* Fri Dec 07 2018 marcus.schaefer@gmail.com
  - Bump version: 0.4.2 → 0.4.3
* Fri Dec 07 2018 marcus.schaefer@gmail.com
  - Fixed typo in spec file
    syse vs. suse
* Fri Dec 07 2018 marcus.schaefer@gmail.com
  - Bump version: 0.4.1 → 0.4.2
* Fri Dec 07 2018 marcus.schaefer@gmail.com
  - Fixed spec file
    Missing installation of ssh service systemd unit file
* Fri Dec 07 2018 marcus.schaefer@gmail.com
  - Bump version: 0.4.0 → 0.4.1
* Wed Dec 05 2018 jesus.bv@suse.com
  - Provide ssh access
    Copy the authorized key files into the authorized key file
    of migration user to be able to access through ssh.
    This checks in /home and /root paths.
    Fixes #26
* Wed Dec 05 2018 jesus.bv@suse.com
  - Proper class name for test
* Thu Nov 29 2018 marcus.schaefer@gmail.com
  - Bump version: 0.3.6 → 0.4.0
* Wed Nov 28 2018 marcus.schaefer@gmail.com
  - Refactor reboot system
    The system gets rebooted via kexec or if failed by a hard reboot.
    For kexec it's required to load kernel, initrd and boot parameters
    from the migrated system. Thus the kexec load must be done before
    umount of the system and the actual reboot after umount of the
    system. Therefore this patch splits the kernel-reboot service
    into two services, whereas the umount service will be called
    in between of them.
* Wed Nov 28 2018 marcus.schaefer@gmail.com
  - Fixup ExecStart in kernel reboot service
    The binary is named suse-migration-kernel-reboot not
    suse-migration-kernel-load
* Wed Nov 28 2018 marcus.schaefer@gmail.com
  - Bump version: 0.3.5 → 0.3.6
* Wed Nov 28 2018 marcus.schaefer@gmail.com
  - Fixed removal of suse-migration-activation
    A simple rpm -e call leads to an error because the package
    depends on the master package providing the image. Thus it's
    better to instruct zypper to remove the package including its
    dependencies
* Wed Nov 28 2018 marcus.schaefer@gmail.com
  - Fixed invocation of Command.run
    Use of unexpected keyword argument
* Wed Nov 28 2018 marcus.schaefer@gmail.com
  - Fixed kexec reboot kernel and grub lookup
    In the reboot service the kernel files and the grub config
    was not searched in the root of the migrated system but in
    the root of the migration live system, which is the wrong
    place.
* Wed Nov 28 2018 marcus.schaefer@gmail.com
  - Fixed kernel reboot service
    The unit requirements and dependencies were set wrong
* Tue Nov 27 2018 marcus.schaefer@gmail.com
  - Bump version: 0.3.4 → 0.3.5
* Tue Nov 27 2018 jesus.bv@suse.com
  - Update target for uninstall
    Set the target properly to uninstall package suse-migration-activation.
    Fixes #17
* Mon Nov 26 2018 marcus.schaefer@gmail.com
  - Bump version: 0.3.3 → 0.3.4
* Mon Nov 26 2018 jjesusbv@gmail.com
  - Add kexec-tools (#16)
    * Add kexec-tools
    This is nedded for rebooting the migrated system
    with the new kernel.
* Sun Nov 25 2018 jesus.bv@suse.com
  - Uninstall suse-migration-activation
    The new grub menu should not have this entry.
    This solves issue #12
* Fri Nov 23 2018 marcus.schaefer@gmail.com
  - Bump version: 0.3.2 → 0.3.3
* Fri Nov 23 2018 marcus.schaefer@gmail.com
  - Set the Migration boot entry to be the default
    In addition set the boot timeout to 1sec
* Thu Nov 22 2018 jesus.bv@suse.com
  - Refactor get_cmdline
    More generic parameter name and better search
    of target kernel command line options.
* Thu Nov 22 2018 marcus.schaefer@gmail.com
  - Bump version: 0.3.1 → 0.3.2
* Wed Nov 21 2018 jesus.bv@suse.com
  - Add kexec reboot service
* Wed Nov 21 2018 marcus.schaefer@gmail.com
  - Added grub config extension to activate migration
    Provide /etc/grub.d/99_migration plugin which causes
    the creation of a Migration grub menu entry. In addition
    the package build was cleaned up and extended by a new
    sub-package suse-migration-activation which provides
    that grub config plugin.
* Wed Nov 21 2018 marcus.schaefer@gmail.com
  - Remount system root if booted via grub loopback
    if the system to become migrated was booted via a grub
    loopback menuentry, the disk is blocked by that readonly
    loopback mount and needs to be remounted for read write
    access first
* Mon Nov 19 2018 marcus.schaefer@gmail.com
  - Bump version: 0.3.0 → 0.3.1
* Mon Nov 19 2018 marcus.schaefer@gmail.com
  - Hotfix fstab export method
    Put newline at the end of each fstab entry
* Fri Nov 16 2018 marcus.schaefer@gmail.com
  - Bump version: 0.2.1 → 0.3.0
* Fri Nov 16 2018 jesus.bv@suse.com
  - Resolve the mount stack in reverse order
* Fri Nov 16 2018 jesus.bv@suse.com
  - Remove variable
* Fri Nov 16 2018 jesus.bv@suse.com
  - Cleanup of mounted paths
* Thu Nov 15 2018 jesus.bv@suse.com
  - Mount sys
* Thu Nov 15 2018 jesus.bv@suse.com
  - Test add entry of services calls
* Thu Nov 15 2018 jesus.bv@suse.com
  - Store service calls
* Thu Nov 15 2018 jesus.bv@suse.com
  - Make one call
* Thu Nov 15 2018 jesus.bv@suse.com
  - Add dependencies
* Thu Nov 15 2018 jesus.bv@suse.com
  - Specific service names
* Wed Nov 14 2018 marcus.schaefer@gmail.com
  - Umount service must run after grub-setup service
* Wed Nov 14 2018 marcus.schaefer@gmail.com
  - Refactor mount path handling
    Instead of duplicating code in the cleanup service make sure
    all services which mounts a location updates the mount meta
    data file /etc/system-root.fstab. The cleanup service in the
    end just reverse reads that file and umounts all locations
* Wed Nov 14 2018 jesus.bv@suse.com
  - Update grub file to migrated version
* Wed Nov 14 2018 rjschwei@suse.com
  - - Fix typo in doc string
* Wed Nov 14 2018 marcus.schaefer@gmail.com
  - Added umount service
    The umount service cleans up the migration host such that
    no active mount reference into the migrated systems exists
    anymore and we are safe to reboot
* Tue Nov 13 2018 marcus.schaefer@gmail.com
  - Bump version: 0.2.0 → 0.2.1
* Tue Nov 13 2018 jesus.bv@suse.com
  - Fix agree-licenses test
* Tue Nov 13 2018 jesus.bv@suse.com
  - Fix agree-licenses option typo
* Tue Nov 13 2018 marcus.schaefer@gmail.com
  - Bump version: 0.1.2 → 0.2.0
* Tue Nov 13 2018 marcus.schaefer@gmail.com
  - Use --non-interactive flag
    Instead of pre selecting a menu index use the non
    interactive flag and make the code more robust
* Mon Nov 12 2018 marcus.schaefer@gmail.com
  - Added zypper migration service
    The service which actually runs the zypper migration plugin.
    The service is called after the preparation step has completed
    successfully
* Tue Oct 23 2018 marcus.schaefer@gmail.com
  - Bump version: 0.1.1 → 0.1.2
* Tue Oct 23 2018 marcus.schaefer@gmail.com
  - make sure to restart the network actively
* Tue Oct 23 2018 marcus.schaefer@gmail.com
  - Bump version: 0.1.0 → 0.1.1
* Mon Oct 22 2018 marcus.schaefer@gmail.com
  - The presence of /etc/SUSEConnect is optional
    Do not fail the prepare service if there is no /etc/SUSEConnect
    file available on the system to become migrated. Copy the
    file if present and just continue otherwise
* Tue Oct 16 2018 marcus.schaefer@gmail.com
  - Bump version: 0.0.1 → 0.1.0
* Mon Oct 15 2018 marcus.schaefer@gmail.com
  - Added prepare service
    The prepare service runs the preparation tasks for systemd
    to perform the migration. This includes the import of the
    SUSEConnect configuration from the host as well as the
    bind mount of the zypp metadata
* Mon Oct 15 2018 marcus.schaefer@gmail.com
  - Added setup host network service
    Added service to activate the migration host system network
* Wed Oct 10 2018 marcus.schaefer@gmail.com
  - Implement mount_system service
    The mount_system service looks for existing disk partitions
    and for an fstab file on that partitions. The first partition
    found with an fstab file is considered the system to upgrade.
    The fstab file is read in and mounted /system-root
    in the order of the fstab entries
* Wed Oct 10 2018 marcus.schaefer@gmail.com
  - Activate travis Ci
* Wed Oct 10 2018 marcus.schaefer@gmail.com
  - Added command and path helper classes

Files

/usr/share/suse_migration_services
/usr/share/suse_migration_services/network_pre.functions


Generated by rpm2html 1.8.1

Fabrice Bellet, Sat Jan 17 22:30:26 2026