Contents
The following procedure is a way to do a mass upgrade unattended from SUSE Linux Enterprise 10 SP3 to SUSE Linux Enterprise 11 SP1. Several preparation steps are needed to create a suitable AutoYaST profile. AutoYaST finally will execute the upgrade process.
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:
Applicable on: x86, x86_64, System z
Append the DUD to the end of the installation
initrd
. The installation
initrd
is located at
/boot/
on the first DVD. Either use an ISO editor to update the ISO
image or modify the architecture
/loader/initrdinitrd
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
![]() | Modified initrd Runs Unattended
Upgrade Automatically |
---|---|
Such an updated installation
|
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.
![]() | |
You may be asked to confirm the DUD, if it is comming from an
unsafe installation source (repository). You can add the
|
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 22.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.
The AutoYaST profile for the automated upgrade uses the same file format as the AutoYaST installation. For more information about AutoYaST, see Chapter 21, Automated Installation and the external AutoYaST documentation at http://www.suse.de/~ug/autoyast_doc/index.html.
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.
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.
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.
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.
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.
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=
parameter. For System z, this is the only possibility.
url
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 filesystem.
As long as you have only one SUSE Linux Enterprise 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 systems installed on the machine, you will always be asked, which one to upgrade—there is no way to select it in advance.
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.
![]() | 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.
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.
If you do any changes in your system in order to trigger the upgrade process (e.g., adding a new section to the bootloader menu), you probably want to remove it after the upgrade is done.
You can do it automatically with a post-installation script. Find
an examples in the AutoYaST documentation at http://www.suse.de/~ug/autoyast_doc/createprofile.scripts.html.
A sample script cleaning up GRUB's menu.lst
is
included in the sample autoupg.xml
file. Make
sure that the script matches your particular set-up and that it does
not remove more than you actually want!
Update Media How-To: http://ftp.suse.com/pub/people/hvogel/Update-Media-HOWTO/index.html
Linuxrc Documentation: http://en.opensuse.org/SDB:Linuxrc