Video summary
Keshni, a product owner and engineer with over a decade of experience on the Anaconda team, introduces the roadmap for bringing a modern web-based user interface to the Fedora installer. Currently available in Fedora 42, this new interface is built upon Cockpit and PatternFly to ensure consistency across Red Hat products and leverage robust automated testing capabilities. The existing implementation allows users to select languages and keyboard layouts, choose installation paths with improved accessibility, and manage storage via Cockpit Storage for custom partitioning. While the current setup warns users about system reinstallation risks and preserves home partitions, Keshni emphasizes that this is a foundational step intended to gather community feedback before expanding functionality in future releases.
The development plan outlines specific goals for upcoming Fedora versions, starting with Fedora 43, which aims to address missing features like keyboard selection and time/date configuration while exploring the possibility of supporting custom browsers beyond Firefox. This browser flexibility is crucial for environments like Sway that require different window decorations, though maintaining a custom browser solution remains uncertain due to questions regarding maintenance and security configurations. For Fedora 44, the focus shifts to enabling remote browser installations over HTTP/HTTPS and onboarding Atomic desktops, with networking configuration identified as a significant challenge that requires careful handling to avoid misconfigurations that could lock users out of their systems.
Looking toward Fedora 45 and beyond, the project targets the complete adoption of the web UI for Server Edition, which currently lacks several advanced features present in the graphical interface. Key objectives include implementing multipath, FCOE, iSCSI, and NVMe support alongside guided partitioning schemes that allow users to select specific enterprise technologies like LVM thin pools. The team also envisions a future where software RAID can be configured directly through the installer, although current limitations regarding non-standard boot partitions mean this feature may remain in a custom or advanced mode rather than being part of the default guided process.
In the long term, the Anaconda team plans to eventually deprecate the traditional GTK-based UI as it approaches its end-of-life, aiming to merge all functionality into a single web interface that serves every Fedora variant. This modularization strategy separates the backend logic from the frontend, allowing the community to maintain the GTK UI if desired while the core installer evolves. The team acknowledges performance issues on older hardware reported by attendees and commits to addressing them, reinforcing their commitment to an iterative approach where features are rolled out gradually based on real-world feedback rather than attempting a massive overhaul in a single release cycle.
Read the full video transcript
Okay, I guess we can start. So, hi
everyone. I'm Keshni. I will tell you a
bit of the what we are doing with the
web UI uh and what we are planning with
the web UI mainly. Sorry, my voice is
not perfect. Um it's much better.
Hopefully, it will be fine and you will
[clears throat] understand me well.
So I working on the Anaconda team and uh
as the product owner and engineer uh for
last 10 years in Anaconda and uh this is
one thing big thing we are getting to
deliver. So about the presentation I
will share you our idea of the road map
but what I want to have what I want to
get from you is your feedback on that.
we are really looking here for if we are
not missing something if we uh don't
think about something wrong like I'm
working in Anaconda 10 years and I'm
still able to find use cases which I'm
not aware of because like it's quite the
old project and people are pretty
innovative in how to use it just for
information uh when I'm when I try to
get this uh image I basically using AI
for that and usually when I'm trying to
create a present presentation that slang
is doing something it's always put the
arms there. So yeah you're doing it
wrong. So if you see that we are doing
it wrong please tell us.
Yeah. So first I would like to just for
people who are not aware who are not
doing installations or often I would
like to give you like show you a demo of
what we have right now in Federal 46
life ISO.
Hopefully it will work as it should.
second.
That is
that is not I don't want to go.
Yeah, I don't want to
put it back.
Okay,
let's let's try to let's try to
start there again.
Yep.
So basically this is the web UI
installer what we have in Federra 42. I
won't go into much details because I
don't have much time and I would like
spend it more for questions, answers and
feedback collection. But yeah, it's
based on the cockpit and pattern fly.
Uh, one of the reasons is like for the
consistency with other things with
Redhead, but also like the support for
this technology is great and like even
for getting like testing uh automated
testing etc like cockpit team is helping
us a lot. So it's uh really in much
better shape. So basically what we have
right now you can select the language
keyboard layout you can select this you
want to install to and we have a new
approach for doing the installations
like uh for getting like selecting your
path which is more should be more
accessible for people who don't who
don't use installation or doing
installation quite often and you can
also like uh start uh cockpit storage
here which is taken in level of you can
do the partitioning yourself beforehand
with any application
and just go to mountpoint assignment or
pick a path that I want to reuse that
basically I want to use that uh I will
just show you the cockpit storage just
what is there it's basically looks like
this I won't go into details because I
don't have time as I said feel free to
take it uh play with it hopefully you
like it
and let's just continue with the
installation of the Federa which is
honestly new for uh web UI.
And as you can see, we have a warning
that it will break your system, which is
understandable when you are reinstalling
the system. By the way, just the
reinstall Federa, it basically means
that your home partition will stay
intact. Uh even though please do the
backup before doing that because like
everything is new and even if it's not,
it's just a good idea.
Okay, let's move it
back.
And
so back to my presentation.
Uh so I will be talking here about the
future of the Fedora uh
future of the Fedora uh Federa web for
the Anaconda web UI and uh this is idea
of our road map. So for Federa 43 I will
go for by Federa by Fedora for a few and
uh basically tell you what's what is our
idea. Uh so the first one is basically
we in Federra 42 we have workstation
enabled with uh just just the Federa
workstation. It was the like first baby
step for us to getting it there and we
are trying slowly move approach it and
get collecting the feedback during the
path and reacting based on that. So the
Federa 43 is basically another baby
step. We are missing some functionality
in the web UI. Some of it is already
created. Some of it is missing
completely but it's not used in the
production right now. Uh so we are
targeting spins and KD addition
and uh what we need to add is to resolve
the keyboard selection a different way.
uh time and date uh is like is not
configurable right now for workstation
is not that necessary because there's no
initial setup and the same for user
creation.
And the last one is kind of interesting
one because we got a already a feedback
uh that we need to enable custom
browser. Right now we are using Firefox
with our adjustments to like not having
uh decorations etc etc. Um but there is
a spin alex QT if I'm not mistaken which
don't which don't have Firefox. So for
this specific reason and also in uh in
um example of for example Sway if you
have a Sway you might want to have a
special decoration special behavior for
the window but like Firefox is not a
other instance of Firefox it's just like
other Firefox if you want to touch it if
you want to configure it for this so
there are like multiple way multiple
reasons of you want to have your own
browser or custom thing however I have a
question mark there because We yet were
not able to resolve how we want to
approach this completely. Um there's a
question who will maintain it. Um
uh how we will enable it if it will be
on configuration of the configuration
files of the Anaconda like there are a
lot of question marks. So it might be
that we won't go with this for Federa 43
if we won't be able to resolve these. Uh
and also we are not we are fine with not
like reaching out to all the spins. If
we miss some that's fine. It's more like
optional thing. We would like to get all
of them aboarded but it depends on like
the specific needs of the of the spins
and KD edition. So we will see the
second part is Ubl. Uh I unfortunately
missed the presentation the first day uh
for universal blue for bzite but they
are working on enabling web UI for a
long time already and thanks a lot for
getting us feedback all the all over the
the years u or the time u I need to talk
to you unfortunately I wasn't able yet
here but we definitely need to sync so
far based on my uh reaching out to them
it seems they don't need any special
actions from the web UI from us but it
might be that I'm not correct here so I
need to talk to you guys
uh so the for Feder 44 we have our goal
is to go with automic plus al enabling
remote browser installation gives sense
it's HTTP technology basically because
cockpit is like it's web- based so you
can start installation uh from uh
remotely basically on like enabling any
browser on any device you want
um with a skipping here but I will
finish it. Um so basically we have this
already for remote installations. We are
using that for automated testing but
it's not major enough to make it
publicly available like let's use it
everywhere because for example we want
to enable HTTPS and we don't have yet
generation of the certificates and
similar things enabled maybe also user
authorization as like if it will be HTTP
server it's great it's accessible
everywhere but it acceptable everywhere.
So uh it might be that someone will join
for your running installation. You won't
want to do that. Uh so that's something
we need to resolve and we would like to
for federal 44 enable it. Uh if you want
you can use some boot options and play
with even now but it's just like plain
HTTP and it might be struggling
sometimes.
Um and also we would like to onboard
atomic desktops. Uh that's another goal
again with level of if we enable spins
and uh KD edition we should be on good
path to enable also atomic we might be
also doing that like from the
perspective of feature requirement we
might be able to do it in federal 43 but
let's keep it like reasonably
distributed avoid doing everything in
one release and uh we have an optional
goal there which is networking
um I have it we have it as optional
Because for atomic installation is not
really necessary because like atomic
installation atomic ISOs are installing
from local DVD from local ISO. So you
don't need to have a network to do the
installation. But on the other hand the
networking is a big question mark for us
still because we are not 100% sure how
we will handle it in web UI. There are a
few ideas of using like cockpit what
cockpit has etc. in GTK UI we used an N
an M connection editor network manager
connection editor uh application
um but they want to basically drop it
that's first time first part in in real
and Santos etc uh that's that's first
thing and second thing it's likely
usable with the web technologies in
level of it it would it would look it's
use it's usable you can do it but it
would look just bad you don't want to do
that so we are still thinking how to do
do it like a networking is a big topic
because there's like a lot of
configuration van bonding etc. Like it's
not that easy and we don't want to
ideally maintain it like create it and
maintain ourselves and more put it on
someone who's already doing it than
doing it correctly if possible.
Uh then for Federa 45 that's our like I
would say ultimate goal server edition
because server edition has currently in
the current form it has almost all the
functionality
u which we have in the UI so it needs
networking configuration because we are
doing remote installations it needs here
is it is a must have hopefully we will
deliver it before um it needs software
selection environments group selection
um source config configuration that's a
question mark a bit because I know that
basically we are for most of the ISOs
you are using uh federal repositories as
the by default so this seems to be a bit
maybe like not necessary but again we
are looking for feedback if you see it
otherwise
and uh another big thing is the
partitioning we already have something
but it's not used it's not finished but
we basically need to enable multipath,
FCOE, ICE, NVME, there's a lot of
technologies where like these are used
in enterprises and federal surveys using
using it these two most probably and we
would also enable like to enable in the
guided partitioning partitioning scheme
selection because uh like battery FS is
fine for workstation. They were even
like said us that if we enable something
like that they would like to have it
more hidden or advanced because they
want to have like the default battery
FS. Uh but for LV for the server variant
I think LVM is like often the choice LVM
tinpool the same. Uh so we would like to
enable like easy installation but with
selecting how what technologies that you
want to use here and uh we are also
thinking and like like
looking into how to enable better like
uh easier software rate support like you
can do software rate with co cockpit
storage which will be the ultimate goal
if you want to fine-tune everything but
uh for the guided partition there could
be something like I want to install it
automatically but I want to have use
rate one for it and we will like create
create the automatic partitioning for
you this way that's the idea we are
thinking of if it will get there not it
depends on availability like on the
resources etc we will see uh also if
it's like really feasible when we try to
put it together if it gives sense
and after Federa 45 that's the best
question mark honestly we are not uh we
don't have a road map so far away but in
the long term future we are think like
we don't want to maintain multiple
multiple GTK UI multiple UI so web UI
together with GTK UI uh also GTK UI is
built on GTK 3 which is I don't sure
when but I guess it will be uh end of
life soonish uh so there's a question
mark about if you even are able to get
it into real for future for example um
So that's that's something basically
where we would like to uh drop it from
the maintenance. But if someone from the
community wants to take it like Anaconda
is currently designed in a level that
there's a UI and we have a back end and
back end has a DAS API and both of these
UIs are communicating with the back end.
So uh it should be re should be feasible
to just like
me merge it or get it out of the
Anaconda codebase and separate it as a
separate project if someone wants to
keep the GTK UI from the community. I
don't think there should be a like
strong reason to block it. Um so yeah
that should be fine and uh we definitely
want to reach all all the other variants
and like the out like I would say mother
of everything from the feature level is
basically everything I saw what I saw
standard. So if we go like we have
everything we are after the server
everything is adopted then we can go for
everything I saw that should be the last
ultimate goal of like this is this is we
we are we have a UI everywhere
and ideally if we slip like some spins
or something we can we can uh get it
there too that's for future like we
don't have it doesn't mean it will be in
Federal 46 or something like that it
depends on situation it's too far away
so This is just the overview of what I
said. So you have it on your eyes and uh
now right now I I think it's place for
questions. So questions, feedback.
>> Thanks for the great presentation. I
really like the the new UI. I I had just
one issue with it. I I have this habit
of installing uh like Federra on my
relatives computers and lately [snorts]
I was installing it on a 10-year-old
notebook like it that had two to two
cores of CPUs, 4 GB of RAM and I was
just trying out the the normal UI and
really the the new Anaconda installer is
so slow that like it takes like I don't
know five or 10 minutes to even like
start. Uh I know that that spec is
really bad but like compared it and then
I installed some spin which is using
still the the old old interface. So I
was just curious if you are aware of
this issue. I should file it. Uh because
[snorts] really it was like the
experience was like so bad that I I I
think it would definitely discourage
people to install it. You know,
>> please file it. I'm not aware of it. But
in general, you should be able to
install it reasonably well with the
remote web browser access.
That would happen. I don't think it
should happen honestly.
Uh I don't know what happened there. So
please file it and we will see uh if we
can improve it,
>> get the hardware easily back. So thank
you.
>> Thank you.
>> Yeah, also if you want to please go
ahead microphone so I can I can ask
question too. Um so is that something
you want to roll slowly and as an op an
option? So you still have Anaconda GTK
available and at one point you want to
switch the default to web UI.
>> Yeah, we are basically adopting the
variance uh for for default. So Federa
workstation is already using web UI on
Federra 4 43 and as I went through it uh
then we will adopt it slowly this way.
So basically we are changing the default
one uh one step for another one one one
uh ISO one distribution for after
another and that's that's the goal we
are looking for because like enabling it
everywhere that would be first like we
would have to do much of the work at
once without no feedback no possibility
to react and second like the GTK UI
would move during that time and it's
like hard to keep track of like the
changes on both sid Right. We are not
that big team. So it's
>> in fact the road map is just about the
UI but all the functionality are still
in the back end itself. Yes. Like for
example a kickstart file would continue
to work for um very complex storage
configuration.
>> Definitely good good
>> definitely like that's that's the
benefit of we split we we working on
modularization. There are some old
presentation from last year's uh about
the modularization in Anaconda we are
doing and basically it means that we
move the logic into the modules which
are Python applications with the debus
API and right now the GTK UI and also
web UI are basically using this this as
the communication layer. So the back end
is not changing. Thank you.
Well, [laughter] as server I see we have
a year time before we are hit by the
news and I got enough nice um other
question if you have to make special
adjustment for the browser in Sway do
you have special requirements for the
remote browser or is it browser
agnostic?
Yeah, like there are no special
requirements of what do you need to have
them from the browser, but we need to
definitely design the API correctly in
level of something might not be
accessible. For example, we are thinking
of uh the network configuration. That's
a nice job. Nice nice example because
you can just easily cut yourself out by
going to network configuration and
misconfigure it like you have a dead
machine somewhere and you have to go
there it yourself and reboot it or
something. So we are thinking if we
won't like go in a way of disallowing to
change the network configuration in the
web UI uh just because like avoiding
these situations. I don't know that's as
I said there's a question mark but in
general like I don't think there are spe
special uh requirements for the remote
browser uh but that might be also a
question for a cockpit team as we are
using their framework they shouldn't
know about
anondaon and cockpit share the same
stack and cockpit charges like the
common browser so there is a firefox
uh whatever it is of course if like
common browsers concept changes then we
will change with it towards like the the
common goal like we definitely don't
want to have any like specific Anaconda
browser requirements that's that's just
a generic web application it should be
um normal it should be like as any other
JavaScript uh site out there it doesn't
have to be very special
>> yeah just for information why we choose
Firefox it's basically basically because
uh of availability reasons because on
real there's basically no other option
right now and that's the reason why we
are sticking with it. We don't want to
support multiple browsers in general
like even the custom browser it most
probably would leave in like the if you
do that if you use that you are on you
are uh maintaining your own custom
solution because for us it would be
super hard to keep like everything
No other question.
Nobody else. Um what about the software
raid support?
We have an currently we have a support
of course which uh where the the EP
partition is a bit um well out of out of
standard because we have to define it as
a rate partition instead of a AV system
partition.
It works
but um well it's non it's non-standard
so to speak. Do you want
>> It depends also on architecture.
>> Will it?
>> It depends also on architecture
basically how it works if I'm not
mistaken.
>> Yes. Do you want to change or you plan
to change something in that area or do
you leave it as it is?
>> Yeah, it's like if I understand the
question correctly, it's not about just
directly web UI. It's more about the
backend logic uh for if we allow it or
not. Uh am I correct? No, no, it's if
you want to if you want to configure a
rate on your server, you have currently
you can't create EV partitions, but you
have to create weight with the EV pile
system that works, but
>> it's not I think the as far as I know,
I'm not an expert in that area. Uh it's
a non-standard
solution.
>> Uh
that's a good question.
Um
like honestly I would see it in a way of
uh for these specific cases because
if I'm not mistaken Anaconda by default
is not doing that right now because it's
not like it's not
I I believe it's working but it's not
the recommended way of doing it like the
boot partition and the F partition and
similar things should be out of uh rate
and it's not supported on all the
architecture.
Um, but you can do that with the cockpit
storage most probably. I'm almost sure
you should be able. So, you can do it in
this like customized way of uh things
like doing it yourself. But I don't
think we will enable it in uh in the
guided partitioning like the easy way
because it seems to me like this is not
the this not the recommended way but I
not I'm also not an expert for software
aids and similar things. So
unfortunately I'm not sure if I'm saying
it 100% correct.
We are out of time. Okay. So we are out
of time. Thank you a lot. Also if you
have any more feedback we are around.
Please reach out reach us out or in the
presentation I have links on metrics and
on our mailing list. So please feel free
to reach us if you have any idea
question. Thank you. [applause]