So friends in this particular video, what I want to do is to walk you through
the installation
of Ansible Automation Platform specifically so that we get access to the Ans
ible Automation
Controller.
Now the automation controller is a newer concept than Ansible ultimately
replaces what was known
as Ansible Tower and effectively this gives us a nice graphical user interface
to manage
our Ansible Automation.
So as opposed to just doing things directly via the Red Hat Enterprise Linux
command line,
we have this nice graphical user interface as well as the ability to interact WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
we have this nice graphical user interface as well as the ability to interact
with this
controller utilizing APIs.
Now we don't have to dig in to deep into all of the features within Ansible
Automation
Controller indeed instead.
All I want to do is to give you some exposure to this particular utility
because like I
say, this is very very popular and widespread within the enterprise world.
The simple being is because a graphical user interface is a nice easy way to
handle automation
and also gives us some nice additional benefits we actually can control who WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and also gives us some nice additional benefits we actually can control who
accesses the controller
via role based access control so we can create users and groups and assign
particular permissions
to those users and groups.
We'll get to see how we can create completely different organizations which use
different
inventories that type of thing and also simplifies how we can schedule the
execution of what
are known as jobs within Ansible.
So really this is a nice modern way of implementing Ansible Automation in a Dev
Ops environment.
So with that said, how about we go and begin walking through how we can WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So with that said, how about we go and begin walking through how we can
actually get the
Ansible Automation Controller up and running.
So here is what I want to do on my actual control mode here.
This is my regular Ansible control mode.
I'm going to go to my browser, sort of type in Firefox.
So if we just go to Google and we search for Red Hat login, what we're going to
have to
do is to log in to a Red Hat account.
So let's click this top link here and all I will do is type in the email
address, the
very same one that I use when I happen to install Red Hat Enterprise Linux, you
should just
do the same thing for yourself too. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
do the same thing for yourself too.
Okay, so all I did was provide the username and corresponding password.
And with that now done, what I'm going to do is I'm going to go to download
here.
So let me click this link here.
Perfect.
So this now takes me to the product downloads, all the things that I
effectively have access
to.
So if I just scroll on down a little bit, we can actually see here I have this
particular
link for Red Hat Ansible automation platform.
This is what we want to click on.
Okay, so let's go here and just click this.
Okay, perfect.
So now what we actually have here is the link that we need for the installation WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So now what we actually have here is the link that we need for the installation
.
Now bear in mind, contingent upon whatever platform you happen to be using, you
want
to install the correct version.
Remember, in my case, I happen to be using a MacBook, which is running Red Hat
Enterprise
Linux on a virtual machine.
So because my MacBook happens to use the ARM architecture, I want to get the
correct version
that's going to run within my virtual machine.
So again, if you're using a newer MacBook, you would do the same type of thing.
If you're using Windows or just regular Linux, then you can choose a different
architecture.
So check this out. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So check this out.
In my case here, I'm just going to go with the latest version and specify the
architecture
for me is going to be arch 64 for the ARM architecture.
Now if I scroll on down, we can see we actually have different installers
available to us.
Now what I want to do in my case here is I want to download the setup bundle.
This is the one I'm going to be using.
Now notice here that this is going to require almost a two gig download in
terms of storage.
So ensure that you actually have this storage space available within your
virtual machine. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
virtual machine.
Okay.
So let's go and click download now.
And what it's going to do is going to download this particular package.
So for now, all I will do is I will pause this and I will come back when the
demo has
completed.
Okay.
So the package has downloaded what I want to do is I want to effectively
extract this.
So what I will do is if I just right click this and I say show in folder and if
I just
right click on this and I look at the properties, I can actually see where
abouts in the directory
structure where this particular file exists.
So it's in the home nugget user downloads directory. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So it's in the home nugget user downloads directory.
So let me go to that just now.
So right now at the moment, I happen to be the Ansible user.
Let me just change into nugget user.
Or type in the password or password one, which is the password for that
particular account.
If I now do a CD, I go to my home directory, do an LS, I can now go into the
downloads
directory.
And if I say LS once again, we can actually see here this is the download right
here.
Now we actually see another one below that is because I had already demoed us
up before
to practice.
So to make sure it works.
But in your case here, you should just expect to see one. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But in your case here, you should just expect to see one.
Okay.
So this is all we have here.
And what I now want to do is I want to effectively extract this.
So right now this is a tar ball that happens to be utilizing Gzip compression.
So once again, if I look at the tar page or the man page for tar and I scroll
on down,
if we keep on scrolling, we can actually see all of the different flags to
specify the
actual filter used.
The dash J is for B zip to dash capital G is for X Z.
If I press space bar again, we can actually see the dash Z allows me to extract
the Gzip WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
the Gzip
based compression.
So that is the one I'm going to be doing.
So what I will say here is tar.
And I'll say X to extract Z for the Gzip compression.
And I'll specify the file that I want to extract is going to be simply the file
that
I just downloaded.
So let's just enter here and just give it a moment to complete.
Perfect.
And now it's completed.
If I now do an LS, we can see here what I actually have now is this directory
structure.
So if I see the end of this particular directory into an LS, here is what we
actually have.
Now what I want to do is I want to go into this particular file here in Vint WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Now what I want to do is I want to go into this particular file here in Vint
oria care.
Now before I do that, what you'll actually notice is that my host name here
happens to
be red box, which you can actually see in the cursor right here.
And if I go back and I just say pseudo VIM, it's a hosts type in super user
password.
Notice from earlier on within this course, I have already mapped the static IP
addresses
to the actual managed devices within my topologies.
So the yellow box has the IP address of 192.168.160.135.
And the blue box ends in dot 134. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And the blue box ends in dot 134.
What I'm going to do right here is I'm just going to specify that I'm going to
put in
the IP address of my local machine right here, which if you can just see here,
if I say IP
adder, my IP address on the control node is 192.168.160.133.
So let's go back in via them.
And I'll just map that to the name of red box.
And in fact, if I so wish, not that it's necessary, I can also add in just this
fully qualified
domain name example, just say example dot red box dot com and then have the
shortcut. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
shortcut.
But it may be the point being is that if I happen to ping the word red box, it
's going
to resolve to this IP address right here because it's in the AC host fails.
If I just now say ping red box right here, there we go right there.
And as we can see here, that indeed is affected to the host name.
Now, what is the reason why I'm doing any of this?
Simply put, if we go back into that same directory that we were just in, so the
download
directory, CD, let's go back into the answer automation directory, we've now
created to
an LS, we have this inventory file right here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
an LS, we have this inventory file right here.
So if I just say them and going to inventory right here, what I want to do is
under this
particular heading, Ansible controller, I'm going to specify that the
controller is going
to be my local machine pretty much the controller is going to exist on this
device right here.
Now, what is this device?
How do we reach it?
But if I just say red box, the domain name, that is going to be resolved to the
IP address
of this particular machine.
So really at this stage here, what you want to do is you want to take your host WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So really at this stage here, what you want to do is you want to take your host
name,
map it to its IP address, and then just specify the host name here under this
particular directive.
Once you've done that, just add in a space, then you want to say Ansible
underscore connection
is equal to local.
Now that is not all.
We also want to add in some additional passwords.
Now, I really should state here is that the configurations that we are looking
at are really
aimed at simplicity.
You can make this much, much more convoluted and complex.
You can have external databases, that type of thing. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
You can have external databases, that type of thing.
In the case here, we're just keeping it very, very stripped down.
Everything is going to be running on this single node.
It's not the most efficient way, but it is the simplest way just to learn the
platform.
Okay.
So with that said, if I just scroll on down, what I want to do is I want to go
down to this
part here under all vars, and then you have this option for admin underscore
password.
I'm just going to populate a password value here.
Now this is going to be affected by what I'm going to use to log in.
So I'll just use the password of password one again, not a very good password, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So I'll just use the password of password one again, not a very good password,
but it
is just a lab environment just to get as familiar.
And again, scrolling on down a little bit further, you get to this one here
saying PG underscore
passwords.
Again, I'm just going to make it the same as password one, keeping it very,
very simple.
So really all I've done is specify these login passwords.
And like I said up at the very top here, I've just referenced my own local
machine as the
Ansible controller itself.
With that now done, if I press escape colon wq to write and quit, we have now WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
With that now done, if I press escape colon wq to write and quit, we have now
updated
the values within this inventory file.
What I now want to do is I want to begin the setup dot s h script.
Now what is going to happen in my case here is I'm actually going to get an
error.
And that is because the configurations by default is going to require that I'm
going
to need to have eight gig of RAM available on this particular virtual machine
in order
to run Ansible automation platform.
Now this is a recommended minimum value, but again, we're not actually
manipulating or
managing an enterprise network. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
managing an enterprise network.
So I will show you how to modify this.
But first, let me just show you what the error message will actually look like
if you
also have a machine which has limited resources.
If I just say pseudo dot slash and then setup dot s h, if I hit enter here and
then type
in my super user password, it's going to begin the configuration.
Now it might seem here that everything is a okay, but very, very soon we're
going to
run into this error.
Now as we can see here, this is what we actually see.
It says here we have a failure. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
It says here we have a failure.
Now it says the failure is this machine does not have sufficient RAM to run Ans
ible automation
platform.
Like I say, my VM doesn't have a gig spare.
So whilst it's not optimal, let's see how we can actually change this
requirements.
Again, where am I in the actual directory structure, I happen to be here and
say that
the directory whereby I extracted this and if I do an LS, notice I also have
this collections
folder.
So the path I actually want to go into is if I see the inter collections, and WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So the path I actually want to go into is if I see the inter collections, and
by the way,
this is a pretty long path inside of there, there will be a directory called
Ansible underscore
collections, then another one called Ansible, then automation platform
installer, then rolls
then pre flights, and then a directory called default while I know that's
pretty long.
So if I see the entry here, do a PWD here is the entire path.
But if I do an LS, notice we have this main dot YML file.
This is the file I'm going to manipulate in order to change this particular WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
This is the file I'm going to manipulate in order to change this particular
requirements.
So let's just go in and say them main dot YML notice right here, it says the
required
RAM is 7,400, pretty much is going to be eight gig.
So let's just reduce this to let's maybe say, oh, I don't know, let's go with
one gig.
Let's go with 1000.
Okay, I definitely have that space.
So if I just save this and I just CD, let's go back into my downloads and again
, go back
into my Ansible automation platform directory.
Now again, we're in the same directory once again, we still have the changes
within the
inventory file. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
inventory file.
Let's now try to run the setup script.
So again, sudo dot slash setup dot SH and enter and hopefully we should
actually get a
better result.
But again, this may take a few minutes, just be patient depending on how fast
your system
happens to be.
All I'll do for now is pause the video and come back when it completes.
Okay, so after about five, ten minutes, the setup process has completed
successfully.
What I now want to do is I want to log in to the automation controller web UI.
So again, if I go back and just say IP adder, we can see the IP address of my WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So again, if I go back and just say IP adder, we can see the IP address of my
particular
machine.
Let me just copy this right here.
This is the controller.
Now if I go to my browser and paste in this IP address and hit enter, what we
actually
see here is we get a warning.
Now this is absolutely fine and expected.
The reason being is that because we happen to be using a self-signed
certificate, Firefox
as a browser is detecting a potential security issue.
But this is no problem for us.
What I will do is go to advanced, scroll on down and I'll just click accept the
risk WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
risk
and continue.
So once I do this, we now come to the web page of the Ansible automation
platform.
Now in my case here, the login username is going to be admin.
That is a default.
And now here, remember the passwords I was putting into the inventory file.
I wrote password one.
This is the password I want to use right here.
So again, I'll type in password one and hit enter.
And now we come to this page right here.
Effectively, we're going to have to use our Ansible automation subscription
details.
Recall, we do have a valid username and password for Red Hat. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Recall, we do have a valid username and password for Red Hat.
This is what we want to use.
If you so wish, you can go to the subscription allocations page on the Red Hat
customer portal.
This will allow you to effectively download and manifest file and you can
upload that.
But I find the easiest way to get this up and running is to click on username
and password.
And simply type in your Red Hat username and the corresponding Red Hat password
and
then select get subscription.
And then just go through next and accept the user license agreements.
So all we'll do is type in micro dentures and then follow that particular WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So all we'll do is type in micro dentures and then follow that particular
process.
So with that now done, you can see here I now have access to my graphical user
interface
dashboard for the Ansible automation platform automation controller.