YaST News
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 57 | |
Author | ||
Contributors | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/54440 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
openSUSE Conference 201755 / 57
3
6
10
15
16
19
21
23
24
27
28
29
34
36
38
40
41
42
46
47
51
53
55
00:00
Multiplication signPresentation of a groupMathematicsInteractive televisionPerspective (visual)UsabilityBitContent (media)Computer animationXML
00:35
Stack (abstract data type)Data storage deviceComputer fileConfiguration spaceUsabilityContent (media)Presentation of a groupUsabilitySoftware bugMathematicsData storage deviceStack (abstract data type)BitConfiguration spaceComputer fileComputer animation
01:10
UsabilityTraffic reportingError messageImage registrationUniform resource locatorParameter (computer programming)Video game consoleSerial portConfiguration spaceData recoveryBootingLogicRead-only memoryRepository (publishing)Interior (topology)Error messageUsabilitySemiconductor memorySpacetimeStaff (military)NumberParameter (computer programming)Online helpSoftware developerTraffic reportingServer (computing)Video game consolePerspective (visual)BootingMereologyWeb 2.0DampingConfiguration spaceExpert systemWebsiteVirtual machineMiniDiscBackupModule (mathematics)Physical systemCrash (computing)SoftwareUniform resource locatorComputer configurationData recoveryImage registrationLine (geometry)Graph coloringOpen setRepository (publishing)Different (Kate Ryan album)XMLComputer animation
07:46
Machine visionKernel (computing)Online helpAsynchronous Transfer ModeDevice driverBootingContrast (vision)Default (computer science)MiniDiscNP-hardHydraulic jumpSource codeVideoconferencingMathematical analysisMachine visionStudent's t-testUniverse (mathematics)UsabilityContrast (vision)Traffic reportingDifferent (Kate Ryan album)OctahedronMereology
08:37
Computer fileConfiguration spaceLine (geometry)Real numberMeasurementScreensaverBootingComputer fileMereologyConfiguration spaceMeasurementGateway (telecommunications)Software bugLine (geometry)SoftwareOperator (mathematics)Network topologyFlagElement (mathematics)Content (media)DampingFile formatParsingMathematicsReading (process)ParsingSoftware frameworkFlow separationComputer configurationResultant2 (number)Multiplication signCache (computing)Function (mathematics)DemoscenePresentation of a groupProfil (magazine)BootingSimulationCuboidDifferenz <Mathematik>SpacetimeRepresentation (politics)Fitness functionXMLUMLComputer animation
14:38
BootingKernel (computing)Data integrityPhysical systemCubic graphComputing platformInstallation artAdaptive behaviorBootingSoftwareCubic graphMereologyConfiguration spaceResultantSet (mathematics)Physical systemComputing platformOpen sourcePresentation of a groupINTEGRALFormal verificationDifferent (Kate Ryan album)CuboidOpen setXMLComputer animation
16:39
Server (computing)RootPasswordMereology
17:15
ComputerWorkstation <Musikinstrument>Asynchronous Transfer ModeConfiguration spaceLine (geometry)Repository (publishing)DebuggerDisintegrationIntegrated development environmentVariable (mathematics)Crash (computing)Physical systemModule (mathematics)Cache (computing)Computer iconSystem on a chipData managementSoftwareRepository (publishing)TouchscreenWebsitePattern languagePhysical systemData managementProfil (magazine)Software developerIntegrated development environmentDebuggerVariable (mathematics)Crash (computing)MultiplicationWikiJava appletAsynchronous Transfer ModeLoginFlow separationProjective planeDefault (computer science)Installation artStudent's t-testImplementationServer (computing)Resultant1 (number)Electronic mailing listDecision theoryGoogolEndliche ModelltheorieExterior algebraTranslation (relic)Sampling (statistics)MereologySelectivity (electronic)Different (Kate Ryan album)WordWeb 2.0Associative propertyGroup actionVirtual machineVideoconferencingDressing (medical)String (computer science)INTEGRALCodePresentation of a groupUniform resource locatorException handlingQueue (abstract data type)Open sourceComputer animation
24:05
Stack (abstract data type)Data storage deviceCodeLibrary (computing)Presentation of a groupRootCache (computing)MultiplicationMiniDiscEmailLattice (order)CodeData storage deviceMereologyTouch typingBlock (periodic table)Computer hardwareWeb 2.0Presentation of a groupEmailSource codeWeb pageBlogVolumenvisualisierungKernel (computing)Computer animation
26:03
HypermediaEvent horizonCartesian closed categoryComputer animation
Transcript: English(auto-generated)
00:08
Okay, so it looks like it's time, so let me start it. In this presentation I would like to give you a quick interaction, what happened in
00:23
the last year, more from user perspective, a lot of changes inside, but what's visible. So, the content of this presentation is a bit talking about usability changes, there
00:46
are some changes in how we manipulate config files and what's the benefits for users, there's of course new features, so also some new bugs and there is me working on new storage tech.
01:00
It's not yet deployed anywhere, so it's just not possible to see it yet. So regarding usability, we track quite a lot on improving error reporting, basically when something goes wrong and if you get some useless error that says nothing, then usually
01:28
customers or users aren't happy because they would like to know some details of what's going wrong, how they can improve it. So a few examples, what we improve in this era is when there is a non-blocking installation
01:49
error, which currently is just in a red line, a red color in installation summary, we now also raise a pop-up and it has two benefits, first is that it's not just warning, it's
02:06
non-blocking error, so it means if you are really, really sure, you can try to do installation but there's a high probability it will fail. And second advantage is that it's easily catchable by OpenQA, so OpenQA when they see
02:23
some strange pop-up, start complaining, I don't like it and that's not how it should look like. Another improvement is you can pass a registration URL at installation command line, it's mainly
02:41
interesting for SLE users but we plan to allow this also for other URLs. In past, if you write it wrong, it will just raise error, there's wrong URL and you have to start from scratch installation.
03:02
It's quite accurate, currently a pop-up showing the URL is wrong and it allows you to write it correctly from install, so you can just continue. Also we improve checking for mandatory installation packages, for example how it works, for bootloader
03:23
you need to grab two package on target system, otherwise you have a problem when you upgrade kernel. So bootloader say to software proposal, we would like to have here grab two and some other packages, but users, what users can do is that they can open software proposal
03:45
and say, yeah, I don't like grab two, so deselecting it. And problem with this approach is that of course we allow it but bootloader won't work as you expect because it cannot be installed.
04:03
So what happens now is that it's a non-blocking error which says there's mandatory packages that we need and if you proceed, probably some parts of your system won't work as you expected. Another quite nice feature is recovery when there is a broken bootloader configuration.
04:25
How it can happen? For example if your disk crash and you have a backup, so you restore a backup to different disk and somehow boot machine, for example via DVD which you have option boot
04:46
system from disk, then you start bootloader just module and it will report we should boot from disk that I don't know because we use udev ids, there is some id of disk
05:02
and that's different disk. So it complain that it cannot boot. And what's happen now, it reports something is wrong, configuration is broken and you have a button to propose it from scratch. So we just say, okay, propose me from scratch and it propose working solution, you
05:23
confirm it and you have again working bootloader as you expected. And last but not least, slightly expert topic, I'm not sure how much of you try to boot via Sero console but its parameters are quite tricky because there is something
05:44
like speed of that console device inside stuff and in past if you write it wrong it just report you write wrong parameters. So currently it will also write to you a help text how the parameters should look
06:02
like and explain each part and also it's explained in help currently in better way. So also if you are not familiar with Sero console it will helps you to configure it. And of course I would like to thanks to our usability team in SUSE which we often discuss
06:24
these issues and they propose some solution that doesn't look that's more from user perspective and not so much from developer one.
06:44
Okay, another usability improvement is that we get a report that half a gig is no longer enough for installation of OpenSUSE and there is some requirements because currently
07:01
you install to various virtual machines and such stuff so we should reduce a footprint. So what we did is that we analyze usage of memory in installation and reduce it but I would like to give here a slight warning that it really depends on number of your
07:23
online repositories because we still fit only roughly so there is a very small space of memory that keeps there so if you have a lot of online memories during installation it usually exceed that amount of memory you should fit into it.
07:48
Another usability improvement is that we get some report from I think it's student university that have problems with eyes so we need a high contrast theme from installation.
08:09
So we did some analysis we also in the end contact some researcher on university something about various low vision problems and what we have now is that we add another
08:24
three themes to installation that allows for various problems, different themes so it's more visible. Okay, another part is how we assess configuration files.
08:45
Just a quick intro to CFA which is Config Files API which is a framework that we use. It uses a layered approach so it tries to separate reading content, parsing content
09:01
and then high-level assessing it. The advantage of old solution is there is a precise command manipulation so it means not any command should be removed but also if Yast wants to add some smart commands like
09:23
do not touch this, it's configured by Yast, it's now possible and it uses quite a lot of August lenses so it means we don't need the right open parsers usually if August
09:42
supported we can just reuse what's already existing. Another advantage is that we are contributing to August upstream, we already fix one or two stuff there and improve some lenses when some parts don't fit. One example is in NTP we for example allow new syntax for IPv6 restriction and we of
10:07
course send it to upstream so even not just Yast benefits from this change. What we improved in this Config Files API in last year is that we tried to do smarter writing.
10:25
Previously the parser creates some tree and we created some internal representation of this tree, manipulate with it and then write it whole back so it means in August
10:41
everything is marked as dirty. Still no commands will be removed but some byte spaces, some formatting will be removed because August tries to keep it only if the element is untouched. If you modify it, it will also write it somehow from scratch.
11:05
So what we do is now that we in our internal tree also keep these flags if stuff is modified, add, removed and then we apply it to using August's own operations so there's stuff
11:25
like remove it, add something or just modify and that allows August to do more smarter annotation and in the end this is really small and really edits only parts that Yast needs
11:41
so the rest of your file is untouched. Also we try to optimize it. We have all the bugs that ETCHost have more than 10,000 lines of config.
12:05
The real usage is that they use some kind of software that do some kind of blocking by writing stuff to ETCHost and in the end their blacklist is so big that it's so many lines with sending host to some blocking gateway.
12:29
So we tried with CFA this old bug if it helps and as you can see lower in measurement it's around two times faster but we think it's not enough and it's time to at least
12:48
learn to play with a Ruby profiler which really rocks. It's something like I think it's comparable to for example scene profilers
13:01
and we optimize it by some caching. When we analyze output we analyze it and the result is that it's again two times faster. So just with using a different parser and with optimizing it the result is that previously
13:21
Yast opens for more than one minute and now it's 20 seconds which is still far from perfect but yeah it's really big file and I'm not so sure that August is the correct tool to edit file that have 10,000 lines because yeah it's really big.
13:47
Yeah and we still increasing usage of that CFA. Originally it was introduced for bootloader which have various formats and now we use it also as I mentioned for ETC host also from NTP.
14:06
As I mentioned we found there is a bug in Avugia's lens that prevent parsing new IPv6 options so we also fix it. We use it for modifying zip configuration.
14:22
Also if you see the Imos presentation this morning we are now somehow configuring puppet and salt so we also using it for these new parts of Yast. Okay so new features.
14:45
Yeah it depends how much you are partnering but there is something like trusted booting that verifies integrity of whole your system from very start. So for legacy booting it starts at BIOS for newer.
15:04
It should start on EFI but Yast and also installation and whole open source doesn't have support yet for EFI. So that's one of new feature that there is a new software that's called TPM2
15:26
and it allows booting for EFI. Yeah the set part that they create a new software and they just drop a legacy booting. So we would like to support both of it. So result is that in UI it looks like just one checkbox.
15:44
I want trusted booting but in backend it's two different software and slightly different configuration. Yeah but in UI it looks like it's same and now we support trusted booting also on EFI.
16:04
Another part is CAS and cubic. If you see a presentation yesterday it's some orchestration. It's platform for container orchestration. What adaptation in Yast is mainly that we created simplified installer.
16:22
Maybe you see yesterday it's just one click installer. And there's a lot of adaptations to really have small and install and also to allow this to be done automatically. So that's how this simplified installation looks like.
16:44
As you can see only mandatory part is a password for root and the confirmation of password. Because we don't want to pre-fill it for you. But other parts are automatically proposed.
17:01
For example NTP servers are obtained by SLP discovery. And the rest is just proposed and you can click install and it will work. One different feature for OpenSUSE is if you use Tumbleweed you may be notice installation is new desktop selection.
17:28
Now it's still the first draft. There is still in queue some improvements to this part. But let me introduce why we did it.
17:41
Because there is also some contraversion about it. Like why there is not enlightenment except CE and whatever desktop you like. And in fact that's the exact reason. Now so many forks and attempts to write on desktop solution. And everyone would like to have it in installer and think that others are second citizen.
18:05
So we should replace this not so active desktop with our desktop and so on. And yes team don't want to maintain it such list. And also don't want to make these decisions.
18:23
Because yeah it's always something like flame you cannot win. So what's the result? Is this simple dialogue that allows KD and GNOME which we still see as major ones. They use a majority of new users.
18:44
There is server for quick installation of text mode. And then there is a custom. And custom opens a pattern selector. And so it means that any new desktop only thing that they need to do is have its pattern in repository.
19:06
They maintain this pattern. They decide what's used as login manager and site stuff. Because everything is in pattern. And one more advantage is that on this same screen you can configure online repositories.
19:24
So it means that for example if Leap is released half a year ago. And there is a new cool desktop that you would like to have in this older Leap. You can just send it to update repository.
19:43
And then if you install with network you have this update repository. And the patterns that will be also in update repository is shown in this custom. So in fact you can install a desktop that's not yet available when the DVD is released.
20:05
That's more like for developers. But you can maybe also notice it because we integrate Ruby debugger and profiler. It can be start by common environment variables that you just define it.
20:22
And they just start in debugger and profiler. But how you can see it is if just somehow crashes especially in installation. Then it shows pop-ups. And in this pop-up you can click on the button that you would like to debug this issue.
20:43
And it will show the Ruby debugger and you can play with it. So not so much for end users but very useful for developers to see what's exactly going wrong. And for example even users can go to this debugger and try something.
21:05
Some commands that's suggested by developers if it's really one machine problem. You cannot reproduce it. Then you have full environment for debugging. So it also helps us with some cooperation when something goes wrong.
21:22
As I mentioned in installation by default the dependency is not installed on system. So if you have just on system the debugger is not there. But in installation it's part of installation system. So it's always there.
21:42
And if you are not native speakers. English native speakers. It can also maybe helps you that just switch to open source web plate. There's URL. I tried before this presentation and I have to say I'm quite impressed because in past I tried some translation using VI which is cool and hackery.
22:12
But this web UI really helps with some associations. For example you translate some string and it gives you 10 different strings that's translated and that contains similar words.
22:26
So you have some idea how it's translated at other parts and it helps you have consistent translation. So just using this web plate for translating now. And I encourage anyone to just try it and see if maybe you can improve.
22:47
Not just just translation but there's also other projects that's in OpenSUSE. You can help your colleagues that don't speak English. And we have new module for alternatives.
23:02
It's a result of Google Summer of Code. It was implemented by Hakeem which was Google Summer of Code student. And you can met him last year because he was here at conference.
23:23
And if you don't know what's alternatives just quickly it's a system how you can switch implementation. If there's several forks of some projects you can easily switch between them. It's used for example for a wiki. I think it's also heavily used by Java to switch if you have multiple Java environments.
23:45
What's the default one? Yeah, and there's result integration into auto-installation and also experimental puppet. If you are interested into it I really suggest to see a video for morning talk that was made by Imo.
24:05
Yeah, and there's a new storage stack which is some redesign of storage code. Every part is touch. It allows new features because the hardware renders are so crazy.
24:26
It allows new fancy hardware that have various support. Also kernel guys add crazy features to BTRFS and we need to somehow support it. So you will see it and that's here at 2 o'clock Arvind will present about it.
24:45
So I would like to invite everyone to see this talk if you are interested. So some references you can find us on GitHub. CFA is also on GitHub and web plate is here.
25:01
I will paste a presentation to speaker deck if you are interested. You can also contact us. We have web pages. We have IRC, email and the last but not least we have also our blog which currently lives on lizards.
25:23
And it's also source of this presentation because I pick the most interesting stuff from our blog. So if you are interested what's happened in the last usually every three week we post here blog post what's new.
25:42
So I would like to thanks everyone for attending and if you have questions just ask. Yeah, looks like everything is clear so thanks for your attention.