Commit Graph

2564 Commits

Author SHA1 Message Date
Adam Williamson
86f0e72224 runtime-cleanup: big refresh of stale things
I based this on the output of a recent installer image build:
https://kojipkgs.fedoraproject.org/compose/branched/Fedora-33-20200904.n.0/logs/x86_64/buildinstall-Everything-logs/pylorax.log
I looked at every runtime-cleanup related error there and tried
to make appropriate changes. In many cases this means just
removing a line that isn't needed any more because the package
in question just went away or is no longer pulled into the
installer environment. In other cases packages changed name or
files moved around, and I tried to make appropriate updates. In
a few cases files moved to another package but I wasn't sure
enough it would still be safe to remove them so I just left them
in place. Most of the changes here I'm pretty sure should be
safe, though there *could* be unforeseen fallout from e.g. fixing
the removals from procps to be removals from procps-ng - it's
been years since that package was renamed, so something *could*
have started using those binaries in the meantime. I did at least
check that anaconda itself does not.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-14 09:05:34 -07:00
Brian C. Lane
a9a155ff58 Automatic commit of package [lorax] release [34.0-1].
Created by command:

/usr/bin/tito tag --keep-version
2020-09-08 11:59:45 -07:00
Brian C. Lane
92463f16cb New lorax documentation - 34.0 2020-09-08 11:59:15 -07:00
Adam Williamson
ea375ebe60 runtime-cleanup: strip a bunch of unnecessary firmwares
These are for devices that just aren't going to be needed during
install, like video encode/decode accelerators, TV capture cards,
webcams, and some sound firmwares that should probably be in
alsa-firmware but aren't. This is a fairly conservative cut, I
will split some possibly more controversial cuts into separate
commits for ease of detachment. The linux-firmware WHENCE file is
an invaluable resource in figuring this out.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-08 11:50:15 -07:00
Adam Williamson
07f3e48c28 runtime-install: specify polkit-gnome to avoid lxpolkit and GTK2
blivet-gui-runtime requires PolicyKit-authentication-agent. If
we just let dnf pick what to satisfy that requirement with, it
picks lxpolkit, which requires gtk2. Specifying polkit-gnome
instead should I think give us a smaller footprint, its deps
seem quite small.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-08 11:50:15 -07:00
Adam Williamson
3359b896d1 runtime-install: exclude gnome-firmware and sigrok-firmware
gnome-firmware is a GNOME app for installing firmwares, no use
here at all. sigrok-firmware is for signal analyzers, again, no
need for it here.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-08 11:50:15 -07:00
Adam Williamson
afa7e2af37 runtime-cleanup: Drop video playback acceleration drivers
We're not going to be playing any videos during installation, I
don't think.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-08 11:50:15 -07:00
Adam Williamson
a87f438af1 runtime-install: don't install notification-daemon
libnotify dropped the requirement just a couple of months after
this line was added, but we never took it back out again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-08 11:50:15 -07:00
Brian C. Lane
f36481c8aa Automatic commit of package [lorax] release [33.9-1].
Created by command:

/usr/bin/tito tag
2020-09-08 11:24:57 -07:00
Brian C. Lane
e1785d13b8 config_files: Update aarch64, ppc, and sparc timeouts to 60s
This makes the timeouts the same on all arches.

Fixes #1068
2020-09-01 16:28:49 -07:00
e5f50e81c3 templates: Ensure nano is installed for the runtime environment
The expectation is that all environments where an editor might be
used should ship GNU nano by default and tools should activate it
when an "editor" is requested. This change should ensure that for
the install media runtime environment.

Reference: https://fedoraproject.org/wiki/Changes/UseNanoByDefault

Resolves: rhbz#1874094
2020-09-01 11:39:35 -07:00
Brian C. Lane
47822e5932 tests: Ignore W0707 raise-missing-from warnings 2020-08-27 16:03:25 -07:00
Chris Roberts
5165beef73 Switch VMware testing env to improve stability results
Related: rhbz#1825190
2020-08-04 10:14:42 -07:00
Alexander Todorov
556fdf3020 tests: Allow skipping image build in compose sanity test
when $SKIP_IMAGE_BUILD is set the test skips 2 phases:
- start the compose again (after it has been cancelled) and
- waiting for it to finish & downloading the resulting image

