From Fedora Project Wiki
Note.png
Associated release criterion
This test case is associated with the Fedora_40_Final_Release_Criteria#update-image release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion. If so, please file a bug and nominate it as blocking the appropriate milestone, using the blocker bug nomination page.


Description

This test will verify that anaconda can download and apply a updates.img that is inside the remote installation source without extra input from the user.

Setup

  1. Prepare a local installation source by mirroring Server/<arch>/os/ directory from the test compose in question.
    • You can choose to exclude Packages/ and repo*/ subdirectories. In that case it won't work as a proper repository and you'll need to instruct anaconda to use this location just for fetching its stage2 image. The command would be something like this:
      $ rsync -avzP --exclude '/Packages/' --exclude '/repo*/' --exclude '/isolinux/' --exclude '**/boot.iso' rsync://dl.phx2.fedoraproject.org/fedora-alt/stage/40_TC1/Server/x86_64/os/ mysource
    • Alternatively, you can extract Server DVD image and receive all needed files including a proper package repository (sufficient for a default installation). When extracting it, be careful that some tools might truncate long file names (the safest way is to mount it). When copying files to a different location, be sure to copy also all hidden files as well (there is .treeinfo and .discinfo in the root directory).
  2. Make the installation source accessible over one of the supported network protocols (HTTP, FTP, NFS).
  3. Prepare a valid updates.img file. There is an updates.img prepared for you in this test case. You can use it and follow the same steps to verify that it is applied. If it doesn't work or you want to use a different one, see this page for image creation instructions, and prepare your own file. A good thing to change in the image is the What language would you like to use during the installation process? text in pyanaconda/ui/gui/spokes/welcome.glade, as this text is displayed on one of the first screens.
  4. Copy the updates.img into the images/ directory of your local installation source. The file needs to be named updates.img, nothing else is recognized.
  5. Set up a PXE server or configure your VM to boot the kernel pair directly, see QA:Testcase_Boot_Methods_Pxeboot. You have mirrored vmlinuz and initrd.img earlier, they are in images/pxeboot/.

How to test

  1. Boot the installer using PXE boot with the inst.repo= option at boot directed to the modified installation source where the updates.img was published. Example:
    inst.repo=http://myserver/mysource/
    If you have excluded packages while mirroring the test compose, you need to use inst.stage2= instead. You also need to add inst.repo= option to point to a proper repository (i.e. the official published compose tree). Example:
    inst.stage2=http://myserver/mysource/ inst.repo=http://dl.fedoraproject.org/pub/alt/stage/40_TC1/Server/x86_64/os/
    See Anaconda/Options for information on supported boot options.
  2. If it's possible, visually identify that the update was applied. If you have used the prepared updates.img from this test case, follow its relevant steps to verify it applied correctly.
  3. If it's not visually possible to confirm the update was applied (there were just code changes), verify the existence of /tmp/updates directory, which should contain all updated source code files.
  4. Proceed with installation

Expected Results

  1. Anaconda downloads the updates.img and copies its content to /tmp/updates/. Any changes you included in the updates.img file are applied (image changes, text adjustments, source code changes, etc).
  2. Anaconda proceeds without related errors