 Good morning, good afternoon, good evening. Wherever you're hailing from, welcome to Red Hat Enterprise Linux Presents. I am Chris Short, host of the most and showrunner of Red Hat Live Streaming. Check us out, go to red.ht slash live streaming, all one word, you will find our landing page with calendar and so forth, so on. I am joined by the one and only, Eric, the IT guy, Hendricks. Hey, how's it going? Good, how you doing, buddy? It's good to just be sitting back and doing something fun for a minute. Little break in the day. Little break in the monotony for you. Yeah, I found out that I've got a couple more meetings today than I expected. So, you know, the more the merrier I've been told. Yeah. No, not when it comes to meeting, so. No, it's good stuff though, so it'll be fun. Well, I hope that works. Hang out with y'all and maybe see if we can break an upgrade or two. Yes, that reminds me. What are we talking about today, sir? So, today I wanted to talk about LEAP and that's spelled with two-piece because, you know, if one's good, two must be better, right? So, the dash is just flowing. And I just wrote it out, L-E-A-A-P. Right after you said that, yeah. Good job. So, LEAP is the project or the application that helps go from REL7 to REL8. So, there was a lot of changes in REL8, a lot of things around automation, a lot of management changes in REL8 that make it so much easier to build a template to basically to say, this is what I want operating system, go do this thing, because we made computers to make humans' lives easier. And that's what I was told. And then they handed me some Kool-Aid to drink. So, you know, I don't know. But REL8 is by far so much easier to manage than REL7, than REL6. It's one of the issues to kind of configure. You know, four to five, five to six, six to seven, seven to eight has gotten so much better at every, you know, every major release. So, yeah, like going from seven to eight is like almost Fedora-esque experience, I feel. Yeah, exactly the point I was going to make is I've had a bunch of folks in the community reach out and say, hey, I would love to go from REL major version to REL major version if only we're as easy as Fedora. And I tell them, it's ironic you say that because the workstation that I'm on right now, I've gone from Fedora 31 or 32 and it's now running Fedora 34. It's to the point now where it's like, you know what? I'm just, I want to grab my laptop. I'm going to work from there. I'm going to kick this thing off. It'll be back up in an hour, no problem. And that's how an upgrade process should be. It should be that simple. It should be that much of a non-event. And I've agreed with those people for a long time. But I've got to say the process using LEAP to go from REL7 to REL8 is nearly there. There's a couple of caveats and we'll point those out at the bottom of the hour. But there's a few caveats with it, but once you know to look for those things, it is so easy to go from one version to the next and looking down the road at REL9. I think we're just going to continue to see this process because it gets easier and easier and easier. Yeah, I'm waiting for it to be like the open shift experience where you can just upgrade right from cockpit kind of deal, right? Or it's like just upgrade thing, go. And like it reboots. It tells you when it's about to do that. Off it goes right through the browser as opposed to, you know, command line or anything else. Yeah, I mean, it'd be great. Especially if you connect a bunch of your systems together in the cockpit dashboard to just be able to go down the list and say, all right, you upgrade. Okay, that one's done, you upgrade. And you can tell your boss, hey, man, I am slammed today. I've got all these upgrades to do. And you're sitting over there, you know, playing Angry Birds or whatever the kids are playing these days. Fortnite. Oh gosh, yeah. I'm happy that my son has recently been getting into Minecraft and I imagine Fortnite is not far behind, but at least for now he and I can have some fun playing Minecraft together. So yeah, my son's five and I loaded up Minecraft on an old computer form and all we did was dig a grave for ourselves that we couldn't get out of. So I was like, yeah, maybe this is too advanced for you, buddy. Yeah, my son's five as well. And he's been watching a lot of the streamers and that kind of thing. He's really enjoyed it. I'm looking forward to probably in the next week or so setting him up an instance here at home on our, on our home lab and just saying, here you go, Dad's stuff is in a different world. So you won't break anything that I'm playing with. So have at it. This world is literally yours. Break it, build it however you want. And it'll be a good time. So I'm really looking forward to that. And in case you were wondering, yes, the Minecraft instance will be running Podman and Vrel 8. Nice. Yeah, no, I was going to ask, are you gonna run that in container? Yeah, actually, this is a horrible tangent, but here we are. So might as well, right? It's funny, Minecraft will always have a special place in my heart as a systems administrator because that's how I justified having a home lab was I'm going to buy a server. I'm going to learn how to do work things on it, but I want it to be of some value. I want to do something fun with it. So Minecraft was kind of the first project I ever did on my home system that Ranfordora server. And eventually that got containerized into Docker and now Podman. And then that just kind of led to this, this money pit of an obsession with home automation and home, home assistants. And now it's NextCloud and Plex. It's a never-ending pit that you just throw money in. It's like, do I really need this? No, but I want it. Yeah, that's kind of the same thing for me, right? Like I have multiple systems in the house doing very specific things. And then I have a 2U, like Dell R820 with proper disk and SSDs, RAM, and et cetera. And that's where we basically break open shift clusters on stream sometimes. And most of the time I break it, trying to do something experimental in the process of like going through our docs and stuff for new, new versions. So yeah, let's talk about how we can advent from version to version of RHEL as opposed to versions of versions of Minecraft servers. Hey, it's very important. You've got to have those applications because otherwise we don't have jobs in this segment. So yeah. That's true. Yeah, good point. It's just my very weak attempt at justifying the things I do in my spare time. So one of the first questions I get from systems administrators or others about why bother? This has been such a pain in the past. RHEL7 is good till 2024 and then I could get extended support after that. No, why should I bother? I mean, first off, extended support is kind of a dirty word in some circles because it's- Well, hence my reaction. Well, yeah, exactly. And I felt like I should kind of address that because it's, I mean, look at some of the operating systems. By the time RHEL8 gets to the end of its official life, it'll be 10 years old. And it's funny, I worked in telco for a while here at Red Hat before I moved over to technical marketing. And I looked back and it's like, okay, so I took some networking classes a decade ago. How much of that is still relevant? And none of it. So a 10-year-old operating system, I mean, are you running 10-year-old hardware? Are you running 10-year-old operating systems? Are your applications 10 years old? Probably not. There's probably that one or two legacy apps that just refuse to die. But other than that, you're probably not running anything that's that old. So why wouldn't you want your underlying operating system to be running something that was more current? I know I would, right? So one of the initial reasons to upgrade is to stay on the current newness. I mean, I still totally get the whole, well, I'm not going to upgrade to a .zero version. That's not what we're talking about at all. I mean, REL8 is two and a half-ish years old now. And so it's still got a long runway to go. There's still a lot of new features that are coming into it. We're getting new versions of OpenJDK of some of the developer tools. It's still getting new system roles. So, I mean, REL8's barely come onto the scene so far. But if you think about it, if you upgrade now, you've got seven and a half solid years of... You've got two and a half more years of full support. So it's getting new features. It's getting new underlying packages. And then you've got five years of stable, where it's anything critical, anything that's urgent. It's still going to get those updates. You're not really going to get any new features anymore. But you're still getting bug fixes. But you're still getting bug fixes. You're still, if there's some kind of horrendous memory leak that could lead to a catastrophic failure, you're still getting those fixes backported from what will eventually be REL9 back into versions of REL8 even after REL8's five years old. So you've got a lot of runway. So if you upgrade now, you save yourself some trouble in the future. And that's especially true over the past couple of years because everyone knew that this whole digital transformation thing was going to be important. I think last year just kind of highlighted that to an extreme extent of we've got to get all of this digital. We've got to get all of this available on the net like yesterday. Yeah. Put the entire office in ones and zeros and get everybody's house, basically, yeah. And by the way, the government, the entire world is shutting down for six weeks in like two weeks from now. So yeah, we need this like tomorrow. So doing in place upgrades, especially if you've been keeping up with REL7 in place upgrades, this is a great way to help buy yourself some time to figure out, okay, what is this new normal? You don't have to worry about your infrastructure aging out because you've got so much runway. If your hardware is solid, if your cloud provider is solid or whatever you're running on top of that metal as long as that's in a stable state. And if you upgrade from seven to eight, you've got some time to figure out what is the new normal look like? Chris and I were talking in the pre-show about back to school, one of my kids just started kindergarten today. So it's like, I'm thinking about that today. As much as I'm here, as much as I'm at work and attending meetings, my head keeps going back to, oh my gosh, my son's in kindergarten. That's crazy to think. I don't want to be worried about, well, we've got this horrendous memory leak in this 15 year old operating system that needs my attention. Can you somehow isolate this some more? Right, right, exactly. So I'll get off my soapbox for, on that point, I can't promise it won't happen again, but as far as rail seven's concerned, it's got a few good years left, but buy yourself some time now while all the support is there for rail seven, all the support is there for rail eight. Exactly, yeah. Because I talked to, so full disclosure, I'm a podcast host on a show called The Pseudo Show. It's an audio-only podcast hosted through the Destination Linux Network. And one of the folks in the community reached out to me direct the other day and said, so I've got a rail five instance. It's rail five. I mean, I remember that, but that was back like 2011, right? That was the new hotness when I started as a Linux systems administrator. He's like, what kind of support do you think Red Hat would give me? Don't give you a pat on the back and say good luck, because, I mean, rail five's been gone for some time. And there's just, it's not that we wouldn't like to support all those different major versions, but it's just the infrastructure that goes into it, the expertise that's required. I mean, just the differences between how rail five booted to how rail eight boots, it's just, it's so different to try and keep all that going. The build process is different. I mean, everything's different. Yeah. So I mean, it's just not tenable for a company or a systems administrator or anybody to support that many different versions over that huge of a span of time. And it's like, your best bet is to be able to salvage what you can off that rail five box, containerize it at best and just throw it on rail eight, which is actually a viable path. If you've got something that is so old that you can't get support on it, throw it in a container, throw it on rail eight, that way at least you know that much of the stack is secure. You can figure out what to do with your application later, but make sure that the operating system, the supporting libraries, the network connections, that all of that is secure, all the way up to- All the things you have on support now. Right. Yeah. Let's see, I'm sure people ask you questions about rail eight. What are folks asking you? I mean, a lot of it is like, why this, why that kind of thing, right? Like, talked to, well, we did a show a little while back talking about like system versus user versions of certain run times, you know, and that was a while back now. I should find that and drop a link to it. But the point being, right? Like normally it's like the hard stuff is what I get asked about, right? Like throwing cockpit on it and like telling people to go that route if, you know, NMCOI is too much for them, that kind of thing, like that's easy, right? Like that's the easy stuff. The hard stuff is like, hey, what about my legacy version of Ansible running on modern kernel kind of thing and modern Python versions. And it's like, ooh, that's gonna be hard, you know? And that's kind of why we did what we did with rail eight because you can't tap into that still if you really need to. Yeah, yeah. I mean, with application streams, it's huge. And maybe that's something we can talk about for a minute. So in rail seven, there was this concept of software collections. So you could actually install multiple different binaries. So if you had Python three dot X and the system's still dependent on Python two dot X, I think it was two seven, I think. So you can have multiple versions of an application installed side by side and you just have to either use like alternatives or sim links or something like Java, what is it Java latest or something is one of the ways you can kind of work around that. And software collections worked well. There's a lot of dependency conflict with software collections though because you had multiple versions of an application installed at any one time. Whereas with application streams, and this is probably one of my favorite changes from seven to eight is application streams allows you to say, I want this line of Postgres database maybe. I wanna stick to this major version. I don't wanna go any newer than this major version but I wanna get all the minor updates. You can enable that minor version for that application stream and install it and upgrade it just like you would any system package. And then that gives you the ability to have very, very fine-grained control over the applications that are running on top of your operating system without much of a headache. It's literally one command to say, yum module enable Postgres. And there's a Chris just threw in the chat a link to an episode where he and Scott talked about this. It is an amazing tool and on lab.redhat.com there is an upstream lab. So it is really nice to be able to have that stuff kind of separated away from the application layer, the user space versus the operating system space. So the OS has its set of tools and anything you pile on top of it has its set of tools which is why we kind of hinted earlier that REL7 to REL8 is pretty easy. REL8 to REL9 is looking to be even easier than that because we're going to kind of build upon that separation between the different layers but you'll also be coming from a system REL8 that has that separation already there. So going from eight to nine will be even easier. And then we'll have more to say about that here in just a few months as the REL9 beta starts to come onto the scene. So excited to talk about that. All right, so let's dive in the leap. See what I did there? Yeah, dive into leap. I'm not sure if that works. Jump in the leap. Let's make sure I share the right screen here. Oh, always a chore. It is sadly. I wish it would use the, like I understand I've got you tucked away in a corner over your application but please application, use the full screen to show me my windows that I can choose from. Right. How's that looking? Very tiny. So I would plus up on that, but other than that, it's fine. Go to like 150, probably okay. Let's see, let's not change the window size. Let's change the text size. There's a keyboard shortcut for that, I think. I thought it was just control shift plus, plus maybe. There you go. That's huge. Okay, that works. There we go. All right, that bigger so I can read it. All right, okay, so let's see. So I mentioned that I have a home lab and I'm really excited to build in it and play with it. So I've got this rel7.9 box and .9 was the last minor release that there will be for seven. There will not be a 7.10. So if you keep looking for a new minor release, there won't be one. You might be waiting for a while. And what this is, is just a vanilla virtual machine running on my hypervisor down in the basement. So I don't have anything installed on it. I haven't done anything too crazy with it. I might have set the root password. That's about it. So the first caveat is you'll want to make sure that when you go to do this process, that you do your research before you just start kicking things off. There's, we have knowledge-based articles that talk about different applications and potential problems that you've run into. There's, within the documentation, there's some recommendations on, if you have a database running, you may want to stop that database, disable it from auto-start during this process. There's just some best practice. There's just some best practices to follow, to avoid basically breaking things that you don't necessarily need to break. So there is some prep work involved. But as I mentioned, this is just a basic, just a basic vanilla right out of the ISO installer. So when we're ready to start this process, we need to install the REL7 server extras RPMs repository. Try and say that five times fast or remember that without even gonna drop. To be honest, I have all these in a text document because there's no way I'd remember REL7 server extra RPMs while trying to do it live stream. So I've got my cheat sheet just right off screen. So the first thing we need to do is enable that repository. So it's gonna go out there and it's going to make sure that your subscription is active and make sure that it can actually get to those packages because what that does is it allows us to install the actual leak package. And then just as an aside, we'll need WGet for the purposes of this. You could do it without WGet, but it's so much easier to add because I'm pretty sure the system doesn't have VIM. Instead of VI, I wanna go ahead and throw that on there just for grins. That way here in a moment, when we actually edit a text file, I don't go, why can't I VI a file? Muscle memory is just a crazy thing when... It happens, it does happen. So it'll grab leap and VIM and WGet and install all the necessary dependencies. Except it's failing to see a mirror. I told you this would happen. You got networking on there? Remember, RHEL 7.9, I thought it had networking off by default on install. Well, this is, this should work because I'm SSHed in. Do you have a bridge out to the internet? Can I do this? This is bridged directly to my hypervisors. So let's see. Yeah, okay, that's weird. So it does see the internets. So let's do, yeah, I'm clean. Oh, because that's the first rule of package management issues. When in doubt, just clear the cache and then if it gets too bad, you reboot the box anyway. Right. Oh, nice, awesome. That's what you want to see. Yeah, good demo so far. Right, right, keep going. I'm going to get an instant message from Scott here anytime now, just saying that. Yeah, he made fun of me. Now Karma came back around here. So let's do a refresh. Let's do a auto, what is it? Auto, auto attach is what I'm trying to do. There we go. And then we'll do another, I'll just for giggles. And then before we go back and find my command, let's just see if we get anything working here. Okay, we're going to get serious here. I'm going to put my glasses on. Here we go. All right mom, stuff's getting real here. All right, so I actually had this from earlier. I think it has something to do with the clone of the virtual machine. So we're going to do an unregister. And we're going to do a young clean, oh, okay, that's good. And then off screen here, because I don't want to try and change my share. So what I'm doing is I'm logging into access.redhat.com and then I'm actually going to delete that system out. Yeah, it's fun, isn't it? I run into this every now and then when I'm using, when I'm using templates that I've registered. Right. But for those of you watching, this isn't a typical problem. It usually happens when you're doing something weird, like updating a, yeah, it's not even registered. Interesting. Wow, nice. Okay, well, that's fun. So, I mean, what I'm doing is I've got a, I literally made a copy of the QCOW2 file and I've run through this demo a few times to make sure everything works. And then I delete the QCOW2 file that I'm actively using and then just copy the backup over. And sometimes red hat access, the subscription management says, ah, you're doing something a little fishy here. I don't know about this. And just says, nope, unregistered. So it becomes fun. So this is not a typical use case. So it's unlikely. Well, especially for an upgrade. You're probably fine at this point. Yeah. Doing an upgrade, you're not going to run into this issue. This is totally a Eric's lab environment as wonky type issue. We'll get past that, folks, don't worry. No, this is, I think Scott might have logged into my access account, deleted it just to troll me. That would be very Scott-like. It would be. All right, and then. All right, registered. Okay, but it doesn't have a subscription attached. So I'm wanting to go and add a subscription to it. I should have used my access key. I mean, yes, but this is more user experience, like. Right, there's nothing like a, all right, cool. It did show in your cloud privilege off. Yeah, that's what we call it. Then we'll do a subscription. Auto-attach, and now we should, should, let's see. Does it take a second? It may take a second. Yeah, it's too refresh here. So Chris and I planned this because we just wanted you to see that it was possible to, it is possible to troubleshoot these errors and make them work even when you're live. Hey, there we go. Hey, look at you. How to entitle a system. So you get a bonus lab today on how to unregister and re-register a system. There you go. And you know what? I guarantee you someone has to do that today. Probably. I mean, especially if you have like a backup system or something that doesn't, doesn't boot all the time. If it's, if it's always running, if it always has that back and forth communication, if you're patching frequently, you're not going to run into that. It's just weird issues like this, where I only use this lab server once every few, once every few weeks. Yeah, like if I went searching for a seven, nine ISO and installed one, I might have this problem too. You know? Okay, so now that we're through that, let's install Leap and WGIT and Vim so I don't lose my mind. And now it shall, I'm getting some applause from the chat. Thank you. Thank you. Okay. So I don't know if you saw it is scrolled off screen real quick, but it said it couldn't find Leap. Oh no. So, but it's okay. I know why it did that. And let this be a lesson to all the kids watching that when you mess with your subscriptions and you unregister and re-register, rel server extras, RPMs is not enabled by default. So we have to, yeah. I usually go all in. I usually do just use register auto attach. So the reason why I saw that error and had to take a couple of extra steps is because I just logged, just because I'm trying to troubleshoot this off the top of my head is I just logged in with my credentials, because that's the easiest thing to do. Just type in my password, copy, paste my, or type in my account, copy, paste my password, because it's like 18 characters or something. It's like 18 characters long. And I'm not gonna sit here and try and type out all of that. That's why I have the password manager. Right. So the reason why auto attach didn't work was because since I'm not using an access key, I had to go into my access.redhat.com account and manually say, I want you to use this skew, which in this case, I think is just a, one of the free developer skews that you can go as an individual to sign up for. I just did it. Developers.redhat.com slash rel 8. It'll ask you to log in. If you don't already have an account, it's super easy to create one. You then hit download rel and you'll get the latest version of rel 8 up to what, 16 systems? Yep, you can get 16 systems for free for any, basically, as long as you're not making money off of it, that's grossly oversimplified, but it's basically as long as you're not making money off those 16 systems, you should be fine. In fact, I think there's some small business adjustments for that as well. So I think that actually isn't accurate. Up to 16 systems, try not to do anything illegal with those 16 systems. It's probably not a good place to host your botnet. No, please don't. So we've got, now that we have server extras RPMs and we've gone through the fun exercise of basically unregistering and re-registering Eric's ridiculous lab server. Now, this is why we need the, this is why I installed WGIT. There's a couple of ways to go about this, but going from seven to eight, there is a tar file that we need to download off of access.redhat.com and yes, here we go. So if you go out to this knowledge-based article that I just threw in chat, you can, there's some information there on what this data is. It's basically a comma separated, I guess I could go ahead and kick off the download just in case. It's basically a comma separated list of just mirrors and repositories that your system will need to be aware of to go from seven to eight because the repository model for seven and eight are very, very different. In fact, with rail eight, you won't run into this repository problem because in rail eight, there's only two repositories that need to be enabled at all. There's the base OS and there's the upstream repository. Whereas rail seven, there was like add-ons and third party repositories, then there's like system development tools there was like five or six different repositories in rail seven that are enabled or at least configured if not disabled on your rail seven system when you install rail eight. Much easier, you've got base OS and you've got upstream, that's it. There's still a few others for like third party partners and that kind of thing but to get your basic operating system, you only need two. So that's a long-winded explanation of what that tar file is and we're actually going to put that, make there, can't type. We're actually going to put that out on Etsy leap and then we're going to create the files directory and from there, we can do tar XEF. We're going to take that tar file that we just downloaded and we're gonna put that in that files directory. So you see, yeah, comma separated and JSON file because of course everything needs a JSON file now, so. Right, good point. So I mentioned that there's a couple of caveats. So there's the leap data file that we just downloaded and we exploded that out to Etsy leap files. The other thing is this answer file which I pre-staged because I'm not typing all of that out on stream but here's the two uncommented lines are the only thing that we need to focus on. So there is, I don't want to call it an issue. There is a known module, call it a conflict between, between RHEL 7 and RHEL 8 and the PAM modules. So you have to explicitly disable the module check for PAM because it's just so much different between 7 and 8. If you disable that PAM module check which you'll see at the bottom of the file says confirm equals true, then it won't check that. You won't run into that issue. Otherwise the in place upgrade will actually fail. So we need to add this to the answer file. And I leave that in kind of the demonstration just to point out the fact that if you have some of these use cases that maybe you need to skip a particular package, maybe you've self-compiled Apache or something unusual, something that's not vanilla, something that's not straight from Red Hat repositories, you may need to use an answer file like this to tell Leap, hey, yes, I know that HTTBD looks different on my system than what you're expecting. Don't worry about it, I got this. So skip that check or there's different things that you can put in this answer file to skip various checks or to basically provide the Leap tool information ahead of time so that one, the pre-check doesn't fail or that two, so that you don't have to interact with the in place upgrade after it's already kicked off. So that's my long-winded explanation of what that answer file is. Right, so I've got a question for you here. Yeah. Now that Red Hat has major versions every three years will Red Hat start accounting for upgrades so that simple tools like DNF system-upgrade would work like it does on Fedora? Conan, that is a great question. And in fact, if you don't mind, this next step takes a few minutes to run in the background so I'll address that here in just a second. But let's go ahead and I think the last thing we need to do is copy that answer file up to var log Leap, yep. So we're going to copy that file out there so Leap knows where it is. Nice. We're going to then... This is the point where that planning would kick in if you have a database or something you'd want to shut it down, preferably disable it from auto restart. So I'm going to do Leap upgrade which is going to take us from seven to eight and then that dash dash reboot is because I'm lazy. When Leap is done with its pre-reboot tasks I want it to just go ahead and update. So you can actually run it without that flag and when Leap is done it'll say, hey, we're ready to reboot to continue the upgrade. But adding that dash dash reboot does that for you automatically. It's literally one less command to run because if you're a good sys admin you're probably a little bit lazy. Some people call it automation. I call it being lazy. So it's actually going to kick off and it's going to do a pre-check. And this part will take a few minutes which is why I kind of deferred the question but it's going to do some pre-checks. It's going to take an inventory of all the known packages that are installed on the system. It's going to check the hardware which it's a virtual machine. So that'll go fairly quickly. So it's going to do all the checks and I'll try and point out anything that kind of jumps out at me or that leaps out at me as we go through the process. How about that? Much better, much better. Yeah. All right, so while that's running Conan asked about with major versions now being an every three year thing if we're going to use tools like DNF system upgrade. That is the direction that things are going. I don't know if that'll, if DNF system upgrade will be in place for RHEL 9 but that is the intention. Chris and I were talking earlier about my workstation here has gone through multiple Fedora upgrades and it's kind of a non-event now. Yeah, same thing for mine. So RHEL is heading that direction so that now if you have these long running systems that just won't go away it'll be so much easier to go from seven to eight to nine to 10. And eventually it should be integrated with system dash upgrade instead of using the leap tool. But it's, and that's some of the changes in the development lifecycle of Fedora to CentOS Stream to RHEL and changing the RHEL release cycle. A lot of that has been put into place ahead of time so that now that, now that kind of the back end now that the upstream development process is more aligned now we can bring Fedora, CentOS Stream and RHEL more in alignment with each other. So I think maybe not, maybe not with RHEL 9 but probably by RHEL 10, RHEL 11 we'll be looking at kind of a non-event like Fedora is. Yeah, but doesn't in RHEL 8 doesn't YUM just SimLink today and that? Yes, yes it does. So if you're using- But it does not have these, it doesn't have the system upgrade capability. I guess I came later anyway. Yeah, so it, I'm guessing system dash and keep in mind, this is not Eric the red hat guy. This is not from engineering. This is my, as someone who's been around upstream development for a number of years this is my guess is that RHEL 8 will probably, RHEL 8 to 9, if not 9 to 10 will probably utilize that DNF system upgrade process. So 7 to 8 to 9, we're seeing a lot more use of DNF versus actual YUM. So YUM is DNF in RHEL 8. So I think, I don't know if it will be possible from 8 to 9, but I think 9 to 10 will probably see less of a dependence upon the YUM infrastructure, the YUM package infrastructure and things will be more DNF. Like a lot of my RHEL, the two or three RHEL 7 systems that I have in my lab actually installed DNF because like that muscle memory just between VI and YUM. I'm so used now between Fedora and RHEL 8 just going pseudo DNF update. Update DNF not found. Wait, what? Oh wait, RHEL 7 YUM update. So I install a DNF after the fact. Right. So it's plugging along here quite fine. Yeah, it's plugging along here. This will take a few minutes. It's actually starting to swap out some of the RHEL 7 packages for RHEL 8. So this will take a few minutes. I won't tell you what's coming up next because then I'll have nothing to talk about while we're watching the next step of the process. But COVID brings up a good point. The system upgrade is a plugin. So it's an add-on to DNF. Yeah, thank you for that. I much appreciate it. My fragile mind appreciates being able to type DNF on 7 or 8. Okay, gosh. But yeah, system upgrade is a plugin. Although on my Fedora systems, I do have an Ansible Playbook that installs some base utilities. And one of those base utilities is system upgrade because I plan on keeping my Fedora boxes around for a while. So when it comes time to upgrade, I don't want to have to remember to install the package. So my Ansible Bootstrap actually installs DNF system upgrade when I build a system. So I don't often think about that being a plugin. But that's a great point. Yeah. What does DNF actually stand for? Because I know what YUM stands for. Khaled is in chat and says, I like YUM name more than DNF. And I'm like, well, YUM means Yellow Dog Update Manager, does it? And how long has Yellow Dog been gone? Right. I forget what DNF even means. Did not finish? Oh, wait, that's a recent term. DNF command reference. Just says DNF is the next RPM based thing. It doesn't tell you what DNF means in the man page. So interesting. Well, you might have to find that out. You would think I would know being, you know. Does not fail, maybe? Does not fail. I begged to differ earlier. Interesting. Some figurations. Interesting. Okay, so on linuxfordevices.com, there's a tutorial about DNF and they have Dandified YUM as in parentheses. And then Conan just mentioned that as well. It's Dandified YUM. So DNF is Dandified. Interesting. I learned something today. How about that? There you go. That means I can just go home. But now you can, yeah. Oh, wait. The, yeah. I'm already there, so. Yeah. Yeah, Yellow Dog Update or Modify. Yeah, but remember, I used to use it when it was called Red Hat Linux 5. So it was called Yellow Dog Update Manager. Now it's Update or Modified, yes. But regardless, DNF is Dandified, which is kind of funny. I'm curious if anybody watching the stream has used Leap in place and what your experience has been. That's a good question. And, you know, it'll take a few seconds for them to get back to us, so. Well, and I'm totally not stalling for time waiting for the first reboot. No, of course not. No, I have never used it to be honest with you. I'm one of those people that like flush system or automation on new system, you know, change the balance or done kind of thing, you know. Yeah, and I didn't actually, I didn't, I don't, I've never actually used this in production because most of my systems are so short lived or like you said, oh, there we go. So I'm going to change what I'm sharing here so you guys can see. And we want Firefox instead. So what it's doing now is it's swapped out all of its packages from seven to eight. And so what it's doing at this point is it's, right now it's doing some messy Linux changes so that any new directories or anything get the correct context. It's doing some validation checks on all the new packages that we just installed because quite a few of the system packages have gone from one version to another. And now some of the packages that we're running live like your libGCC, I think the kernels in here as well are actually getting updated right now. We're kind of in a boot state between something that's in BIOS and something that's live. We're in kind of this weird and knit image that's doing some of these checks, doing some of these Seed Linux changes. Yum does sound cooler, I will grant you that. Although does Yum sound cooler than Dandified? I mean, we have a Dandified package manager. I mean, Dandified, that's got to be hard for translating. Right. I'm not going to go down that rabbit trail because I could get in trouble. Well, no, I'm not asking you to. I'm just saying, I don't know how that translates between languages. I'm not talking about translation. I'm talking about if you accidentally misspoke Dandified while you're doing the presentation. Yeah, indeed. Enough of that. Great. Let's see. So this will kind of go in spells, but you can see the Red Hat support tool. Yeah, there's the new kernel, the new kernel modules packages. I mean, if you think about what's going on in the background here, it's really incredible because you are taking everything off your system, ripping it out and putting in something new. And then here in a minute, it's going to boot up, but it'll be like, yeah, nothing happened. It's all good. It's all good. Everything's fine here. Nothing to see. Move along, move along. Right. And yeah. And I've given this presentation back in the old days two months ago when I was more customer facing. I've given this presentation a few times with the same exact demo. And it's so disappointing because you log in and you cat out the EtsyRedHat.release file. And I'm like, I always feel like there needs to be some kind of fanfare, some kind of ta-da moment because it's because my demo always starts with catetsyredhat.release. See, look, nothing on my sleeves. This is a 7.9 box. We do all these things. And then it comes back up. We log back in and look, it's 8.4. Yay. So unless you really think about what's going on under the hood right now as we're watching all this code stream by it's, I mean, it's amazing that you can go from REL7 with an older kernel to REL8. Right. I would call it a traumatic event for a server. Right. And yet it boots up. So actually, Chris, that's a good point, something we were going to address. So now it's rebooting back into a newer kernel. And what it's going to do now is it's going to specifically address relabeling of SE Linux context because it changed a lot. So it's going to go and do a relabel. This won't take very long because it is such a small virtual machine. But what happens if the system breaks? And I don't know if you caught it. If you were watching the stream fairly closely, you would have seen the grub boot menu where it gave you different options. What's great about, what's great about Leap is it works hand in hand with another tool that we didn't show. I couldn't figure out a way to cut down the amount of time that this would take. We'd have had to just spend the whole hour watching code scroll across the screen. But Leap actually pairs very, very well with another tool called Boom. And I think it's spelled B-O-O-N. Yes. There's an article about it. That you can actually, yeah. And I'll try and track that down here in a minute. I got it. Perfect. So what Boom does is it basically creates a snapshot of your system that Leap can talk to so that should something go wrong, then Leap can say, hey, we hit a fatal error. Do you wanna go back and boot into the previously known good state? Let's just say yes, you look at the logs. You go, oh, there's something weird about my database or something. So if I disable the database, excuse me, or disable that check, then you can go back through. It's, the pre-upgrade analysis tool has come along so far over the past just a few months even that it's very, very unlikely, but we all work in technology. So we all know that anything that can go wrong will go wrong. And if you're doing it either on a live stream or during a short maintenance window, we know anything will go wrong. So having Boom as part of your upgrade process, taking that snapshot ahead of time, even if you've done this multiple times, highly, highly encouraged. Like I said, the only reason we didn't include it in the demo was it was probably going to take closer to an hour, even with as small as the system is to take a snapshot to go through the upgrade process. And no one wants to sit on the live stream for an hour and just watch an upgrade. So check out the article in the chat. Leap and Boom work very, very well together. That being said, Leap has done a lot to avert those issues ahead of time by just not running. It's like, if we're not sure we're going to throw up an error, then you can use that answer file to bypass. If you say, yes, I acknowledge that this could break my system, go ahead anyway, then you can disable those checks and go ahead. But Leap errs on the side of caution just because, like Chris was saying, this is kind of a catastrophic ordeal for a server. This is an identity crisis of sorts. Yeah, it's one of those things is like, who am I? Right. Almost like a senility problem or, you know, my grandmother had Alzheimer's is kind of like, what am I right now? Right. Well, and if you think about it, there's with boom, it's almost like you you give your your server multiple personality disorder because it's like, I could be a real seven or I could be real eight. Just don't know what you're going to get. It's just, yeah, it's it's a guess. It's like, no, it's not a guess. And I did guess. I thought my puns were bad. But there you go. But Demi three, Ms. Demi three, Ms. will go with that. Sorry if I butchered that, but says you can use Leap and boom, you're in rel eight. I love it. I'm a sucker for a good dad joke. So I'll use that. There you go. So anyway, before before we pull out any any more dad jokes, if if you look up at the at the screen now, we've got a report and there was no there was no catastrophic issues that it wanted to bring to our attention. And so it just says, hey, I saved a report of what happened and you can you can download it in either JSON or text. And this this is just I mean, our rel is an amazing, amazing tool. But every now and then engineering just adds a little something that just makes you go, wow, I am so happy to be running rel. And it's that last line of code. So we just did an in place upgrade and we had to make a change to the answer file. Yeah. So what it did was after it successfully ran, Leap actually generated a like a clean copy of our answer file and put it in that far log leap directory. So if we do this on a test machine. Yeah. And then we've got 999 other servers that we need to go. And they they all follow kind of a similar template. Then we could take that answer file and we know that within, you know, 90 percent assurance that we can take that answer file and distribute it out to all these other systems and get the same result or close to the same result. It's going to it's going to vary depending upon, you know, how how your how your system is is configured and what what 30 party packages are installed. But that at least you could get at least give you a great place to start. Right. And then for the very, very anti-climactic finish. Ta-da, we're running rel 8.4. But but it says seven dot nine. Don't see now you're confusing people. OK, to be fair, this is just a a vanilla template file. Well, seven dot nine is just the host name. So I guess I should have done like I should have snuck an Ansible playbook in there or something during the upgrade that changed the host name to eight four. But yeah, look, look at the output of the file, not the not the host name. There you go. And in fact, matters. In fact, from here on out, I will change the host name just for you, Chris. I appreciate you. My my end user devices are all named after Marvel characters. It started out with with only Iron Man, like started with his A.I. So it had Friday and Veronica and my desktop's Jarvis. I ran out of those. So now I'm now I've had to branch out into the greater Marvel universe. So next time just for you, Chris, just so it's not confusing. I'll I'll find a character that maybe a character that dies frequently and keeps getting brought there. Somehow like I have a similar theme, but it's Looney Tunes. Oh, there you go. So the box that like gets busted the most is why no bugs get it. You know, right? I get that. So I don't name a stable server bugs because if you saw a stable server named bugs, you'd be like, there's something wrong with the system. I'm not going to touch it. Actually, it's just the opposite. Like me and the pilot who goes by crash is his call side. It's just right. Bad omen. You don't right. Stay away from that guy. Yeah. So like the big server is called Yosemite after Yosemite Sam and the state park or national park here in the U.S. that we actually visited right before I got that server. So it made total sense other than Sam, which is way easier to type. But yeah, whatever. Knowing my my lack of English skills. Yosemite might be might be difficult for for me to type is hosting. So maybe I'd shorten it to like four characters or something. Oh, that that'd be hard. You'll say you'll say that would be easy to remember then. But yeah, no, it's it's one of those things where it's yeah, you do eventually run out of names. So like OCP 01, OCP 02, OCP 03. I'm installing a rail box right now. Rail 07 or whatever it is, right? Like and this that's just how many of them there are right now. Or were when it was created. And you know, somewhere in some note file, there's an actual purpose behind this box. But yes. Well, it's funny right now because we're we're in a a pre-release phase with with our marketing work. So if you look at my lab, I've got I've got Veronica and Friday and I've got I don't have an Ironman. I don't have Ironman. So I there we go. What's up with that? Yeah, and then I've got because Ironman is constantly getting upgraded and mucked with. Right. Yeah, yeah. There you go. This all makes sense. Perfect. Done. We crisis averted. We got that we got that figured out well ahead of the next the next episode. But so you've got all these cleverly named systems that I have to go and look at what their what their purpose actually is. And and then underneath that, you've got well, six, well, seven, well, seven, nine, well, eight, four, well, eight, well, eight, five, well, nine, beta. Oh, my gosh. Because because this fall we're releasing well, eight, five and well, nine, oh, to public beta. And so I've got all of these systems and they're pulling from all these different subscriptions. And I don't blame my satellite server for going belly up. I I have to rebuild my satellite service like I am so sorry. I right. I have not treated you well. All right, folks, next time do convert to rel. Have we have we covered convert to rel? We have not. OK, we have not covered convert to rel. So yeah, we can do that. So actually, I think in two weeks, we're going to have an interview from I've got a few people that I'm talking to about doing an interview of kind of a day in the life. And we're going to kind of approach it from a couple of different angles. One is someone who's fairly new to Red Hat. And the other is someone who's been at Red Hat for a while. So we can kind of try and get both perspectives. No no promises. But I've got like four people that I'm talking with and trying to figure out if if we could force them on if there's some kind of bribe available to drag them on to talk to you all for an hour. Oh, I can figure something out. So well, we've got that coming up probably in two weeks. And so tell me, tell me, we'll talk. Yeah, I'll I'll I'll include you on the thread. But I would be more than happy to do convert to rel here in a couple of weeks. Yeah, we'll add it to the list for sure. Yeah. Definitely. Awesome. We have and we'll let you know in advance when we do it. So yeah, thanks for joining us today, folks. That's that's all the streaming for now. But join us tomorrow morning. We have Michelle DePalma is coming on to tell us what's new with Open Data Foundations 4.8. Nice. As well as Dev Nation has something going on, I think. And we will be doing an in the clouds with Whaley Dang from Stack Rocks, who's now doing a bunch of fun stuff internally here at Red Hat. And it'll be capped off by Github's guide to the galaxy. We're going to look at our back again in the Github's Rgo CD Github's pipeline kind of context. So yeah, good stuff, good stuff coming tomorrow, folks. Actually, I have OpenShift single note installed in my lab here at home. Nice. And I poke at it every now and then it crowds at me and I don't know, I'm just a real guy. Nice. Yeah, no, the single note thing is very handy for demos. I will say that it is making my life a little bit easier here and there and others lives easier here and there. But yeah, awesome. So tune in tomorrow, folks. Until then, stay safe out there. Good to great to connect. Yeah, awesome. Thank y'all later to.