This will allow to enable this test script in downstream gating
jobs.
2020-07-28 10:28:05 -07:00
Brian C. Lane
8966c675ee Automatic commit of package [lorax] release [33.8-1].
Created by command:

/usr/bin/tito tag
2020-07-23 11:19:09 -07:00
Brian C. Lane
b7e69596e3 composer-cli: Make start-ostree parent and ref optional
This changes the start-ostree command to:

compose start-ostree [--size XXXX] [--parent PARENT] [--ref REF] <BLUEPRINT> <TYPE> [<IMAGE-NAME> <PROFILE.TOML>]

Both of them are optional, and if missing a "" is passed to
osbuild-composer. Also adds more tests for all the various possible
options and removes the provider and profile arguments.
2020-07-23 10:35:10 -07:00
Brian C. Lane
d830829929 composer-cli: Add a get_arg function
This is in preperation for adding more optional arguments. Adds a
generic get_arg function, tests for it, and converts get_size to use it.
2020-07-23 10:35:10 -07:00
Alexander Todorov
cc29b99659 Set BACKEND=osbuild-composer if running that test scenario
- this will execute cli sanity tests in parallel with the other
- make sure to pass BACKED to vm.install too
- more checks in lib.sh
2020-07-23 10:20:47 -07:00
Alexander Todorov
27c4c67a59 tests: Don't check info after compose cancel with osbuild-composer
osbuild-composer doesn't remove cancelled composes and even if we
wait for the cancellation to take place the UUID is still there
and `compose info` returns an exit code of 0 instead of 1
2020-07-23 10:20:47 -07:00
Alexander Todorov
04bc5e9e86 tests: Compare blueprints as TOML objects, not strings
this is to avoid differences in ordering and white space. The same
approach is used on rhel7-extras branch.
2020-07-23 10:20:47 -07:00
Alexander Todorov
eb7748236c tests: Remove lorax-composer specific checks 2020-07-23 10:20:47 -07:00
Alexander Todorov
1c218ecbae tests: Remove compose after we're done 2020-07-23 10:20:47 -07:00
Lars Karlitski
abcbbf3194 tests: don't use beakerlib in blueprint
b/c for osbuild-composer beakerlib is not included in the
distributions we test on.
2020-07-23 10:20:47 -07:00
Lars Karlitski
123827c90a tests: don't depend on internal state of composer 2020-07-23 10:20:47 -07:00
Alexander Todorov
7b08fa8838 tests: Do not rely on example blueprints
- avoids having to modify them in the first place so less changes
  to the SUT
- will help with transition to osbuild-composer backend
- each test which needs a blueprint either declares it on its own
  (some already do this) or may use a shared blueprints from the
  tests lib dir
2020-07-23 10:20:47 -07:00
Alexander Todorov
4dd7cf8798 tests: Special case compose types for osbuild-composer
- alibaba - will be added later
- google - will be added later, low priority b/c
  GCE doesn't fully support RHEL8
- live-iso - not supported for now
- ext4 & partitioned disk - removed from osbuild-composer
2020-07-23 10:20:47 -07:00
Alexander Todorov
d68e01b7e1 tests: Don't check example blueprints if we don't have to
ATM osbuild-composer doesn't ship example blueprints
2020-07-23 10:20:47 -07:00
Alexander Todorov
14a3c8d5a7 tests: Use BACKEND env variable instead of hard-coded values
- default BACKEND to lorax-composer
- pass BACKEND everywhere we need to
2020-07-23 10:20:47 -07:00
Alexander Todorov
f1c15c67e0 tests: Disable non-cli test scenarios b/c osbuild-composer
the image building functionality is now tested by the
osbuild-composer test suite. We weren't successfull at making this
test suite work with the 2 backends so decided to disabled these
scenarios instead. In the future they will likely be deleted.
2020-07-22 08:49:25 -07:00
Brian C. Lane
52fd0f823b Automatic commit of package [lorax] release [33.7-1].
Created by command:

/usr/bin/tito tag
2020-07-20 10:23:55 -07:00
Brian C. Lane
be2c9333fc Add log entry about dracut and /proc 2020-07-17 09:38:13 -07:00
Brian C. Lane
68c26bf87b Skip creating empty /proc/modules for dracut
Creating /proc/modules just quiets one dracut warning, it doesn't
actually effect the initrd that is created.

Now that mock is being run with netsharedpath set to exclude /proc is
causes problems for running lorax inside a mock, so just remove this to
prevent a crash when it doesn't exist.

Related: rhbz#1848201
2020-07-17 09:38:13 -07:00
Vendula Poncova
c2a3b7dbf3 lorax: Install fcoe-utils
Explicitly install the fcoe-utils package on the boot.iso.
It is a weak dependency of anaconda-install-env-deps.
2020-07-17 09:21:51 -07:00
Vendula Poncova
48b268dc9e lorax: Enable swap on zram
Install the zram-generator-defaults package on the boot.iso.
2020-07-17 09:21:51 -07:00
Michel Alexandre Salim
0b9841d5f7 Fix EFI booting for ISOs generated by mkksiso
If the original ISO contains both `efiboot.img` and `macboot.img`,
the current `xorrisofs` invocation does not configure `efiboot.img`
to be bootable, only `macboot.img`.

This fix uses `>=` to compare `efimode` against `EFIBOOT`, since
`MACBOOT` implies `EFIBOOT` as well.

This is similar to the logic for `mkisofs`.

Fixes #1046.

Generated image confirmed to work, when comparing the reports:

  `xorriso -indev $PATH_TO_ISO -report_el_torito cmd`

```
❯ diff -u ~/xorriso-report-{orig,new}.log
--- /home/michel/xorriso-report-orig.log        2020-07-15 20:01:01.405289018 -0700
+++ /home/michel/xorriso-report-new.log 2020-07-15 20:01:19.183555423 -0700
@@ -1,6 +1,6 @@
--volid 'Fedora-S-dvd-x86_64-32'
--volume_date uuid '2020042219432600'
--boot_image isolinux system_area=--interval:imported_iso:0s-15s:zero_mbrpt,zero_gpt:'/home/michel/Downloads/Fedora-Server-netinst-x86_64-32-1.6.iso'
+-volid 'Fedora-32-btrfs'
+-volume_date uuid '2020071602410900'
+-boot_image isolinux system_area=--interval:imported_iso:0s-15s:zero_mbrpt,zero_gpt:'/home/michel/src/github/michel-slm/luks-kickstarts/iso/Fedora-32-WS-20200715-3.iso'
 -boot_image any partition_cyl_align=on
 -boot_image any partition_offset=0
 -boot_image any partition_hd_cyl=64
@@ -14,12 +14,6 @@
 -boot_image any load_size=2048
 -boot_image any boot_info_table=on
 -boot_image any next
--boot_image any efi_path='/images/efiboot.img'
--boot_image any platform_id=0xef
--boot_image any emul_type=no_emulation
--boot_image any load_size=11462656
--boot_image isolinux partition_entry=gpt_basdat
--boot_image any next
 -boot_image any efi_path='/images/macboot.img'
 -boot_image any platform_id=0xef
 -boot_image any emul_type=no_emulation
```

```
❯ diff -u ~/xorriso-report-{orig,new5}.log
--- /home/michel/xorriso-report-orig.log        2020-07-15 20:01:01.405289018 -0700
+++ /home/michel/xorriso-report-new5.log        2020-07-15 20:30:27.571644770 -0700
@@ -1,6 +1,6 @@
--volid 'Fedora-S-dvd-x86_64-32'
--volume_date uuid '2020042219432600'
--boot_image isolinux system_area=--interval:imported_iso:0s-15s:zero_mbrpt,zero_gpt:'/home/michel/Downloads/Fedora-Server-netinst-x86_64-32-1.6.iso'
+-volid 'Fedora-32-btrfs'
+-volume_date uuid '2020071603283100'
+-boot_image isolinux system_area=--interval:imported_iso:0s-15s:zero_mbrpt,zero_gpt:'./iso/Fedora-32-WS-20200715-5.iso'
 -boot_image any partition_cyl_align=on
 -boot_image any partition_offset=0
 -boot_image any partition_hd_cyl=64
@@ -17,7 +17,7 @@
 -boot_image any efi_path='/images/efiboot.img'
 -boot_image any platform_id=0xef
 -boot_image any emul_type=no_emulation
--boot_image any load_size=11462656
+-boot_image any load_size=11460608
 -boot_image isolinux partition_entry=gpt_basdat
 -boot_image any next
 -boot_image any efi_path='/images/macboot.img'
```

