From Fedora Project Wiki

(Drop reference to f29/f30)
m (Minor spelling/grammatical fixes)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Description =
= Description =
A simple validation test case for rebasing to other versions of Fedora IoT.
A simple validation test case for rebasing to other versions of an rpm-ostree-based Fedora install.


= Setup =
= Setup =
This testcase can be run on either an image or installation, on hardware or in virtualization.
This testcase can be run on either an image or installation, on hardware or in virtualization. Just ensure you have an rpm-ostree-based Fedora system installed (e.g. IoT, CoreOS, Silverblue or Kinoite).


= How to test =
= How to test =
List available branches:
List available branches. On IoT, it will look something like this:
<pre>
<pre>
$ sudo ostree remote refs fedora-iot
$ sudo ostree remote refs fedora-iot
Line 20: Line 20:
fedora-iot:fedora/stable/x86_64/iot
fedora-iot:fedora/stable/x86_64/iot
</pre>
</pre>
Rebase to the stable branch (if testing stable rebase to rawhide):
On other flavors, run {{command|sudo ostree remote refs fedora}} instead. The list will be much longer. Now, pick a target to rebase to. For IoT, if you are currently on {{code|fedora/devel/(arch)/iot}}, consider rebasing to {{code|fedora/stable/(arch)/iot}}; if you are on stable, consider rebasing to devel. For CoreOS, if you are currently on {{code|fedora/(arch)/coreos/stable}}, consider rebasing to {{code|fedora/(arch)/coreos/testing}}, and vice versa. For Silverblue or Kinoite, you will be on {{code|fedora/(version)/(arch)/silverblue}} or {{code|fedora/(version)/(arch)/kinoite}}; rebase to a different version number. We will use the IoT "rebase-to-stable" case as an example; adjust the instructions as appropriate for other cases. The instructions use {{code|$(uname -m)}} to determine the correct architecture - put that text wherever the architecture should appear, or enter the correct architecture manually instead.
<pre>
<pre>
$ sudo rpm-ostree rebase fedora/stable/$(uname -m)/iot
$ sudo rpm-ostree rebase fedora/stable/$(uname -m)/iot
Line 28: Line 28:
$ sudo systemctl reboot
$ sudo systemctl reboot
</pre>
</pre>
Verify that the rebase was successful:
Verify that the rebase was successful - the first listed deployment should be the target you chose, in this case fedora/stable:
<pre>
<pre>
$ rpm-ostree status
$ rpm-ostree status
Line 51: Line 51:
systemctl reboot
systemctl reboot
</pre>
</pre>
Verify rollback was successful:
Verify rollback was successful - now the first listed deployment should be what you started with, in this case fedora/devel:
<pre>
<pre>
$ sudo rpm-ostree status
$ sudo rpm-ostree status
Line 70: Line 70:
</pre>
</pre>


= Results=
= Results =
# Rebase to stable branch successful.
# Rebase to target branch successful.
# Rollback to devel branch successful.
# Rollback to original branch successful.


[[Category:IoT_Acceptance_Test_Cases]]
[[Category:IoT_Acceptance_Test_Cases]]
[[Category:Base_Acceptance_Test_Cases]]

Latest revision as of 04:11, 24 September 2024

Description

A simple validation test case for rebasing to other versions of an rpm-ostree-based Fedora install.

Setup

This testcase can be run on either an image or installation, on hardware or in virtualization. Just ensure you have an rpm-ostree-based Fedora system installed (e.g. IoT, CoreOS, Silverblue or Kinoite).

How to test

List available branches. On IoT, it will look something like this:

$ sudo ostree remote refs fedora-iot

fedora-iot:fedora/devel/aarch64/iot
fedora-iot:fedora/devel/armhfp/iot
fedora-iot:fedora/devel/x86_64/iot
fedora-iot:fedora/rawhide/aarch64/iot
fedora-iot:fedora/rawhide/armhfp/iot
fedora-iot:fedora/rawhide/x86_64/iot
fedora-iot:fedora/stable/aarch64/iot
fedora-iot:fedora/stable/armhfp/iot
fedora-iot:fedora/stable/x86_64/iot

On other flavors, run sudo ostree remote refs fedora instead. The list will be much longer. Now, pick a target to rebase to. For IoT, if you are currently on fedora/devel/(arch)/iot, consider rebasing to fedora/stable/(arch)/iot; if you are on stable, consider rebasing to devel. For CoreOS, if you are currently on fedora/(arch)/coreos/stable, consider rebasing to fedora/(arch)/coreos/testing, and vice versa. For Silverblue or Kinoite, you will be on fedora/(version)/(arch)/silverblue or fedora/(version)/(arch)/kinoite; rebase to a different version number. We will use the IoT "rebase-to-stable" case as an example; adjust the instructions as appropriate for other cases. The instructions use $(uname -m) to determine the correct architecture - put that text wherever the architecture should appear, or enter the correct architecture manually instead.

$ sudo rpm-ostree rebase fedora/stable/$(uname -m)/iot

Once completed, reboot into the branch:

$ sudo systemctl reboot

Verify that the rebase was successful - the first listed deployment should be the target you chose, in this case fedora/stable:

$ rpm-ostree status
State: idle
AutomaticUpdates: disabled
Deployments:
● ostree://fedora-iot:fedora/stable/x86_64/iot
                   Version: 30.20190921.0 (2019-09-21T18:44:54Z)
                    Commit: ff81204a37c34999f9e19c05e29a23c076fb3c1dc394cc2b6a3a3f0f32af158e
              GPGSignature: Valid signature by C2A3FA9DC67F68B98BB543F47BB90722DBBDCF7C

  ostree://fedora-iot:fedora/devel/x86_64/iot
                   Version: 31.20190925.0 (2019-09-25T14:30:38Z)
                    Commit: 8f28d65fa990add14ccf56c00c458e9d6a4af478bbeb4cc566903ad0c14a443f
              GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4

Rollback to the previous branch:

$ sudo rpm-ostree rollback
Moving '8f28d65fa990add14ccf56c00c458e9d6a4af478bbeb4cc566903ad0c14a443f.0' to be first deployment
...
systemctl reboot

Verify rollback was successful - now the first listed deployment should be what you started with, in this case fedora/devel:

$ sudo rpm-ostree status
...
State: idle
AutomaticUpdates: disabled
Deployments:
● ostree://fedora-iot:fedora/devel/x86_64/iot
                   Version: 31.20190925.0 (2019-09-25T14:30:38Z)
                    Commit: 8f28d65fa990add14ccf56c00c458e9d6a4af478bbeb4cc566903ad0c14a443f
              GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4

  ostree://fedora-iot:fedora/stable/x86_64/iot
                   Version: 30.20190921.0 (2019-09-21T18:44:54Z)
                    Commit: ff81204a37c34999f9e19c05e29a23c076fb3c1dc394cc2b6a3a3f0f32af158e
              GPGSignature: Valid signature by C2A3FA9DC67F68B98BB543F47BB90722DBBDCF7C

Results

  1. Rebase to target branch successful.
  2. Rollback to original branch successful.