Commit Graph

114 Commits

Author SHA1 Message Date
Major Hayden e0561d3635
cloud: Consistent device naming
Use consistent network device names for network devices instead of
forcing the old "ethX" names from pre-2017. This ensures that
specialized network devices, such as SR-IOV devices, are easy to
recognize and configure inside a Fedora instance on a public cloud or
OpenStack cloud.

FESCo ticket: https://pagure.io/fesco/issue/3190
Change proposal: https://fedoraproject.org/wiki/Changes/EnableConsistentDeviceNamingCloud

Signed-off-by: Major Hayden <major@redhat.com>
2024-04-15 07:54:36 -05:00
Major Hayden fe345ff841
cloud-base: Enable tracer once more
This failed a few weeks ago because the Python 3.12 rebuild was still
going and some dependencies for tracer were missing. I'm now able to
install tracer and its dependencies in rawhide and this change should be
ready to go once more.

https://fedoraproject.org/wiki/Changes/Automatic_Cloud_Reboot_On_Updates

Signed-off-by: Major Hayden <major@redhat.com>
2023-07-20 07:58:57 -05:00
Kevin Fenzi 4b01281a76 cloud: drop tracer for now until it's rebuilt
Right now python3-dnf-plugins-extras is not rebuilt against python 3.12,
which causes composes to fail. Lets disable this for now and re-enable
it as soon as it's sorted out.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2023-07-05 16:17:07 -07:00
Major Hayden eba3a2bb43 cloud base: Add python3-dnf-plugin-tracer
This PR implements the automatic cloud reboots change written here:
https://fedoraproject.org/wiki/Changes/Automatic_Cloud_Reboot_On_Updates
2023-06-29 00:18:22 +00:00
Chris Murphy 1fcebbbe22 increase boot partition size on Cloud base image
The /boot partition has been 1GiB on most other Fedora editions and spins for while. We recently had a developer run into this limitation.
2022-04-22 00:32:17 +00:00
Neal Gompa 1bfe603576 Revert "Cloud: Azure support"
This stuff is now properly part of the cloud-init package,
so we don't need this anymore.

This reverts commit 88452ac290.

Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
2021-12-15 04:11:33 -05:00
François Rigault 88452ac290 Cloud: Azure support
To work on Azure, cloud-init need some extra dependencies.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1974262
2021-11-04 17:29:34 +01:00
Major Hayden ed9fb2fc19
🚮 Truncate /etc/resolv.conf from kickstart
During the kickstart of the cloud image, NetworkManager writes an
/etc/resolv.conf that contains `nameserver 192.168.122.1`. This causes
boot delays with cloud-init since it does some early boot DNS
redirection tests before talking to the cloud's metadata service. On
some clouds/architectures, this delay is 15 seconds or more.

Truncate the /etc/resolv.conf so it can be replaced properly by
NetworkManager and cloud-init on the first boot.

Signed-off-by: Major Hayden <major@redhat.com>
2021-10-14 13:14:22 -05:00
Neal Gompa 8684751be4 Cloud: Add PReP partition for POWER cloud images
VM images on POWER require a PReP partition to be able to boot.
Since we don't have a way to define this archfully for now,
let's just always create it. Losing 4MB isn't that bad, anyway...

Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
2021-09-01 22:16:58 +00:00
Neal Gompa ec56783946 Revert "Add the fstrim to post and avoid 40GB Vagrant files"
It doesn't work in the image creation environment.

This reverts commit bc7e8ce561.

Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
2021-07-16 09:56:38 -04:00
Neal Gompa dc9b56098f Revert "Remove zeroing the disk, use fstrim+sync to trim the disk"
fstrim doesn't work at all in the image creation environment.

This reverts commit 8cad6efa4e.
2021-07-16 09:49:22 -04:00
Neal Gompa 8cad6efa4e Remove zeroing the disk, use fstrim+sync to trim the disk
This should be functionally equivalent with less I/O burden.

Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
2021-07-16 08:44:01 -04:00
Neal Gompa 49753d125b Set up the zeros file as nodatacow to disable CoW and compression
This makes it so that we can effectively zero out the filesystem.

Fixes: ad8e04aacb

Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
2021-07-15 10:10:35 -04:00
Neal Gompa b4015b7dba Force the filesystem to sync to disk before trimming
This ensures that data discard works properly.

Fixes: bc7e8ce561

Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
2021-07-15 05:26:39 -04:00
Neal Gompa ad8e04aacb Revert "Remove 'zeroing out empty space' section"
This actually led to the filesystems being bigger.
The most recent Fedora Rawhide images were ~900MB instead of ~300MB.

Clearly, we need this to make it smaller.

This reverts commit d4d8bffb2c.

Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
2021-07-15 04:03:44 -04:00
Chris Murphy d4d8bffb2c Remove 'zeroing out empty space' section
This section is unnecessary due to commit bc7e8ce, but also inhibits that fix.
So just remove it.

Fixes: https://pagure.io/cloud-sig/issue/340#comment-743041
Signed-off-by: Chris Murphy chrismurphy@fedoraproject.org
2021-07-13 05:05:47 +00:00
David Duncan bc7e8ce561 Add the fstrim to post and avoid 40GB Vagrant files
Fixes:https://pagure.io/cloud-sig/issue/340