Signed-off-by: Michel Alexandre Salim <michel@michel-slm.name>
2020-07-16 08:48:58 -07:00
Alexander Todorov
0b5285a3e2 tests: Disable cloud-init status check
Fails on Fedora 32 and we are going to decommission this test
very soon, leaving only composer-cli related tests here. All image
building and verification tasks are already in the osbuild-composer
test suite!
2020-07-10 08:36:19 -07:00
Brian C. Lane
c080180885 Automatic commit of package [lorax] release [33.6-1].
Created by command:

/usr/bin/tito tag
2020-06-18 11:54:13 -07:00
Brian C. Lane
e91e38e29c lorax.spec: Add psmisc for fuser debugging of failed umounts in pylorax.imgutils
Fixes #1016
2020-06-18 11:53:18 -07:00
Brian C. Lane
03ff3bb53a composer-cli: Disable retry counter on connection timeout
urllib3 has a retry system that send the request again when the
connection fails, times out, is redircted, etc. This turns off retries,
which aren't very useful anyway.
2020-06-17 09:52:49 -07:00
Brian C. Lane
65d7397cf2 composer-cli: Change timeout to 5 minutes
In some cases osbuild-composer with an empty cache can take longer than
a minute to depsolve and start a compose.
2020-06-16 16:36:42 -07:00
Brian C. Lane
261e5af463 Automatic commit of package [lorax] release [33.5-1].
Created by command:

/usr/bin/tito tag
2020-06-11 09:45:07 -07:00
Brian C. Lane
432a558ad6 lorax-composer: Add deprecation notice to documentation
Related: rhbz#1844649
2020-06-11 09:37:12 -07:00
Brian C. Lane
bf1be846e5 composer-cli: Return a better error with no value
And add tests for the get_size function.
2020-06-11 09:36:32 -07:00
Brian C. Lane
9a17eba974 tests: Add tests for composer-cli compose start JSON POST 2020-06-11 09:36:32 -07:00
Brian C. Lane
a3c4fbb66c composer-cli: Update bash completion for start-ostree 2020-06-11 09:36:32 -07:00
Brian C. Lane
e9b088068c composer-cli: Add new start-ostree command
This is used to start an ostree build, it is only supported on
ostree-composer, and requires the ostree ref and parent. It may also
include --size and optionally be uploaded.
2020-06-11 09:36:32 -07:00
Brian C. Lane
d97687a496 composer-cli: Add support for --size to compose start
osbuild-composer can support user specified image sizes, this adds an
optional argument, after start, to specify the size in MiB. eg.

    composer-cli compose start --size 2048 example-http-server qcow2

This only works when the backend is not 'lorax-composer', when it is the
user will get a warning that it will be ignored.
2020-06-11 09:36:32 -07:00
Dan Horák
0dbfe28745 include generic.ins for s390 boot iso
Include the generic.ins file on the s390 boot iso, so it's directly bootable
on an LPAR. The full iso already had generic.ins included.
2020-06-09 09:58:58 -07:00
Martin Pitt
9b8e0e2335 test: Put VM image overlay into /var/tmp
At least in our CI, the default place to store VM runtime overlays
(testvm.get_temp_dir()) points to a tmpfs file, so that tests can put VM
overlays into RAM and are not affected by slow I/O. But that doesn't
work for composer, as it tends to produce huge overlays due to real-life
OS composed trees.

Use /var/tmp/ instead, which is meant for large files.

Also simplify the VirtMachine invocation -- if `identity_file` is None,
that's fine -- it's the default value of that argument anyway.
2020-06-02 09:19:20 -07:00
Brian C. Lane
fa98321942 Automatic commit of package [lorax] release [33.4-1].
Created by command:

/usr/bin/tito tag
2020-06-01 14:16:32 -07:00