Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
SUSE Linux Enterprise Server 11 SP4

Automated Upgrade from SUSE Linux Enterprise Server 10 SP3 to 11 SP1

SUSE Linux Enterprise Server 11 SP4

The following procedure is a way to do a mass upgrade unattended from SUSE Linux Enterprise Server 10 SP3 to SUSE Linux Enterprise Server 11 SP1. Several preparation steps are needed to create a suitable AutoYaST profile. AutoYaST finally will execute the upgrade process.

Publication Date: 09/24/2021

1 Preparing and Applying the Driver Update Disk (DUD)

The unattended_upgrade_dud package contains the Driver Update Disk (DUD); when installed, find it at /var/adm/unattended_migration.dud. This file contains all changes, which are needed for the unattended upgrade workflow. Install the unattended_upgrade_dud package to get access to the DUD. You do not need to install it on all the machines, which you intend to upgrade.

You can use the DUD as follows, alternatively:

1.1 Modify Contents of the Installation Source (Repository)

Applicable on: x86, x86_64, System z

Append the DUD to the end of the installation initrd. The installation initrd is located at /boot/architecture/loader/initrd on the first DVD. Either use an ISO editor to update the ISO image or modify the initrd in your network installation environment. To adapt the initrd, run (use the correct path for your installation initrd):

cat /var/adm/unattended_migration.dud >>/path/to/your/installation/initrd
Warning
Warning: Modified initrd Runs Unattended Upgrade Automatically

Such an updated installation initrd will automatically run the unattended upgrade and will not be capable of doing any other method of upgrade or (auto)installation.

1.2 Provide an Additional Kernel Parameter

Applicable on: x86, x86_64, POWER, Itanium System z

This way, there is no need to modify the installation source at all. You just must add an additional kernel parameter, which will point linuxrc to the DUD. At the boot prompt or in PXE boot menu add (replace the URI with correct one in your network infrastructure):

dud=ftp://host/directory/dud.dud

On System z, you must add the parameters to the PARM file; proceed the same way as you do when performing an AutoYaST-driven installation.

Note
Note

You may be asked to confirm the DUD, if it is comming from an unsafe installation source (repository). You can add the insecure=1 boot parameter to the installation kernel to disable all cryptographical checking normally done by Linuxrc. For more information about Linuxrc, see http://en.opensuse.org/SDB:Linuxrc.

2 GRUB Menu Section for Booting into the Upgrade

An alternate way to boot the system is to create an additional section in the GRUB menu (similar for other architectures), which starts the installation. The following example assumes that there is a separate /boot partition, which is referred in GRUB as (hd0,0):

title Upgrade
    root (hd0,0)
    kernel /upgrade/vmlinuz install=inst_source_url vga=0x314
    initrd /upgrade/initrd

The above example assumes that the installation kernel and the updated initrd (see Section 1.1, “ Modify Contents of the Installation Source (Repository)”) are located in the /boot/upgrade directory. If the initrd is not updated, just append the dud= parameter. On System z, you must add the parameters to the PARM file—proceed the same way as you do when performing an AutoYaST-driven installation.

3 Preparing the AutoYaST Profile

The AutoYaST profile for the automated upgrade uses the same file format as the AutoYaST installation. For more information about AutoYaST, see the Deployment Guide and the AutoYaST Guide.

However, for obvious reasons, there are some parts of the system (e.g., partitioning) that do not make sense to be configured during the upgrade. On the other hand, it is useful to set upgrade-specific options by means of the AutoYaST profile.

3.1 Upgrade

The upgrade options define the behavior of the dependency solver during upgrade:

<upgrade>
  <only_installed_packages
    config:type="boolean">false</only_installed_packages>
  <stop_on_solver_conflict
    config:type="boolean">true</stop_on_solver_conflict>
</upgrade>
only_installed_packages

Set to true for package-based upgrades (recommended for upgrading to the next service pack of the same product) or false for pattern-based upgrades (recommended for an upgrade between versions of a product, e.g. from SLES10 to SLES11).

stop_on_solver_conflict

