ic icon indicating copy to clipboard operation
ic copied to clipboard

ci: Enable interactive testing and inspection of the SetupOS installer.

Open DFINITYManu opened this issue 1 year ago • 1 comments

This new testing feature permits the execution of a SetupOS installer in two modes:

  1. Automatic install then reboot to HostOS.
  2. Interactive debug without install.

This only works in the dev environment established by Bazel.

This feat is accomplished by the addition of the following variants:

  • //ic-os/setupos/envs/dev:interactive-install for installation (with -no-kvm for scenarios where no acceleration exists)
  • //ic-os/setupos/envs/dev:interactive-debug for no-install inspection of SetupOS (same -no-kvm availability)

To enable this to work with higher performance, we create a new disk image variant that does not tarball the SetupOS image.

Copying the image to the temporary directory is near instantaneous since various kernel optimizations at play using cp kick in that do not kick in when using tar x.

Total time in my ThinkPad (without KVM acceleration) for the whole install + reboot + boot to HostOS + login + poweroff is:

real    7m31.450s
user    6m16.889s
sys     0m17.826s

The change deletes the launch-* targets in the dev environment of SetupOS, since these targets are non-functional to begin with (the system boots but promptly fails). The targets outlined above provide a superior substitute to the targets being deleted here.

This PR rides atop this other PR: https://github.com/dfinity/ic/pull/2077

DFINITYManu avatar Oct 17 '24 15:10 DFINITYManu

This PR rides atop this other PR: https://github.com/dfinity/ic/pull/2077

Could you point the merge target to this PR? GitHub should automatically switch to master once the underlying PR merges, and it will make it more clear which changes are expected to be reviewed for each PR.

Bownairo avatar Oct 23 '24 21:10 Bownairo

This PR rides atop this other PR: #2077

Could you point the merge target to this PR? GitHub should automatically switch to master once the underlying PR merges, and it will make it more clear which changes are expected to be reviewed for each PR.

I have done this now. There are a number of merge conflict changes I have to make.

EDIT: this has been done.

DFINITYManu avatar Nov 05 '24 11:11 DFINITYManu