F35 Change: Build Fedora Cloud Images with Hybrid BIOS+UEFI Boot
Support (System-Wide Change)
by Ben Cotton
https://fedoraproject.org/wiki/Changes/FedoraCloudHybridBoot
== Summary ==
With recent changes in public cloud widely accepting the
use of UEFI boot, it would be consistent to add hybrid boot in support of
both unifying the legacy (BIOS) and UEFI boot to the Fedora Linux
cloud base images.
== Owner ==
* Name: [[User:Davdunc|David Duncan]], [[User:Chrismurphy|Chris
Murphy]], [[User:Salimma|Michel Alexandre Salim]],
[[User:Dcavalca|Davide Cavalca]], [[User:Ngompa|Neal Gompa]],
[[User:Dustymabe|Dusty Mabe]]
* Email: davdunc(a)amazon.com, chrismurphy(a)fedoraproject.org,
michel(a)michel-slm.name, dcavalca(a)fb.com, ngompa13(a)gmail.com,
dusty(a)dustymabe.com
* Products: Fedora Cloud Edition
* Responsible WGs: Fedora Cloud WG
== Detailed Description ==
The Fedora Cloud Edition image will be updated to be configured with
multiple partitions and a GPT label instead of one single partition
and implicit MBR.
The partition order will be:
# A BIOS boot partition
# An EFI System partition
# A general data partition
== Benefit to Fedora ==
This is a continuation from the changes outlined in the
[[Releases/34|Fedora Linux 34]] changes to
[[Changes/UnifyGrubConfig|unify the Grub configuration files]]. There
has been an overwhelming support in the public cloud architectures
leading to widespread support for UEFI boot in support of migration
work. This also adds support for other anticipated changes that would
require this modification to include the boot partitions; both legacy
boot as a fallback through the BIOS boot partition and UEFI boot
through the EFI system partition. This is going to require a group of
modifications to the cloud base, including modifying the partition to
support UEFI and a disk label change to GPT. With this change in
place, the images will have greater flexibility to support file
systems, such as btrfs, for boot across a number of supported
providers and environments.
* To have a consistent configuration across all the architectures
* Allows the same image to be booted using either UEFI or legacy BIOS.
* Allow easier migration from one environment to another where there
is potentially a change in boot loader.
* Use the same documentation and commands for the available cloud
architectures instead of having special cases for different
environments.
* Align with images generated by COSA, KIWI, and OSBuild on how the
GRUB configuration files are used.
* Align with other installation methods on how the partitions under
<code>/boot</code> are defined
* Align with other distributions, like CentOS and openSUSE, on support
for GRUB configuration
== Scope ==
* Proposal owners:
** Submit PRs for Cloud Edition kickstarts to produce hybrid boot.
* Release engineering: [https://pagure.io/releng/issue/10143 #10143]
* Policies and guidelines: N/A
* Trademark approval: N/A
== Upgrade/compatibility impact ==
Change will not affect upgrades.
== How To Test ==
Once the change lands in Rawhide, spin up the images in AWS, GCP, and
KVM/OpenStack to test to see systems boot and run. Where possible,
test images on cloud virtual machines types where both boot methods are
supported.
Verify that the general data partition is properly grown in the case
that the root volume is larger than the image default.
== User Experience ==
* Mostly transparent.
* Consistent recovery experience with other distributions and builds
of Fedora Linux.
== Dependencies ==
* fedora-kickstarts
== Documentation ==
No extra documentation is required reading for users. Supporting
recovery documentation is already available.
== Release Notes ==
Fedora Linux cloud images are updated to boot both UEFI and legacy
boot (BIOS) through a hybrid configuration.
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
2 years, 10 months
koji builders and hub upgrades
by Kevin Fenzi
Greetings everyone.
I'd like to let everyone know that koji.fedoraproject.org hubs have been
upgraded to 1.25.0 and all builders have been upgraded/reinstalled with
fedora 34.
As some of you may know, armv7 (32bit arm) builders were stuck on f32
last cycle when everything else moved to f33. This was due to a over
eager OOM that would kill kojid during some builds. In my testing this
issue was finally solved in the 5.12.x kernel series so I moved all the
builders to f34.
If you see builds on armv7 "looping", please report that information to
https://bugzilla.redhat.com/show_bug.cgi?id=1920183
and we can try and further track the issue down.
Additionally, rawhide composes have been broken by a qemu related issue
creating images (see:
https://pagure.io/releng/failed-composes/issue/2548 )
Which we hope we will be addressed soon.
As always, please report any issues you hit and we will do our best to
address them. Happy building.
thanks,
kevin
2 years, 10 months
F35 Change: Sphinx 4 (Self-Contained Change proposal)
by Ben Cotton
https://fedoraproject.org/wiki/Changes/Sphinx4
== Summary ==
Sphinx 4, popular Python documentation generator and framework, has
been released in May 2021. It brings many bug fixes, new features
including breaking changes and removes long deprecated functions.
In Fedora 35 we will update
[https://src.fedoraproject.org/rpms/python-sphinx python-sphinx]
(providing python3-sphinx) to the latest version 4.x.
Package maintainers whose packages will stop building with the Sphinx
4 have these options:
* they fix their documentation packages to work with Sphinx 4,
* they stop building documentation subpackages,
* they create compat package to extend the lifespan of Sphinx 3.x
features. Python-maint team can assist with creating the compat
package, however we don't like this solution and discourage from doing
so.
== Owner ==
* Name: [[User:ksurma| Karolina Surma]]
* Email: ksurma(a)redhat.com
== Detailed Description ==
Many Fedora packages build-depend on python-sphinx, a popular
documentation framework.
It was assessed that around 60 packages stop building with the Sphinx
4. The common reasons for failures are:
* they use long-deprecated functions which have been removed in Sphinx 4,
* they depend on components which explicitly require older Sphinx versions.
The change affects following packages (bear in mind, the list may not
be complete - some packages which don't build because of the other
issues, may be affected also with this change).
Packages requiring a pinned Sphinx < 4 version on runtime. They will
cause a failure of packages that require them:
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-sphinx-click]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-sphinxcontrib-phpdomain]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-myst-parser]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-sphinx-tabs]
Packages failing because of the previous group:
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/bui...
buildstream] - requires python-sphinx-click
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/php...
php-opencloud-openstack] - requires python-sphinxcontrib-phpdomain
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pipenv
pipenv] - requires python-sphinx-click
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-pip] - requires python-myst-parser
Packages with feature incompatibilities:
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/ans...
ansible]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/ara
ara]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/arbor
arbor]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/bor...
borgbackup]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/botan
botan]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/condor
condor]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/cop...
copr-keygen]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/ext...
extra-cmake-modules]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/gcc
gcc]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/ghc
ghc]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/kea
kea]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/krb5
krb5]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/lib...
libcomps]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/lib...
libgpuarray]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/Mayavi
Mayavi]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python3-docs]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-anyio]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-breathe]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-BTrees]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-djvulibre]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-f5-sdk]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-glue]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-h2]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-libpysal]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-listparser]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-novaclient]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-openstackclient]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-patsy]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-persistent]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-pkginfo]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-pycryptodomex]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-pynetdicom]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-pysam]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-pyswarms]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-rjsmin]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-ruffus]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-sphinxcontrib-asyncio]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-sphinxcontrib-trio]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-sphinx-notfound-page]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-texext]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-txtorcon]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-whoosh]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/pyt...
python-zarr]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/reb...
rebase-helper]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/tor...
tortoisehg]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/wai...
waiverdb]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/xeus
xeus]
* [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/package/xtl
xtl]
As said in the summary, packages will either switch to Sphinx 4 or
stop building the docs. Change owners can provide guidance and help,
yet they cannot be expected to fix all the packages.
=== Change timeline ===
The packages rebuild for planned
[https://fedoraproject.org/wiki/Changes/Python3.10 Python3.10 update]
is expected in the June 2021.
We will do the Sphinx update afterwards.
Proposed timeline:
* 2021-06-01 - 2021-06-25: Package maintainers work on updating the
affected packages
* 2021-06-28: python-sphinx is updated to the latest 4.x in Fedora Rawhide
The timeline can be affected by the delay of Python3.10 milestone
targets. In such case the Sphinx update will be performed on the first
possible date.
== Benefit to Fedora ==
Fedora is the leading environment for Python development and will
include the newest and greatest Sphinx for users and packagers. They
will benefit from its newest functions to build better documentation.
== Scope ==
* Proposal owners: update python-sphinx to 4.x, provide help
* Other developers: the update of affected packages can be tested
using [https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/
copr repository] where the testing version of Sphinx 4 has been built.
(Note: don't worry about the repository name - yes, it's correct).
* Release engineering: N/A
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Objectives: No
== Upgrade/compatibility impact ==
There is a clean upgrade path from current version to python-sphinx 4.
Fedora users using RPM-packaged Sphinx will use Sphinx 4.x by default.
== How To Test ==
* Find the package you want to update in this
[https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/ copr
repository] and check the build logs to determine the fail cause.
Again, don't worry about the repository name - it's correct.
* Work with the upstream to resolve the issue or drop the
documentation from the package.
* When updating the package, you can test it using the same
[https://copr.fedorainfracloud.org/coprs/ksurma/pygments-2.9.0/ copr
repository] where the latest version of Sphinx 4 has been built.
* Let us know if something doesn't work as it should.
== User Experience ==
Already covered by sections above.
== Dependencies ==
Already covered in
[https://fedoraproject.org/w/index.php?title=Changes/Sphinx4&action=submit...
Detailed Description]
== Contingency Plan ==
* Contingency mechanism: (What to do? Who will do it?) Compat package
* Contingency deadline: Beta freeze
* Blocks release? No
== Documentation ==
[https://www.sphinx-doc.org/en/master/changes.html Sphinx changelog]
This page is the documentation for Fedora impact.
== Release Notes ==
TBD
--
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
2 years, 10 months