Defines whether to show the proposal in case of failure to resolve package dependencies interactively (recommended to be set to true, but this could result in an interactive process, during which the user must to resolve the conflicts manually.

3.2 Software Selection

The software selection options define, which components to select or deselect in addition to the results of the resolver:

<software>
  <packages config:type="list">
    <package>autoyast2-installation</package>
    <package>apparmor-profile-editor</package>
  </packages>
  <patterns config:type="list">
    <pattern>base</pattern>
  </patterns>
  <remove-packages config:type="list"/>
  <remove-patterns config:type="list"/>
</software>

It is especially important to set packages or patterns for being selected or deselected in order to resolve package conflicts and thus to avoid the need for interactive intervention. Once the upgrade is done, the newly created autoupg_updated.xml file contains these packages and patterns plus those that were selected or deselected for any other reason.

3.3 Backup Before Upgrade

The backup before upgrade options match these features in the upgrade proposal.

<backup>
  <sysconfig config:type="boolean">true</sysconfig>
  <modified config:type="boolean">true</modified>
  <remove_old config:type="boolean">false</remove_old>
</backup>
sysconfig

defines whether to backup sysconfig before upgrading.

modified

defines whether to backup the modified configuration files before upgrading.

remove_old

defines whether to remove old backups from previous upgrades.

3.4 Networking

To assure that the network configuration is kept during upgrade, the following needs to be added to the AutoYaST profile:

<networking>
  <keep_install_network
    config:type="boolean">true</keep_install_network>
  <start_immediately
    config:type="boolean">true</start_immediately>
</networking>

If your system contains an add-on, which needs to be upgraded, always include the add-on information as in the example. After the upgrade the system needs to be registered in order to activate the update repositories. See the example of the registration part in attached autoupg.xml.

4 Running the Automated Upgrade

To start the automated upgrade, you must boot the installation media with the DUD applied and pass the AutoYaST profile to it. There are two ways to pass the profile to the system:

  • Pass the profile to the kernel command line the same way as for the AutoYaST installation (use the autoyast=url parameter. For System z, this is the only possibility.

  • Before you start the upgrade, copy the profile to /root/autoupg.xml. Then there is no need for any additional kernel parameter.

The latter approach allows you to have a single installation kernel command line for even different machines—just copy the appropriate profile into its file system.

As long as you have only one SUSE Linux Enterprise Server system installed on your machine, there are no package conflicts and you did not set the profile to stop on the upgrade proposal, the complete process will be non-interactive. In case you enter the upgrade proposal, you can modify its settings for the upgrade.

After the upgrade finishes, YaST writes the /root/autoupg-updated.xml file, which contains the profile with applied software selection changes done in the proposal. This is especially useful in case of mass upgrades of machines with the same package selection. This way, conflict resolutions from one machine can easily be applied on other machines, which consequently will get these conflicts resolved automatically and the upgrade itself will be non-interactive.

If there are more SUSE Linux Enterprise Server systems installed on the machine, you will always be asked, which one to upgrade—there is no way to select it in advance.

5 Second Stage of the Upgrade

The automated upgrade by default does not perform configuration changes during the second stage of the upgrade. The only exception is network configuration, which needs to be set to be preserved in the AutoYaST upgrade profile.

If configuration adjustment of some system areas is needed after the upgrade (e.g., configuring a new service), add the relevant sections to the AutoYaST profile for the upgrade and the configuration of the selected system areas will be saved during the upgrade.

Warning
Warning: AutoYaST Supplied Configuration Replaces Exisiting Configuration

Be warned that existing configuration of that system area will be replaced and thus destroyed by the AutoYaST configuration.

Normally, the only configuration adjustment, which should be present in the AutoYaST profile, is the registration of the system with Subscription Management Tool (SMT) or Novell Customer Center (NCC). If this is missing, the system will not get the update repository and updates will not be possible—unless configured later again.

6 Limitations and Hints

6.1 NetworkManager and Registration

In case of using NetworkManager for managing network devices and network connections, network connection is not available during the second stage of the upgrade. This prevents the system from performing the registration.

6.2 Cleaning Up Upgrade Setting

If you do any changes in your system in order to trigger the upgrade process (e.g., adding a new section to the boot loader menu), you probably want to remove it after the upgrade is done.

You can do it automatically with a post-installation script. Find an example in the AutoYaST documentation at http://www.suse.com/doc/sles11/book_autoyast/data/createprofile_scripts.html. A sample script for cleaning up GRUB's menu.lst is included in the sample autoupg.xml file. Make sure that the script matches your particular setup and that it does not remove more than you actually want!

6.3 For More Information

Print this page