Ascender Pro videos

Ascender migrates a host from CentOS 7 to Rocky Linux 8

This demo shows a CentOS 7 host becoming a Rocky Linux 8 host through an Ascender workflow, with the ELevate tool from AlmaLinux and Leapp doing the upgrade. Greg Sowell builds the workflow from small, discrete job templates snapped together like Lego bricks: create a VMware snapshot, run the migration, run a web server test suite, and on success delete the snapshot. Failure paths on both the migration and the tests restore the snapshot and then delete it, leaving the CentOS box exactly as it was.

The migration playbook is walked through after the roughly twenty-minute run. It first asserts the job is limited rather than running against every host, performs a yum update and reboot if needed, records the OS version, installs the ELevate and Leapp packages and runs the Leapp pre-upgrade. A task parses the pre-upgrade report for recommended commands and runs them along with standard CentOS 7 fixes, then the full upgrade runs, the host reboots through several automatic passes, the Python interpreter variable is adjusted, and the final version is displayed: Rocky Linux 8.8 Green Obsidian with the web server still serving.

Greg is clear that vanilla systems with standard packages are the best candidates, that the fully featured API can launch the workflow, and that in production he would keep the snapshot for a week or two rather than delete it.

Key takeaways

  • The workflow chains small job templates: snapshot, migrate, test, then delete the snapshot, with failure branches that restore it.
  • Playbooks target hosts: all and rely on the limit field, with an assert task refusing to run against the full inventory.
  • Leapp pre-upgrade generates a report; the playbook extracts recommended commands from it and runs them before upgrading.
  • The full Leapp upgrade takes about ten minutes plus a five to eight minute multi-pass reboot, just under nineteen minutes in total.
  • After the upgrade the playbook changes the Python interpreter variable and reports Rocky Linux 8.8 Green Obsidian.
  • In production, keep the snapshot for a week or two after a successful migration instead of deleting it immediately.

Questions this video answers

Can Ascender migrate a CentOS 7 server to Rocky Linux 8 in place?

Yes. The demo uses an Ascender workflow that snapshots a VMware guest, runs an ELevate and Leapp based playbook to upgrade the OS, tests the web server, and cleans up. The host went from CentOS Linux 7 to Rocky Linux 8.8 with its web server still available, though heavily customized systems are less likely to succeed.

How does the workflow roll back a failed migration?

The first job template creates a VMware snapshot. If the migration playbook or the test suite fails, the workflow follows the on-failure path, which restores the snapshot and then deletes it, returning the CentOS 7 host to its previous state. Notifications could be added at those points as well.

How long does the CentOS 7 to Rocky Linux 8 upgrade take?

The migration playbook alone ran just under nineteen minutes. The Leapp pre-upgrade takes about five minutes, the upgrade roughly ten, and the reboot another five to eight minutes as the system restarts several times. Snapshots take thirty seconds to a minute, and the test suite depends on how many checks you include.

This video is part of the Ascender Pro playlist. Browse every CIQ video by product and topic.

Transcript

hey everybody I'm Greg Sowell and welcome to another ciq demo so today I'm going to be showing you how to use Ascender to transition a Cento 7 box over to a rocky 8 box yes it's possible now I'm going to pop into a sinder I'm going to fire it all off and then once it's completed I'm going to show a few of the steps we're kind of walk through I do need to tell you there are some caveats the uh more vanilla a system happens to be right so it's usually kind of like standard Apple packages things like that the more likely the

transition will be successful right I can't guarantee anything especially as you start kind of diverging off and start doing custom things it might be less successful so just keep that in mind right this isn't the end all be all but it can be a good tool to help you transition some machines let's begin with my Ascender here here I'm going to pop into job templates I've already created the inventory for my uh cnos boxes again that's a big list of all the hosts I could operate against projects pulling in my repository and my get repository is public and there will be an Associated uh blog

post with this video if it's not out already it will be shortly uh credentials how all log into the box template that's how I'm bringing it all home so I'm going to type in sent here to pull up all of my Associated Centos job templates and workflow job templates starting at the start here you can see I have a bunch of small job templates so that's one thing I always try to do is very discrete actions with my playbooks that way I can kind of use them like Lego bricks snap them together with work flows so if you look right here I've actually got some

that say VM snapshot that's because I have my infrastructure uh sitting on VMware and so what I'm going to do is my Centos 7 box the first thing I'm going to do is I'm going to take a snap snapshot of it then I'm going to try and do the migration and if it doesn't work I'm going to restore it back right so now I've got kind of failover along with that but you can see I have here's my Snapshot related ones I've got a web server test one for actually testing to make sure everything transitioned correctly and then I've got the actual migration uh Playbook

View full transcriptHide full transcript

and that one's the one that's using Elevate and leap uh to make that change but you see one down here that's called workflow I will pop open the visualizer just to give you an idea and each one of these little white boxes is actually a Playbook so what happens is when this workflow fires off it first creates a snapshot and then you see the green line that means on success I'm going to move over and then I'm going to run the migration so this is actually going to do the leete migration if that fails for some reason you see it follows the red line right

here it restores the snapshot so it'll restore that snapshot and then delete it so my CTO 7 boxes right back into the state it was like previous to any of this so it's kind of fail over there I could also and I probably would do do some notifications inside of there right just to give everybody an idea of what happened now say my migration Works successfully like that completes it's going to come over here to my testing suite and this could be you're testing a database server here I'm testing a web server you could do all kinds of various tests that you want and get

to reuse that for all kinds of different playbooks so it's not just for this individual thing like a testing Suite can be reused in lots of things so say in the future you want to provision some new syst system well guess what now you've got a testing Suite you can hit it against and you can again see that I have on failure on success options here so on failure it's going to do the exact same thing restore the snapshot and then delete it right and then subsequently you'd probably want to send a notification if it is successful in my case I've got it here removing