Signed-off-by: David Duncan <davdunc@amazon.com>
2021-07-08 17:01:00 -07:00
Neal Gompa 6a37d23859 Ensure Fedora Cloud has grub installed for BIOS boot on x86_64
Without this, there is no guarantee that BIOS would
be correctly set up if the install environment is UEFI.

Fixes: 611edda149

Signed-off-by: Neal Gompa <ngompa13@gmail.com>
2021-07-06 15:00:54 -04:00
Neal Gompa 611edda149 Configure Fedora Cloud with GPT with Hybrid Boot
Fedora Cloud is now set up so that it builds the disk with
GPT partitioning and has a specific partitioning layout so
that the resulting images are equipped to boot either with
legacy BIOS or UEFI.

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

Signed-off-by: Neal Gompa <ngompa13@gmail.com>
2021-07-02 21:33:02 -04:00
David Duncan c970f81e4e enable zram-based swap
https://pagure.io/cloud-sig/issue/324

Signed-off-by: David Duncan <davdunc@amazon.com>
2021-06-19 14:52:36 +00:00
Neal Gompa 6de08b413c Use Btrfs for Fedora Cloud Edition
Reference: https://fedoraproject.org/wiki/Changes/FedoraCloudBtrfsByDefault

Signed-off-by: Neal Gompa <ngompa13@gmail.com>
2021-06-16 12:15:30 -04:00
David Duncan 1e02ceba06 Improve ambiguous comment per review 2021-01-05 03:40:53 +00:00
David Duncan 569b5c6eb1 Enable qemu-guest-agent on cloud, not GCP. cloud-sig/issue/319
Signed-off-by: David Duncan <davdunc@amazon.com>
2020-12-22 01:46:33 +00:00
Dusty Mabe a7f9177599
cloud: remove geolite2 packages
These collectively have 66MiB of data in /usr/share/GeoIP.
Let's drop it for now.
2020-09-02 18:22:22 -04:00
Dusty Mabe 99f3ec5d72
cloud: update comments and minor rework for kspost
This should make things a little clearer.
2020-09-02 18:22:22 -04:00
Dusty Mabe f4c7f67ece
cloud: move firewalld remove to package list
It works in the package list so let's remove it there so it never
gets installed in the first place rather than the dnf erase hack
we have now.
2020-09-02 18:22:22 -04:00
Dusty Mabe 4a6850e465
cloud: rework package list, add comments
This reworks the package list to add comments and remove some things
that didn't need to be explicitly removed.

- remove +systemd-udev -> already included by default
- remove -biosdevname -> not included by default
- remove -iprutils -> not included by default
- remove -uboot-tools -> not included by default

There are no packages added or removed from the built cloud image as
part of this change. Just updating the input package list to be more
meaningful.
2020-09-02 18:22:21 -04:00
Dusty Mabe 10573df5c2
cloud: remove instLang hacks
`%packages --instLangs=en` works as intended now.
2020-09-02 18:22:21 -04:00
Dusty Mabe 54d53e8439
cloud: clean up networking configuration
We're no longer using legacy network scripts to bring up networking.
We're using NetworkManager and now in F33+ networkmanager will even
default to writing out new configuration as NM keyfiles in
/etc/NetworkManager/system-connections/. We don't need to lay down
a networking config for eth0. Either cloud-init will do that for us
or NetworkManager will default to DHCP anyway.

We also don't need to populate /etc/hosts as that will get done on
boot too with the same content we were writing there already.
2020-09-02 18:22:21 -04:00
Dusty Mabe c94861c9e8
cloud: remove a bunch of cruft
Pretty much all of it is obsolete or not needed any longer because
bugs were fixed at one time or another.
2020-09-02 18:22:21 -04:00
Chris Murphy 23d107947f Cloud edition prefers noswap for now.
Discussions ongoing upstream in
https://pagure.io/cloud-sig/issue/307

Signed-off-by: Chris Murphy <chrismurphy@fedoraproject.org>
2020-07-09 23:22:28 +00:00
Lubomir Rintel 84d28df1b2 Include size in package lists, sort them
This is done so that it's easy spot large packages that are not
necessary and identify packages that have grown in size too much
by diffing the image compose logs.

  sed "s/rpm -qa/rpm -qa --qf '%{size}\\\\t%{name}-%{version}-%{release}.%{arch}\\\\n' |sort -rn/" -i *.ks
2020-06-17 13:22:02 +02:00
Peter Robinson 6841b8b115 Remove auth line from kickstarts
The "auth --useshadow --passalgo=sha512" is long default and auth option
itself has moved to authselect and is obsolete so this actually pulls
in extra dependencies. Drop it as the shadaow and sha512 are defaults.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2019-12-06 22:22:48 +00:00
Damian Wrobel 68b6257e0e Unify obtaining 'relesever'
Continuation of https://pagure.io/fedora-kickstarts/c/19a7b3b113d97db14d27f6a86db3c7479453a5ea?branch=master
but across entire repository.
2019-07-17 10:55:01 +02:00
Zbigniew Jędrzejewski-Szmek 86e0dc18cf Use dnf instead of yum
I left the instructions for yum-langpacks around, because I'm not sure
how the dnf replacement looks. But all references to yum-the-executable
are gone.

