{"id":516948,"date":"2018-11-21T10:11:38","date_gmt":"2018-11-21T09:11:38","guid":{"rendered":"https:\/\/www.devoteam.com\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/"},"modified":"2018-11-21T10:11:38","modified_gmt":"2018-11-21T09:11:38","slug":"using-ansible-tower-to-deploy-openshift-on-azure-episode-4","status":"publish","type":"expert-view","link":"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/","title":{"rendered":"Using Ansible Tower to deploy OpenShift on Azure: episode 4"},"content":{"rendered":"<h2><span style=\"font-weight: 400\">Add more job templates to configure hosts &amp; install OpenShift OKD<\/span><\/h2>\n<p><i><span style=\"font-weight: 400\">In the fourth episode of our <a href=\"https:\/\/belgium.devoteam.com\/blog-post\/ansible-tower-openshift-azure-tower-installation-prerequisites\/\">blog series<\/a>, we are going to add two more job templates to our Ansible Tower.<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400\">The first job template will use <code>playbook-2.yml<\/code>, which executes the following roles:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">osPrerequisites: installs needed packages, configures system file, starts docker<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">osDNS: modifies \/etc\/hosts and adds the correct hostname to your machine<\/span><\/li>\n<\/ol>\n<p>Explore the playbook on<span style=\"font-weight: 400\"> <\/span><a href=\"https:\/\/odyssey.devoteam.be\/publicOKD\/deployOkdAzure\/blob\/master\/playbook-2.yml\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400\">Gitlab<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">The second job template will use <code>playbook-3.yml<\/code> and has the following roles:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">osStart: starts OpenShift OKD and sets the routing-suffix parameter to <code>{{public ip}}.nip.io<\/code>. We will go deeper into this matter later on in this episode<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">osReStart: checks it will be able to restart via <code>systemd<\/code><\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">osConigureUsers: creates the user developer with password developer and gives it <code>clusteradmin<\/code> rights<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">osInstallPHPApplication: creates a new project, installs <code>php 7.1<\/code> together with a <code>php application<\/code> from Devoteam\u2019s GitLab server<\/span><\/li>\n<\/ol>\n<p>Explore the playbook on&nbsp;<a href=\"https:\/\/odyssey.devoteam.be\/publicOKD\/deployOkdAzure\/blob\/master\/playbook-3.yml\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400\">Gitlab<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">In Ansible Tower click on <code>RESOURCES\/Template<\/code>.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Click on the <\/span><code><span style=\"font-weight: 400\">+ ADD&nbsp;<\/span><\/code><span style=\"font-weight: 400\">button and choose &#8216;<\/span>Job Template&#8217;<span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">NAME: OKD Azure Part 2<br \/>\n<\/span><span style=\"font-weight: 400\">JOB TYPE: Run<br \/>\n<\/span><span style=\"font-weight: 400\">INVENTORY: OKD<br \/>\n<\/span><span style=\"font-weight: 400\">PROJECT: Azure Deployment OKD<br \/>\n<\/span><span style=\"font-weight: 400\">PLAYBOOK: playbook-2.yml<br \/>\n<\/span><span style=\"font-weight: 400\">CREDENTIAL: Add the machine credential clusteradmin we created in <\/span><a href=\"https:\/\/belgium.devoteam.com\/blog-post\/ansible-tower-openshift-azure-project-credentials\/\"><span style=\"font-weight: 400\">episode 2<\/span><\/a><br \/>\n<span style=\"font-weight: 400\">VERBOSITY: 1 (Verbose)<\/span><\/p>\n<p><code><span style=\"font-weight: 400\"> Save <\/span><\/code><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">In Ansible Tower click on <code>RESOURCES\/Template<\/code>.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Click on the <\/span><code><span style=\"font-weight: 400\">+ ADD<\/span><\/code><span style=\"font-weight: 400\">&nbsp;button and choose &#8216;<\/span><code><b>Job Template'<\/b><\/code><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">NAME: OKD Azure Part 3<br \/>\n<\/span><span style=\"font-size: 0.875rem\">JOB TYPE: Run<br \/>\n<\/span><span style=\"font-weight: 400\">INVENTORY: OKD<br \/>\n<\/span><span style=\"font-weight: 400\">PROJECT: Azure Deployment OKD<br \/>\n<\/span><span style=\"font-weight: 400\">PLAYBOOK: playbook-3.yml<br \/>\n<\/span><span style=\"font-weight: 400\">CREDENTIAL: Add the machine credential clusteradmin we created in <a href=\"https:\/\/belgium.devoteam.com\/blog-post\/ansible-tower-openshift-azure-project-credentials\/\">episode 2<\/a><br \/>\n<\/span><span style=\"font-weight: 400\">VERBOSITY: 1 (Verbose)<\/span><\/p>\n<p><code><span style=\"font-weight: 400\"> Save <\/span><\/code><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">For now we only created job templates. The real power of Ansible Tower lays in the Workflow Templates. With these templates you can link different job templates together, synchronize projects and inventories on demand.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In Ansible Tower click on <code>RESOURCES\/Template<\/code>.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Click on the <\/span><code><span style=\"font-weight: 400\">+ <\/span><\/code><span style=\"font-weight: 400\">button and choose &#8216;<\/span><code><b>Workflow Template'<\/b><\/code><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In the Details tab we name the template.<\/span><\/p>\n<p><span style=\"font-weight: 400\">NAME: OKD Azure Workflow<\/span><\/p>\n<p><code><span style=\"font-weight: 400\"> Save <\/span><\/code><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Because we will start our playbooks from this workflow from now on, we have to create the survey also here. We did the same in <a href=\"https:\/\/belgium.devoteam.com\/blog-post\/using-ansible-tower-deploy-openshift-azure-episode-3\/\">episode 3<\/a> for template OKD Azure Part 1.<\/span><\/p>\n<p><code>EDIT SURVEY<\/code><\/p>\n<p><span style=\"font-weight: 400\">PROMPT: Machine prefix<br \/>\n<\/span><span style=\"font-weight: 400\">DESCRIPTION: This prefix will be used both on the machines deployed on Azure, as well as for the dns creation. It must be unique in the .<\/span><i><span style=\"font-weight: 400\">westeurope.cloudapp.azure.com domain<br \/>\n<\/span><\/i><span style=\"font-weight: 400\">ANSWER VARIABLE NAME: azure_virtualMachineName<br \/>\n<\/span><span style=\"font-weight: 400\">ANSWER TYPE: Text<br \/>\n<\/span><span style=\"font-weight: 400\">MINIMUM LENGTH: 5&nbsp; &nbsp; &nbsp; &nbsp;MAXIMUM LENGTH: 50<br \/>\n<\/span><span style=\"font-weight: 400\">REQUIRED: Checked<\/span><\/p>\n<p><span style=\"font-weight: 400\"><code> +ADD<\/code> &nbsp;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">The second variable is the <code>openSSH<\/code> public matching the private key we added in <a href=\"https:\/\/belgium.devoteam.com\/blog-post\/ansible-tower-openshift-azure-project-credentials\/\">episode 2<\/a>. You can get it via: <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40-tt-width-888-height-92-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.png\" alt=\"\" class=\"aligncenter wp-image-7481\" width=\"500\" height=\"52\"><\/p>\n<p><span style=\"font-weight: 400\">PROMPT: ssh public key. &nbsp;This is the key we created in <\/span><a href=\"https:\/\/belgium.devoteam.com\/blog-post\/ansible-tower-openshift-azure-tower-installation-prerequisites\/\"><span style=\"font-weight: 400\">episode 1<\/span><\/a><span style=\"font-weight: 400\"><br \/>\n<\/span><span style=\"font-weight: 400\">DESCRIPTION: .<br \/>\n<\/span><span style=\"font-weight: 400\">ANSWER VARIABLE NAME: ssh_sshPubKey<br \/>\n<\/span><span style=\"font-weight: 400\">ANSWER TYPE: Text<br \/>\n<\/span><span style=\"font-weight: 400\">DEFAULT ANSWER: &lt;paste the public key&gt;<br \/>\n<\/span><span style=\"font-weight: 400\">REQUIRED: Checked<\/span><\/p>\n<p><code><span style=\"font-weight: 400\"> +ADD<\/span><span style=\"font-weight: 400\"> &nbsp;<\/span><\/code><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">The next variable is the Azure resource group that will be used to create the machines.<\/span><\/p>\n<p><span style=\"font-weight: 400\">PROMPT: Azure resource group<br \/>\n<\/span><span style=\"font-weight: 400\">DESCRIPTION: The resource group you created on Azure where you want the machines deployed<br \/>\n<\/span><span style=\"font-weight: 400\">ANSWER VARIABLE NAME: azure_ResourceGroup<br \/>\n<\/span><span style=\"font-weight: 400\">ANSWER TYPE: Text<br \/>\n<\/span><span style=\"font-weight: 400\">REQUIRED: Checked<\/span><\/p>\n<p><span style=\"font-weight: 400\"><code> +ADD<\/code> &nbsp;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Now we only need the user and password for Azure.<\/span><\/p>\n<p><span style=\"font-weight: 400\">PROMPT: Azure AD user<br \/>\n<\/span><span style=\"font-weight: 400\">DESCRIPTION:<br \/>\n<\/span><span style=\"font-weight: 400\">ANSWER VARIABLE NAME: AZURE_AD_USER<br \/>\n<\/span><span style=\"font-weight: 400\">ANSWER TYPE: Text<br \/>\n<\/span><span style=\"font-weight: 400\">REQUIRED: Checked<\/span><\/p>\n<p><code><span style=\"font-weight: 400\"> +ADD <\/span><span style=\"font-weight: 400\">&nbsp;<\/span><\/code><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">PROMPT: Azure password<br \/>\n<\/span><span style=\"font-weight: 400\">DESCRIPTION:<br \/>\n<\/span><span style=\"font-weight: 400\">ANSWER VARIABLE NAME: AZURE_PASSWORD<br \/>\n<\/span><span style=\"font-weight: 400\">ANSWER TYPE: Password<br \/>\n<\/span><span style=\"font-weight: 400\">REQUIRED: Checked<\/span><\/p>\n<p><code><span style=\"font-weight: 400\"> +ADD <\/span><span style=\"font-weight: 400\">&nbsp;<\/span><\/code><\/p>\n<p><code><span style=\"font-weight: 400\">Save <\/span><\/code><\/p>\n<p><span style=\"font-weight: 400\"><strong>Attention<\/strong>: don&#8217;t forget to save or you&#8217;ll need to enter the survey again from scratch.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Now you should also be able to click on the<\/span><b>&nbsp;<code>WORKFLOW VISUALIZER&nbsp;<\/code><\/b><span style=\"font-weight: 400\">button.<\/span><\/p>\n<p><span style=\"font-weight: 400\">From the start we click on <\/span><code><span style=\"font-weight: 400\">+ <\/span><\/code><span style=\"font-weight: 400\">and we add a project sync block. Select the Azure Deployment ODK project and click on <\/span><code><span style=\"font-weight: 400\">Select <\/span><\/code><span style=\"font-weight: 400\">. &nbsp;<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-18-20-tt-width-888-height-936-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.png\" alt=\"\" class=\"aligncenter wp-image-7491\" width=\"250\" height=\"264\"><\/p>\n<p><span style=\"font-weight: 400\">Starting from this block we will add a jobs block and select the OKD Azure Part 1 job template. Select and check to run \u2018Always\u2019.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Starting from this job template block, we will add a block Inventory Sync and we select the OKD inventory. Select and check to run \u2018On Success\u2019.<\/span><\/p>\n<p><span style=\"font-weight: 400\">From this block, we will add again a jobs block OKD Azure part 2. Select and check to run \u2018On Success\u2019.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The last block we add, will also be a jobs block OKD Azure part 3. Select and check to run \u2018On Success\u2019.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Now click&nbsp;<\/span><span style=\"font-weight: 400\"><code>Save<\/code>&nbsp;<\/span><span style=\"font-weight: 400\">to create this workflow.&nbsp;<\/span><span style=\"font-weight: 400\">Your workflow should look like this:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-22-08-tt-width-1212-height-86-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.png\" alt=\"\" class=\"aligncenter wp-image-7501\" width=\"600\" height=\"43\"><\/p>\n<p><span style=\"font-weight: 400\">This workflow consists of the following steps:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A project sync to make sure we have the last version from git<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Running of the first playbook that creates the VM on Azure and creates the inventory hosts for our next playbooks<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">An inventory sync for the next playbooks<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Running of the playbook, which runs the prerequisites for the OKD installation on the VM<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Running of the playbook which installs OKD and the demo application<\/span><\/li>\n<\/ol>\n<p>Now we will run this workflow template and sit back and watch what happens.<\/p>\n<p><span style=\"font-weight: 400\"><code>RESOURCE\/Template<\/code> and click the \u2018launch\u2019 icon after the OKD Azure Workflow template.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-23-20-tt-width-1358-height-658-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.png\" alt=\"\" class=\"aligncenter wp-image-7511\" width=\"600\" height=\"291\"><\/p>\n<p><span style=\"font-weight: 400\">During runtime, you can follow what Tower is doing at this point.&nbsp;<\/span><span style=\"font-weight: 400\">If you go to the <code>RESOURCE\/Template<\/code> screen, you see this layout:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-23-49-tt-width-1350-height-742-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.png\" alt=\"\" class=\"aligncenter wp-image-7521\" width=\"600\" height=\"330\"><\/p>\n<p><span style=\"font-weight: 400\">If you click on the first blinking green icon you should be able to see what this first playbook does.<\/span><\/p>\n<p><span style=\"font-weight: 400\">After the three job templates are finished, the application is ready. This can take about 30 minutes.<\/span><\/p>\n<p><span style=\"font-weight: 400\">After running this workflow template you should be able to login to Openshift OKD.&nbsp;<\/span><span style=\"font-weight: 400\">The url to use is: https:\/\/master0<\/span><span style=\"font-weight: 400\">yourUniqueString<\/span><span style=\"font-weight: 400\">.westeurope.cloudapp.azure.com:8443\/console<\/span><\/p>\n<p><code><span style=\"font-weight: 400\">yourUniqueString<\/span><\/code><span style=\"font-weight: 400\"> is the value you entered in the survey.<\/span><\/p>\n<p><span style=\"font-weight: 400\">You can login with user \u2018developer\u2019 by using \u2018developer\u2019 as password.<\/span><\/p>\n<p><span style=\"font-weight: 400\">This user has cluster admin rights. If you login, you should be able to see the project we made for the php demo project. The \u2018devoteam php countdown project\u2019.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-24-13-tt-width-1330-height-808-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.png\" alt=\"\" class=\"aligncenter wp-image-7531\" width=\"500\" height=\"304\"><\/p>\n<p><span style=\"font-weight: 400\">When you enter this project, you will be able to open the project and see the following screen:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-24-36-tt-width-1330-height-996-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.png\" alt=\"\" class=\"aligncenter wp-image-7541\" width=\"500\" height=\"374\"><\/p>\n<p><span style=\"font-weight: 400\">At the top right you see the link of the <code>php<\/code> application, for this we use the <code>nip.io<\/code> service.<\/span><\/p>\n<p><span style=\"font-weight: 400\">NIP.IO allows you to map any IP Address in the following DNS wildcard entries:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">10.0.0.1.nip.io maps to 10.0.0.1<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">app.10.0.0.1.nip.io maps to 10.0.0.1<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">customer1.app.10.0.0.1.nip.io maps to 10.0.0.1<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">customer2.app.10.0.0.1.nip.io maps to 10.0.0.1<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">otherapp.10.0.0.1.nip.io maps to 10.0.0.1<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">So the address <\/span><a href=\"http:\/\/phpcountdown-php-devoteam.13.81.31.211.nip.io\/\"><span style=\"font-weight: 400\">http:\/\/phpcountdown-php-devoteam.13.81.31.211.nip.io<\/span><\/a><span style=\"font-weight: 400\"> will redirect to 13.81.31.211. The IP in the link will be different for you.<\/span><\/p>\n<p><span style=\"font-weight: 400\">When you click on the link you will be redirected to the demo application:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-24-56-tt-width-1328-height-514-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.png\" alt=\"\" class=\"aligncenter wp-image-7551\" width=\"500\" height=\"194\"><\/p>\n<h2><span style=\"font-weight: 400\">What\u2019s next?<\/span><\/h2>\n<p><span style=\"font-weight: 400\">This blog post is part of the series \u2018<\/span><a href=\"https:\/\/belgium.devoteam.com\/blog-post\/ansible-tower-openshift-azure-tower-installation-prerequisites\/\"><span style=\"font-weight: 400\">Using Ansible Tower to deploy OpenShift on Azure: a step-by-step guide<\/span><\/a><span style=\"font-weight: 400\">\u201d. In the <a href=\"https:\/\/belgium.devoteam.com\/blog-post\/ansible-tower-openshift-azure-command-line\/\">next and final episode<\/a>, we show you how to <\/span><b>automate tasks<\/b><span style=\"font-weight: 400\"> on OpenShift via Ansible by using the <\/span><b>command-line<\/b><span style=\"font-weight: 400\"> interface. <\/span><\/p>\n<div class=\"row-more clearfix\"><a href=\"https:\/\/belgium.devoteam.com\/blog-post\/ansible-tower-openshift-azure-command-line\/\" class=\"bt-more\">Next episode<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Add more job templates to configure hosts &amp; install OpenShift OKD In the fourth episode of our blog series, we are going to add two more job templates to our Ansible Tower. The first job template will use playbook-2.yml, which executes the following roles: osPrerequisites: installs needed packages, configures system file, starts docker osDNS: modifies [&hellip;]<\/p>\n","protected":false},"featured_media":133749,"template":"","categories":[1631],"tags":[],"industry":[],"class_list":["post-516948","expert-view","type-expert-view","status-publish","has-post-thumbnail","hentry","category-cloud-native-architecture"],"acf":[],"cards":"\n\t<div class=\"single-post-card\">\n\n\t\t<figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/\" target=\"_self\" ><img width=\"888\" height=\"92\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Using Ansible Tower to deploy OpenShift on Azure: episode 4\" style=\"aspect-ratio:4\/3;width:100%;object-fit:cover;\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40.png 888w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40-300x31.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40-768x80.png 768w\" sizes=\"auto, (max-width: 888px) 100vw, 888px\" \/><\/a><\/figure>\n\n\t\t\n\t\t<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-43282307 wp-block-group-is-layout-flex\">\n\t<p style=\"font-style:normal;font-weight:700\" class=\"has-link-color wp-elements-1 wp-block-lp-post-type has-text-color has-primary-color has-small-font-size\">Expert View<\/p>\n\n\t\t\n\t\t<h3 style=\"font-style:normal;font-weight:400\" class=\"wp-block-post-title has-base-font-size\"><a href=\"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/\" target=\"_self\" >Using Ansible Tower to deploy OpenShift on Azure: episode 4<\/a><\/h3><\/div>\n\t\t\n\t<\/div>\n\n","yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Using Ansible Tower to deploy OpenShift on Azure: episode 4 | Devoteam<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Ansible Tower to deploy OpenShift on Azure: episode 4\" \/>\n<meta property=\"og:description\" content=\"Add more job templates to configure hosts &amp; install OpenShift OKD In the fourth episode of our blog series, we are going to add two more job templates to our Ansible Tower. The first job template will use playbook-2.yml, which executes the following roles: osPrerequisites: installs needed packages, configures system file, starts docker osDNS: modifies [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/\" \/>\n<meta property=\"og:site_name\" content=\"Devoteam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/expert-view\\\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\\\/\",\"url\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/expert-view\\\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\\\/\",\"name\":\"Using Ansible Tower to deploy OpenShift on Azure: episode 4 | Devoteam\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/expert-view\\\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/expert-view\\\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/screenshot-2018-11-07-at-11-17-40.png\",\"datePublished\":\"2018-11-21T09:11:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/expert-view\\\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\\\/#breadcrumb\"},\"inLanguage\":\"en-LU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/devoteam.info\\\/lu\\\/expert-view\\\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-LU\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/expert-view\\\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\\\/#primaryimage\",\"url\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/screenshot-2018-11-07-at-11-17-40.png\",\"contentUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/screenshot-2018-11-07-at-11-17-40.png\",\"width\":888,\"height\":92},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/expert-view\\\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expert View\",\"item\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/expert-view\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Using Ansible Tower to deploy OpenShift on Azure: episode 4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/#website\",\"url\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/\",\"name\":\"Devoteam\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/devoteam.info\\\/lu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-LU\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Using Ansible Tower to deploy OpenShift on Azure: episode 4 | Devoteam","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/","og_locale":"en_US","og_type":"article","og_title":"Using Ansible Tower to deploy OpenShift on Azure: episode 4","og_description":"Add more job templates to configure hosts &amp; install OpenShift OKD In the fourth episode of our blog series, we are going to add two more job templates to our Ansible Tower. The first job template will use playbook-2.yml, which executes the following roles: osPrerequisites: installs needed packages, configures system file, starts docker osDNS: modifies [&hellip;]","og_url":"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/","og_site_name":"Devoteam","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/","url":"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/","name":"Using Ansible Tower to deploy OpenShift on Azure: episode 4 | Devoteam","isPartOf":{"@id":"https:\/\/devoteam.info\/lu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/#primaryimage"},"image":{"@id":"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/#primaryimage"},"thumbnailUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40.png","datePublished":"2018-11-21T09:11:38+00:00","breadcrumb":{"@id":"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/#breadcrumb"},"inLanguage":"en-LU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/"]}]},{"@type":"ImageObject","inLanguage":"en-LU","@id":"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/#primaryimage","url":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40.png","contentUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40.png","width":888,"height":92},{"@type":"BreadcrumbList","@id":"https:\/\/devoteam.info\/lu\/expert-view\/using-ansible-tower-to-deploy-openshift-on-azure-episode-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devoteam.info\/lu\/"},{"@type":"ListItem","position":2,"name":"Expert View","item":"https:\/\/devoteam.info\/lu\/expert-view\/"},{"@type":"ListItem","position":3,"name":"Using Ansible Tower to deploy OpenShift on Azure: episode 4"}]},{"@type":"WebSite","@id":"https:\/\/devoteam.info\/lu\/#website","url":"https:\/\/devoteam.info\/lu\/","name":"Devoteam","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devoteam.info\/lu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-LU"}]}},"uagb_featured_image_src":{"full":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40.png",888,92,false],"thumbnail":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40-150x92.png",150,92,true],"medium":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40-300x31.png",300,31,true],"medium_large":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40-768x80.png",768,80,true],"large":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40.png",888,92,false],"1536x1536":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40.png",888,92,false],"2048x2048":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/screenshot-2018-11-07-at-11-17-40.png",888,92,false]},"uagb_author_info":{"display_name":"wcraye","author_link":"https:\/\/devoteam.info\/lu\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"Add more job templates to configure hosts &amp; install OpenShift OKD In the fourth episode of our blog series, we are going to add two more job templates to our Ansible Tower. The first job template will use playbook-2.yml, which executes the following roles: osPrerequisites: installs needed packages, configures system file, starts docker osDNS: modifies&hellip;","_links":{"self":[{"href":"https:\/\/devoteam.info\/lu\/wp-json\/wp\/v2\/expert-view\/516948","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devoteam.info\/lu\/wp-json\/wp\/v2\/expert-view"}],"about":[{"href":"https:\/\/devoteam.info\/lu\/wp-json\/wp\/v2\/types\/expert-view"}],"version-history":[{"count":0,"href":"https:\/\/devoteam.info\/lu\/wp-json\/wp\/v2\/expert-view\/516948\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devoteam.info\/lu\/wp-json\/wp\/v2\/media\/133749"}],"wp:attachment":[{"href":"https:\/\/devoteam.info\/lu\/wp-json\/wp\/v2\/media?parent=516948"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devoteam.info\/lu\/wp-json\/wp\/v2\/categories?post=516948"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devoteam.info\/lu\/wp-json\/wp\/v2\/tags?post=516948"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/devoteam.info\/lu\/wp-json\/wp\/v2\/industry?post=516948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}