About this video
In this video, we'll review the basics of provisioning with Red Hat Satellite. Satellite's able to provision to bare metal, virtual, private, and public clouds. Satellite has the ability to integrate into existing infrastructure services like DNS, DHCP, and identity platform, automating what normally would be a multi-step process. Satellite can also discover non-provisioned hosts. So discovery is a means to set up the networking infrastructure so that when new systems are brought in, you can simply turn them on, and those servers will show up in Satellite as new systems to manage. In the demo, we'll focus on two use cases: Provisioning of a virtual machine, and discovery of a new host. Satellite can provision in a lot of different ways. During this module, we're going to focus on two methods. Provision of a new virtual machine via a compute resource, and Discovery using a PXE boot. We'll start with provisioning using a compute resource. A compute resource in Satellite is used to define information about your compute resource provider, such as RHEV, VMware, Amazon, or libvirt. Creating a compute resource will enable you to make APA calls to your resource provider to provisioned hosts. Using a compute resource, I can create a host including a VM or a cloud instance. In Satellite, we'll go to infrastructure, compute resources. As you can see, I already have created a provider, libvirt. I'm using libvirt for ease of demo purposes. I'll click "create compute resource" to give you a feel for the options. Notice that as I choose the provider, the options change to be specific to that provider. I'll cancel out of this and take a quick look at the existing compute resource. Note that since this is already running, I have a bunch of virtual machines listed, as well as some compute profiles. Satellite by default includes the small, medium, and large compute profile options, but you need to configure the attributes to meet your needs. Let's also take a look at the host group. This will be relevant for any provisioning method that you use. A host group defines how a group of systems can be commonly configured. When we go to provision a host, the host group will allow many of the settings to be automatically completed based on the host group settings. I'll select RHEL7 Crash. And notice here that we have a lot of options such as the content source. This could be your Satellite or a capsule server. How to deploy: In this case libvirt. As well as your default compute profile. To actually provision a host, the steps are simple. Hosts. Create host. We'll provide a name. So my organization, my location, and then select my host group. You should notice that all the other fields get inherited from that host group. We can go through and select additional options, or change some of the defaults if we like, but generally speaking, it's not necessary. Before I hit submit, I'm going to open up my libvirt window. If you look at the list of host names, notice that that host does not currently exist. I'll select "Always on Top", back to my Satellite UI, and submit. Notice on the libvirt screen, the host name has appeared. If I open the console for that new host, I can see the host being provisioned with very little effort on my part. This will take a few minutes to complete, so we're gonna let that run in the background and we'll come back to it. Next I want to talk about provisioning using Discovery. There could be a few different reasons to use this method. Maybe you have a bare metal system, or maybe you have a separation of duties where the VM admins create the VMs, and the Linux admin just provisions and patches. Using Discovery is helpful in these instances. Discovery can be manual or automated. For the purposes of today's demo, I'm going to use virtual machines in libvirt. I have a couple already created that I'll start up, and I'll have Satellite discover them. In addition to the host groups that we've already covered, Satellite also has Discovery rules that allow you to match the system facts of discovered hosts to define how they are provisioned. For example, you might want to automatically provision hosts with a high CPU count as hypervisors. Or you might want to provision hosts with large hard disks as database servers. We'll click "Configure", "Discovery rules." I already have a role created, so I'll select it to show you the details. In this example, we're going to match the BIOS vendor and assign hosts with a BIOS vendor of C BIOS to the RHEL7 Crash host group. We'll also name the host based on the last octet of the IP address. I'll just cancel out of this. Under "Administrator", "Settings", and then "Discovered", I wanted to point out that auto provisioning is set to no. If it was set to yes, then upon discovering a new host Satellite would import it based on the Discovery rules and provision the OS automatically with no intervention from an admin. For this demo, I do want to manually start the provisioning. But I wanted to point out this setting as I currently have it disabled. So to provision I'm going to go back to libvert, and I'm going to create a VM. I'll select PXE boot, Linux, RHEL7.5, give it two gig of RAM and a 10 gig hard drive. Give it a name. I'm going to use the VLAN 127. We'll click finish. As soon as this starts, I'm actually going to power it down because I do want to make one other configuration change. In the boot options, I want it to boot from the NIC first because we will need to boot from network at least twice. I will apply. And run this host. Let me set this window to always be on top so you can see it running. Once this menu appears, I'm going to select the Foreman Discovery Image. And I'm just gonna let this run and not touch it. So we've got the success page, which means that Satellite has discovered the host and we're ready for the next step. Remember, if I'd enabled auto provisioning, the next step would have gone on without me. On Satellite, I'm going to go to "Hosts", "Discovered hosts", and I can click right on the system name to see all the details about the host. At the top under "Select Action", I can choose Auto Provision, which will use my Discovery rules to match and provision this host. Notice that the host is starting the provisioning process and is configuring the OS. This will take several minutes to complete. I can go on to the "Hosts", "All Hosts" page. We can see that that new host is listed at the top. And we match the host based on the Discovery rules that we provided, so it's named host dash 118, which is the last octet of the IP address. We can of course change that host name later. If I click into the host itself, we'll see the build is pending installation while this build completes. And as you can see, the installation process has completed. And that didn't just install the OS for us. It also applied any other software that we had listed in that host group. So it was part of the installation process, it also registered this host as Satellite. As you can see on the Satellite window, the build was installed. The configuration is up to date, but there is some security errata that's ready to be installed. So we could go on and patch the system like we showed you in an earlier video. I do want to reopen up the first machine that we booted, if you recall, in the beginning of this section. We had also deployed using a compute resource, host RHO53, so that one as well, you can see has completed its installation. So to recap this section, we first discovered using a compute resource. We created a brand new virtual machine on libvert. Provisioned that with an OS, and it's up and running. We then did a bare metal type discovery where we had a brand new, in this case it was a virtual machine, but could have been bare metal. Could be a VM that your hypervisor or virtualization team creates and hands over to you. But we detected that using Discovery. And we could have auto provisioned that entirely end to end using the Discovery rules. We did that a bit manually just to show you what it looked like. But that completes the provisioning portion. And we'll see you in the next video.