https://fedoraproject.org/wiki/Changes/Retire_YUM_3
https://bugzilla.redhat.com/show_bug.cgi?id=1682910
2019-02-26 11:38:44 +01:00
Joe Doss 00d745bd6c Remove -NetworkManager to fix BZ#1596062 2018-07-12 15:54:19 -05:00
Joe Doss 1479547c67 Clean up some unneeded whitespace. 2018-07-12 15:52:52 -05:00
Kevin Fenzi bfe2b24660 When building cloud images oz uses dracut to setup networking and it
in turn makes a ifcfg-en<something> file with this config. We don't
want to use this, we want to always use ifcfg-eth0 so it's the same
on all images. So, we remove ifcfg-en* (They are different on each
arch we make cloud images for, but en* gets them all).
Additionally we were using some old udev tricks to get eth0, but this
is error prone and already incorrect as systemd-udev has moved files
around, so instead we just switch to net.ifnames=0 on the boot line,
which should continue working.
2018-03-19 16:23:29 -07:00
Ralph Bean d702d27389 Fix links to this example TDL file.
Signed-off-by: Ralph Bean <rbean@redhat.com>
2017-07-07 15:58:34 -04:00
Dusty Mabe 68804358d8
atomic, cloud: remove rhgb by removing plymouth
a59dfe5 caused us a few problems:
  - sed was breaking the symlink on atomic systems
  - /boot/grub2/grub.cfg is not the right file on a UEFI system
  - etc..

We'll solve this problem a different way by just not installing
plymouth in our systems, which is another way [1] to make sure
rhgb/quiet don't appear on your kernel command line.

[1] ee91db6fa3/pyanaconda/payload/__init__.py (L722-L726)
2017-05-24 01:41:20 -04:00
Dusty Mabe ba950669f1
cloud: fix errors that happen on UEFI systems
We are seeing an error on aarch64 cloud image creation because
of the vfat filesystem and the fixfiles command failing:

+ /usr/sbin/fixfiles -R -a restore
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/fonts/unicode.pf2:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/gcdaa64.efi:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/grub.cfg:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/grubaa64.efi:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/grubenv:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/BOOT/BOOTAA64.EFI:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/BOOT/fallback.efi:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/BOOT.CSV:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/MokManager.efi:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/shim-fedora.efi:  Operation not supported
/sbin/restorecon: Could not set context for /boot/efi/EFI/fedora/shim.efi:  Operation not supported
2017-05-24 01:39:49 -04:00
Peter Robinson 00e6c35287 cloud/docker: move to autopart with the new no home/swap/boot options to enable generic architecture images
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-05-15 17:30:43 +01:00
Dusty Mabe a59dfe5f40
atomic, cloud: disable rhgb/quiet on boot
We want more verbose output on boot.

See https://bugzilla.redhat.com/show_bug.cgi?id=510523
2017-05-08 11:35:19 -04:00
Dusty Mabe 4948e8c002
atomic, cloud: don't create none user
Anaconda doesn't seem to require it anymore so no need to create it
and then delete it.
2017-05-08 11:35:16 -04:00
Dusty Mabe fc0a635bc4
zero out resolv.conf during install
Anaconda is writing an /etc/resolv.conf from the install environment.
The system should start out with an empty file, otherwise cloud-init
will try to use this information and may error:
https://bugs.launchpad.net/cloud-init/+bug/1670052
2017-03-28 16:20:25 -04:00
Peter Robinson c9fceb1c03 Fix the vagrant and bigdata cloud images
With moving to grub2 we now need to remove the extlinux bits from the
other cloud images. They were missed in the move

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-28 16:04:52 +01:00
Peter Robinson 15a6627e09 Add bits required for aarch64 images
We drop the explicit grub2 as aarch64 only has grub2-efi but anaconda will
sort that out and ensure all the right bits are installed during the install
so we should get the right grub2 bootloader options for each arch OOTB.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-03 17:48:29 +00:00
Peter Robinson 2077c2935d Minor inline docs updates
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-03 15:24:05 +00:00
Peter Robinson bea832564f switch cloud images permanently to grub2
The main reason for cloud to use extlinux is the size of deps being
pulled in by grub2-tools. This will be fixed in F-26 with the ability
to use grub2/grub2-efi without the tools package and it's deps fixing
this issue for good. There will no doubt need to be be some tweaking
required here.

We need grub2 in cloud images for non x86 as well as for the increasing
x86 cloud platforms that require the support of uEFI which extlinux
doesn't support.

Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2017-03-03 15:24:01 +00:00
Colin Walters 9912269d88 all: Correct path to /var/lib/systemd/random-seed
At least for Atomic Host, AFAICS it isn't actually in the final
image; not entirely sure why.  But we should be using the right
path here anyways.

https://bugzilla.redhat.com/show_bug.cgi?id=1424404
2017-02-17 15:05:13 -05:00