a snapshot and that's because this is a demo environment in a real live environment I probably wouldn't actually remove the snapshot I would keep it so just because all of my tests said everything was successful this process it's moving a lot of pieces so I would probably want to let it ride for a while maybe a week maybe two weeks before I actually delete that snapshot I digress so let's go ahead and launch this and that is easily done by clicking launch right here on the workflow now I could have clicked the rocket ship next to it or I could have hit it via the

API right because there's a fully feature uh fleshed out I should say API in here now that I have fired it off you can see that it's starting to run in the boxes here cuz it jumped me straight over to the jobs menu you see this one already completed so I could click on it and I can get more detailed information if I want to I can see all the output of that job run if I go to the job section it's going to show me the workflow running right here and then all the subsequent ones now I should if I tab over here I

can see my snap update right there's a snapshot that just got created so I'm going to pop back again this is a web server this is the initial web page that you can see on it once we're completed all the way the uh testing placeholder page is going to look a little bit different once it pulls the rocky pages so I will pop into the actual migration here and this is where I'm going to pause it because this takes about 20 minutes to migrate this machine and through the magic of editing you don't have to watch any of that so see you in a minute

all right so the main migration Playbook is completed and you can see the output here first I'm going to jump into jobs and I just want to look at the workflow diagram right so it looks like everything completed successfully all the way through so I know it's good let's dive back in to the individual migration Playbook and I can do that just by clicking again here and then going to Output so this will give you an idea of what happened inside of here and I'll give you the kind of the quick and dirty rundown on here so there is and again we will link the

documentation the Elevate documentation I built all this stuff from but I kind of took some license in there so the very first thing I do is I have have a task that's checking to make sure I'm not running against this uh rather running this against all of my hosts it's always kind of a a fear of mine that I will accidentally run it against all so what I do is my playbooks say all in the host portion and then I use the limit field and so this is just a task that makes sure that that is exactly what I'm doing I'm not running against everything

so first things first you got to make sure that your Centos box is updated so you're really just doing kind of a yum update Dy right here you can see if it has updated it'll go ahead and do a reboot I didn't require any of that I'm already updated next I'm grabbing the OS version this is really just for kind of documentation purposes at the very end here I'm installing the Elevate package after that I install the leap packages and then I run the leap pre-upgrade so part of uh the the Elevate system where it's calling leap to do all this stuff very first thing

you do is pre-upgrade and so it's going to kind of evaluate your Centos system it's going to take a look at it and give you recommendations on here the things you need to do here I've kind of the warnings right like this has been deprecated blah blah blah go through there and it generates this interesting report so what I do is I run through that report right here and I'm looking for uh everywhere where it has kind of a command recommendation so for some of it it will actually say hey this is uh kind of a showstopper here's the command you actually need to run

prior to doing the full upgrade and so I just have my uh Playbook this individual task right here goes through and finds all those commands and puts them in a list for me so there are some standard pre-upgrade fixes they recommend for Centos 7 systems so I have those right here so it's going to do those standard pre- upgrades after that I'm going to run through all the ones that it found in the uh report file so all the ones I found the report file I'm going to run all of those here and then I start the leap upgrade process so you can see that

this all right here these are actually timings of how long it took to do all this stuff those all go pretty fast uh the pre-upgrade I think takes about 5 minutes or so to get through uh that whole report building process but then when it actually does the leap upgrade that takes oh I want to say that whole system takes about 10 minutes on its own right there just to kind of run through the whole upgrade procedure after it does that you have to actually do a reboot and a reboot takes another 5 to 8 minutes somewhere in there because as it reboots it's actually

going to start doing some of the migration it'll pause it'll reboot again this the system will kind of automatically do this it'll just kind of keep doing this until it's complete once it is it will come up I had to actually do a little fix here so it changes the python interpreter uh after it goes from Cento 7 to Rocky 8 it actually kind of changes that so I just adjust that variable here and then I'm grabbing what current version I have so that I can spit it out on screen so you can see we started with Centos Linux 7 core after it was done

with the upgrade we've got rocky Linux 8.8 green obsidian good to go let's uh pop over to the web server do a refresh and there you are so it actually went from CTO 7 to Rocky 8 It upgraded all those components my web server is still up and available let me take a look at my system here you can see that snap update is deleted because our workflow completed successfully remember part of the workflow was um if you run the migration successful run the test successful then go ahead and delete the snapshot but again if I was actually doing that production I probably wouldn't delete

Snapshot I would hang on to it for a little bit but as you could see it was pretty succinct it is timec consuming if you look over here in the uh the right corner you can see it took just under 19 minutes just for this individual Playbook run to happen itself the snapshots will take I don't know 30 seconds to a minute on those the testing Suite takes however long you bake in right it doesn't uh have kind of any set time because I could have five controls I'm testing against I could have 10 right it's going to vary in your environment I would love

if you have any questions or comments to reach out to us um if you would tweak or tune or change this to fit your environment I would love some interaction please reach out talk to me this is a lonely black void I'm screaming into please come back if you are interested in support for Ascender we do a great job of that stop counting noes if you know you know um if nothing else happy automating happy uh elevating happy leaping and uh we'll see you next time bye

Built for scale. Chosen by the world’s best.

2.75M+

Rocky Linux instances

Being used world wide

90%

Of fortune 100 companies

Use CIQ supported technologies

250k

Avg. monthly downloads

Rocky Linux

9

Enterprise products

Spanning the kernel to the orchestrator

Have questions about your infrastructure?

Talk to a CIQ engineer about Rocky Linux, HPC, and AI infrastructure.

Talk to an Expert