<?xml version="1.0" encoding="UTF-8" standalone="yes"?><oembed><version><![CDATA[1.0]]></version><provider_name><![CDATA[CloudForms Now]]></provider_name><provider_url><![CDATA[http://cloudformsblog.redhat.com]]></provider_url><author_name><![CDATA[Jerome Marc]]></author_name><author_url><![CDATA[https://cloudformsblog.redhat.com/author/jeromemarc/]]></author_url><title><![CDATA[Introducing Ansible Tower Integration in CloudForms&nbsp;4.1]]></title><type><![CDATA[link]]></type><html><![CDATA[<p><a href="https://www.ansible.com/tower">Ansible Tower</a> is a management tool designed to help automate infrastructure operations. Ansible Tower features management of host inventory, Ansible playbooks, access keys and passwords, as well as detailed reporting and audit of infrastructure deployments. Ansible Tower is designed for team-based infrastructure management, and as such, facilitates user’s involvement at different levels of the infrastructure operations. It enhances basic Ansible CLI operations with a visual overview of the infrastructure states and provides management workflows across the enterprise. Using Ansible Tower, users can schedule Ansible playbook runs and monitor current and historical results, allowing for troubleshooting or identification of issues before they occur.<!--more--></p>
<p>&nbsp;</p>
<p><img data-attachment-id="1122" data-permalink="https://cloudformsblog.redhat.com/2016/07/22/ansible-tower-in-cloudforms/ansible-tower-dashboard/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/07/ansible-tower-dashboard.png?w=500&#038;h=364" data-orig-size="613,446" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Ansible Tower Dashboard" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/07/ansible-tower-dashboard.png?w=500&#038;h=364?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/07/ansible-tower-dashboard.png?w=500&#038;h=364?w=613" class="aligncenter wp-image-1122" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/07/ansible-tower-dashboard.png?w=500&#038;h=364" alt="Ansible Tower Dashboard" width="500" height="364" srcset="https://cloudformsredhat.files.wordpress.com/2016/07/ansible-tower-dashboard.png?w=500&amp;h=364 500w, https://cloudformsredhat.files.wordpress.com/2016/07/ansible-tower-dashboard.png?w=150&amp;h=109 150w, https://cloudformsredhat.files.wordpress.com/2016/07/ansible-tower-dashboard.png?w=300&amp;h=218 300w, https://cloudformsredhat.files.wordpress.com/2016/07/ansible-tower-dashboard.png 613w" sizes="(max-width: 500px) 100vw, 500px" /></p>
<p>&nbsp;</p>
<p>The latest <a href="https://access.redhat.com/documentation/en/red-hat-cloudforms/4.1/release-notes/release-notes">4.1 release</a> of Red Hat CloudForms provides an out-of-the-box integration to Ansible Tower. Ansible Tower is configured and presented as a Configuration Management provider in the same form and location as Red Hat Satellite 6. Once configured, the integration provides visibility in CloudForms of the Ansible Tower inventory, including hosts and job templates.</p>
<p>&nbsp;</p>
<p style="text-align:center;">		<form id="wpcom-iframe-form-bf8c75302ef974378bfb651b028d2c9a-5bd619ea68412" target="wpcom-iframe-bf8c75302ef974378bfb651b028d2c9a-5bd619ea68412" method="post" action="//wpcomwidgets.com/?wpcom_origin=https%3A%2F%2Fcloudformsredhat.wordpress.com" style="display: none">
							<input type="hidden" name="width" value="" />
							<input type="hidden" name="height" value="" />
							<input type="hidden" name="frameborder" value="0" />
							<input type="hidden" name="style" value="" />
							<input type="hidden" name="class" value="" />
							<input type="hidden" name="scrolling" value="no" />
							<input type="hidden" name="webkitallowfullscreen" value="" />
							<input type="hidden" name="mozallowfullscreen" value="" />
							<input type="hidden" name="allowfullscreen" value="" />
							<input type="hidden" name="resize" value="0" />
							<input type="hidden" name="replace_attributes" value="1" />
							<input type="hidden" name="fallback" value="&lt;p class=&quot;protected-embed-fallback&quot;&gt;This embed is invalid&lt;/p&gt;" />
							<input type="hidden" name="_data" value="PGNlbnRlcj4KPHRhYmxlPjx0Ym9keT48dHI+Cjx0ZD48aW1nIGNsYXNzPSJhbGlnbmNlbnRlciB3cC1pbWFnZS0xMDk2IiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsiIHNyYz0iaHR0cHM6Ly9jbG91ZGZvcm1zcmVkaGF0LmZpbGVzLndvcmRwcmVzcy5jb20vMjAxNi8wNy9pbWFnZTI2LnBuZz93PTMwMCIgYWx0PSJBbnNpYmxlIFRvd2VyIFByb3ZpZGVyIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjE2MCI+PC90ZD4KPHRkPjwvdGQ+Cjx0ZD48aW1nIGNsYXNzPSJhbGlnbmNlbnRlciB3cC1pbWFnZS0xMTEyIiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsiIHNyYz0iaHR0cHM6Ly9jbG91ZGZvcm1zcmVkaGF0LmZpbGVzLndvcmRwcmVzcy5jb20vMjAxNi8wNy9pbWFnZTQyLnBuZz93PTMwMCIgYWx0PSJBbnNpYmxlIFRvd2VyIEpvYiBUZW1wbGF0ZXMiIHdpZHRoPSIyODciIGhlaWdodD0iMTYwIj48L3RkPgo8L3RyPjwvdGJvZHk+PC90YWJsZT4KPC9jZW50ZXI+,a9f346a9ad426c79fb8b70b46e4c22b055b46d5f" />
							<input type="hidden" name="_tag" value="protected-iframe" />
							<input type="hidden" name="_hash" value="bf8c75302ef974378bfb651b028d2c9a" />
					</form>
		
				<iframe
						name="wpcom-iframe-bf8c75302ef974378bfb651b028d2c9a-5bd619ea68412"
			id="wpcom-iframe-bf8c75302ef974378bfb651b028d2c9a-5bd619ea68412"
			frameborder="0"
			scrolling="no"
									webkitallowfullscreen mozallowfullscreen allowfullscreen			class="wpcom-protected-iframe "
		></iframe>
		
		<script type="text/javascript">
		( function() {
			var func = function() {
				var iframe_form = document.getElementById('wpcom-iframe-form-bf8c75302ef974378bfb651b028d2c9a-5bd619ea68412');
				var iframe = document.getElementById('wpcom-iframe-bf8c75302ef974378bfb651b028d2c9a-5bd619ea68412');
				if ( iframe_form && iframe ) {
					iframe_form.submit();
					iframe.onload = function() {
						iframe.contentWindow.postMessage( {
							'msg_type': 'poll_size',
							'frame_id': 'wpcom-iframe-bf8c75302ef974378bfb651b028d2c9a-5bd619ea68412'
						}, window.location.protocol + '//wpcomwidgets.com' );
					}
				}

				// Autosize iframe
				var funcSizeResponse = function( e ) {
					var origin = document.createElement( 'a' );
					origin.href = e.origin;

					// Verify message origin
					if ( 'wpcomwidgets.com' !== origin.host )
						return;

					// Verify message is in a format we expect
					if ( 'object' !== typeof e.data || undefined === e.data.msg_type )
						return;

					switch ( e.data.msg_type ) {
						case 'poll_size:response':
							var iframe = document.getElementById( e.data._request.frame_id );

							if ( iframe && '' === iframe.width )
								iframe.width = '100%';
							if ( iframe && '' === iframe.height )
								iframe.height = parseInt( e.data.height );

							return;
						default:
							return;
					}
				}

				if ( 'function' === typeof window.addEventListener ) {
					window.addEventListener( 'message', funcSizeResponse, false );
				} else if ( 'function' === typeof window.attachEvent ) {
					window.attachEvent( 'onmessage', funcSizeResponse );
				}
			}
			if (document.readyState === 'complete') { func.apply(); /* compat for infinite scroll */ }
			else if ( document.addEventListener ) { document.addEventListener( 'readystatechange', function(){ 
if (document.readyState === 'complete') { 
func.apply(); 
} 
},  false ); }
			else if ( document.attachEvent ) { document.attachEvent( 'onreadystatechange', func ); }
		} )();
		</script>
		</p>
<p>&nbsp;</p>
<p>With this integration, Red Hat CloudForms leverages the automation capabilities of Ansible and extends its reach to third party applications, by re-using the large library of existing Ansible playbooks (see <a href="https://galaxy.ansible.com/">Ansible Galaxy</a>).</p>
<p>Practically, the integration brings to CloudForms the following capabilities:</p>
<ul>
<li>launch Ansible Job Templates from CloudForms Automate, such as Provisioning or Retirement State Machines, on a click of a button on a Host/VM, or as an action on a control policy</li>
<li>launch Ansible Job Templates from CloudForms Service Catalog as a Service Item or as part of a Service Bundle</li>
</ul>
<p>We will explore each of these capabilities over the next blog posts. Stay tuned!</p>
<p>This is the first article of our series on Ansible Tower Integration in Red Hat CloudForms:</p>
<ul>
<li>Part 1: <a href="http://cloudformsblog.redhat.com/2016/07/22/ansible-tower-in-cloudforms">Introducing Ansible Tower Integration in CloudForms 4.1</a></li>
<li>Part 2: <a href="http://cloudformsblog.redhat.com/2016/07/29/ansible-tower-provider-in-cloudforms/">Configuration of an Ansible Tower provider in CloudForms</a></li>
<li>Part 3: <a href="http://cloudformsblog.redhat.com/2016/08/05/launch-ansible-job-from-cloudforms-vm-button/">Launching our First Ansible Job Template on a VM in CloudForms</a></li>
<li>Part 4: <a href="http://cloudformsblog.redhat.com/2016/08/11/ansible-job-template-as-service-in-cloudforms/">Publishing an Ansible Job Template as a Service in CloudForms</a></li>
<li>Part 5: <a href="http://cloudformsblog.redhat.com/2016/08/17/ansible-job-template-in-cloudforms-service-bundle/">Using an Ansible Job Template in a CloudForms Service Bundle</a></li>
</ul>
]]></html><thumbnail_url><![CDATA[https://cloudformsredhat.files.wordpress.com/2016/07/ansible-tower-dashboard.png?fit=440%2C330]]></thumbnail_url><thumbnail_width><![CDATA[440]]></thumbnail_width><thumbnail_height><![CDATA[320]]></thumbnail_height></oembed>