<?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[mwesley@redhat.com]]></author_name><author_url><![CDATA[https://cloudformsblog.redhat.com/author/mwesleyredhatcom/]]></author_url><title><![CDATA[Service Catalogs and the User Self-Service&nbsp;Portal]]></title><type><![CDATA[link]]></type><html><![CDATA[<p>One of the most interesting features of CloudForms is the ability to define services that can include one or more virtual machines (VMs) or instances and can be deployed across hybrid environments. Services can be made available to users through a self-service portal that allows users to order predefined IT services without IT operations getting involved, thereby delivering on one of the major promises of cloud computing.</p>
<p>The intention of this post is to provide you with step-by-step instructions to get you started with a simple service catalog. After you have gone through the basic concepts, you should have the skills to dive deeper into more complex setups.</p>
<p><!--more--></p>
<h2>Getting started with Service Catalogs</h2>
<p>Let’s set the stage for this post: You added your Amazon Web Services (AWS) account to CloudForms as a cloud provider. Your AWS account includes a Red Hat Enterprise Linux (RHEL) image ready to use. Now you want to give your users the ability to deploy RHEL instances on AWS but you want to limit or predefine most of the options they could choose when deploying these instances.</p>
<h3>Service Basics</h3>
<p>Four items are required to make a service available to users from the CloudForms self-service portal:</p>
<ul>
<li>A <strong>Provisioning Dialog</strong> which presents the basic configuration options for a VM or instance.</li>
<li>A <strong>Service Dialog</strong> where you allow users to configure VM or instance options.</li>
<li>A <strong>Service Catalog</strong> which is used to group Services Dialogs together.</li>
<li>A <strong>Service Catalog Item</strong> (ie. the actual Service) which joins a Service Dialog with a Provisioning Dialog.</li>
</ul>
<h2>Provisioning Dialogs</h2>
<p>To work with services in CloudForms it is important to understand the concept of Provisioning Dialogs. When you begin the process of provisioning a VM or instance via CloudForms, you are presented with a Provisioning Dialog where you set certain options for the VM or instance. The options presented are dependent on the provider you are using. For instance, a cloud provider might have &#8220;flavors&#8221; of instances, whereas an infrastructure provider might allow you to set the Memory size or number of CPUs on a VM.</p>
<p>Every provider in CloudForms comes with a sample provisioning dialog covering the options specific to that provider. To have a look at some sample Provisioning Dialogs, go to <strong>Automate &gt; Customization &gt; Provisioning Dialogs &gt; VM Provision</strong> and select &#8220;Sample Provisioning Dialogs&#8221;. This is a textual representation of the dialog you will get when you provision a VM or instance.</p>
<p>For this post, we need to make sure instance provisioning to AWS is working, so go to <strong>Compute &gt; Clouds &gt; Instances</strong> and create a new AWS instance by choosing &#8220;Provision Instances&#8221; from the &#8220;Lifecycle&#8221; drop-down. Select the image you are going to use, click “Continue” and walk through the Provisioning Dialog.</p>
<p><img data-attachment-id="1726" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image1-6/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image1.png?w=904&#038;h=425" data-orig-size="904,425" 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="image1" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image1.png?w=904&#038;h=425?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image1.png?w=904&#038;h=425?w=904" class="alignnone wp-image-1726 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image1.png?w=904&#038;h=425" alt="image1" width="904" height="425" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image1.png 904w, https://cloudformsredhat.files.wordpress.com/2016/11/image1.png?w=150&amp;h=71 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image1.png?w=300&amp;h=141 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image1.png?w=768&amp;h=361 768w" sizes="(max-width: 904px) 100vw, 904px" /></p>
<p><img data-attachment-id="1727" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image2-6/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image2.png?w=973&#038;h=450" data-orig-size="973,450" 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="image2" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image2.png?w=973&#038;h=450?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image2.png?w=973&#038;h=450?w=973" class="alignnone wp-image-1727 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image2.png?w=973&#038;h=450" alt="image2" width="973" height="450" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image2.png 973w, https://cloudformsredhat.files.wordpress.com/2016/11/image2.png?w=150&amp;h=69 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image2.png?w=300&amp;h=139 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image2.png?w=768&amp;h=355 768w" sizes="(max-width: 973px) 100vw, 973px" /></p>
<h2>Service Dialogs</h2>
<p>A Service Dialog determines which options the users get to change. The choice of options that are presented to the user is up to you. You could just give them the option to set the service name, or you could have them change all of the Provisioning Dialog options. You have to create a Service Dialog to define the options users are allowed to see and set. To help with creating a Service Dialog, CloudForms includes a simple form designer.</p>
<h3>Anatomy of a Service Dialog</h3>
<p>A Service Dialog contains three components:</p>
<ul>
<li>One or more &#8220;Tabs&#8221;</li>
<li>Inside the &#8220;Tabs&#8221;, one or more &#8220;Boxes&#8221;</li>
<li>Inside the &#8220;Boxes&#8221;, one or more &#8220;Elements&#8221;</li>
<li>The &#8220;Elements&#8221; contain methods, like check boxes, drop-down lists or text fields, to fill in the options on the Provisioning Dialog. Here is the most important part: <strong>The names of the Elements have to correspond to the options used in the Provisioning Dialog!</strong></li>
</ul>
<h3>What are the Element Names?</h3>
<p>Very good question. As mentioned the options and values we provide in the Service Dialog must match those used in the Provisioning Dialog. There are some rather generic names like &#8220;vm_name&#8221; or &#8220;service_name&#8221;, while others might be specific to the provider in question.</p>
<p>So how do you find the options and values you can pass in a Service Dialog? The easiest way is to look at the Provisioning Dialog. In this case, for our Amazon EC2 instance:</p>
<ul>
<li>As an administrator, go to <strong>Automate &gt; Customization</strong></li>
<li>Open the &#8220;Provisioning Dialogs&#8221; accordion and locate the &#8220;VM Provision&#8221; folder</li>
<li>Find the appropriate dialog, &#8220;Sample Amazon Instance Provisioning Dialog&#8221;</li>
<li>Now you can use your browser’s search capabilities to find options and their potential values. For practice just look for e.g. “vm_name”.</li>
</ul>
<h3>Creating a Service Dialog</h3>
<p>Enough theory, let&#8217;s dive in and create our first simple Service Dialog. The Service Dialog should let users choose a service and instance name for an AWS instance.</p>
<ul>
<li>As an administrator, go to <strong>Automate &gt; Customization</strong></li>
<li>Open the &#8220;Service Dialogs&#8221; accordion. You will find two example Service Dialogs.</li>
<li>Add a new Service Dialog: <strong>Configuration &gt; Add a new Dialog</strong></li>
<li>Type &#8220;aws_single_rhel7_instance&#8221; into the Label field, this will be the name of the Service Dialog in CloudForms. Add a description if you want, this is not mandatory but good practice.</li>
<li>For Buttons, check &#8220;Submit&#8221; and &#8220;Cancel&#8221;.</li>
</ul>
<p><img data-attachment-id="1728" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image3-6/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image3.png?w=865&#038;h=390" data-orig-size="865,390" 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="image3" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image3.png?w=865&#038;h=390?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image3.png?w=865&#038;h=390?w=865" class="alignnone wp-image-1728 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image3.png?w=865&#038;h=390" alt="image3" width="865" height="390" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image3.png 865w, https://cloudformsredhat.files.wordpress.com/2016/11/image3.png?w=150&amp;h=68 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image3.png?w=300&amp;h=135 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image3.png?w=768&amp;h=346 768w" sizes="(max-width: 865px) 100vw, 865px" /></p>
<p>From this starting point, you can now add content to the Dialog:</p>
<ul>
<li>From the drop-down with the &#8220;+&#8221; sign choose &#8220;Add a new Tab to this Dialog&#8221;.</li>
</ul>
<p><img data-attachment-id="1729" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image4-6/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image4.png?w=867&#038;h=418" data-orig-size="867,418" 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="image4" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image4.png?w=867&#038;h=418?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image4.png?w=867&#038;h=418?w=867" class="alignnone wp-image-1729 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image4.png?w=867&#038;h=418" alt="image4" width="867" height="418" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image4.png 867w, https://cloudformsredhat.files.wordpress.com/2016/11/image4.png?w=150&amp;h=72 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image4.png?w=300&amp;h=145 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image4.png?w=768&amp;h=370 768w" sizes="(max-width: 867px) 100vw, 867px" /></p>
<ul>
<li>For Label use &#8220;instance_settings&#8221;, as Description use &#8220;Instance Settings&#8221;.</li>
<li>With the &#8220;instance_settings&#8221; Tab selected choose &#8220;Add a new Box to this Tab&#8221; from the &#8220;+&#8221; drop-down.</li>
<li>Give the new Box a Label and Description of &#8220;Instance and Service Name&#8221;.</li>
<li>From the &#8220;+&#8221; drop-down choose &#8220;Add a new Element to this Box&#8221;.</li>
<li>Fill in Label and Description with &#8220;Service Name&#8221; and Name with &#8220;service_name&#8221;.</li>
<li>For the Type, choose &#8220;Text Box&#8221; with Value Type &#8220;String&#8221;.</li>
</ul>
<p><img data-attachment-id="1730" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image5-5/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image5.png?w=850&#038;h=507" data-orig-size="850,507" 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="image5" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image5.png?w=850&#038;h=507?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image5.png?w=850&#038;h=507?w=850" class="alignnone wp-image-1730 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image5.png?w=850&#038;h=507" alt="image5" width="850" height="507" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image5.png 850w, https://cloudformsredhat.files.wordpress.com/2016/11/image5.png?w=150&amp;h=89 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image5.png?w=300&amp;h=179 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image5.png?w=768&amp;h=458 768w" sizes="(max-width: 850px) 100vw, 850px" /></p>
<p>Following the same procedure add a second Element to the Box. The Name field should be &#8220;vm_name&#8221; and the Label and Description fields should be &#8220;Instance Name&#8221;. Similarly, Type should be &#8220;Text Box&#8221; with Value Type &#8220;String&#8221;.</p>
<p><img data-attachment-id="1731" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image6-3/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image6.png?w=853&#038;h=505" data-orig-size="853,505" 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="image6" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image6.png?w=853&#038;h=505?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image6.png?w=853&#038;h=505?w=853" class="alignnone wp-image-1731 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image6.png?w=853&#038;h=505" alt="image6" width="853" height="505" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image6.png 853w, https://cloudformsredhat.files.wordpress.com/2016/11/image6.png?w=150&amp;h=89 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image6.png?w=300&amp;h=178 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image6.png?w=768&amp;h=455 768w" sizes="(max-width: 853px) 100vw, 853px" /></p>
<p>That’s it! Now you can finally hit the &#8220;Add&#8221; button at the lower right corner.</p>
<h2>Create a Catalog</h2>
<p>Now that you have created your Service Dialog, we can add it to a Service Catalog by creating its associated Catalog Item.</p>
<p>First, we will create a Catalog:</p>
<ul>
<li>Go to Services &gt; Catalogs and expand the &#8220;Catalogs&#8221; accordion.</li>
<li>Select the &#8220;All Catalogs&#8221; folder and click Configuration &gt; Add a new Catalog.</li>
<li>For Name and Description fill in &#8220;Amazon EC2&#8221;.</li>
<li>We will assign Catalog Items to this Catalog later.</li>
</ul>
<h2>Create a Catalog Item</h2>
<p>Now we have the Catalog without any content, the Service Dialog, and the Provisioning Dialog. To allow users to order the service from the self-service catalog, we have to create a Catalog Item. Let&#8217;s create a Catalog Item to order a RHEL instance using our Service Dialog:</p>
<ul>
<li>Go to <strong>Services &gt; Catalogs</strong> and expand the &#8220;Catalog Items&#8221; accordion.</li>
<li>Select the &#8220;Amazon EC2&#8221; catalog and click <strong>Configuration &gt; Add a new Catalog Item</strong>.</li>
<li>From the &#8220;Catalog Item Type&#8221; drop-down select &#8220;Amazon&#8221;.</li>
<li>For Name and Description use &#8220;RHEL Instance&#8221; and check the box labelled &#8220;Display in Catalog&#8221;</li>
<li>From the &#8220;Catalog&#8221; drop-down choose &#8220;Amazon EC2&#8221;</li>
<li>From the &#8220;Dialog&#8221; drop-down choose &#8220;aws_single_rhel7_instance&#8221;. This is the Service Dialog you created earlier.</li>
<li>The three fields below point to methods used when provisioning/reconfiguring or retiring the service. For now, just configure these to use built-in methods as follows:
<ul>
<li>Click into the “Provisioning Entry Point State Machine” field, you will be taken to the Datastore Explorer.</li>
<li>Under the “ManageIQ” subtree, navigate to the following method and hit &#8220;Apply&#8221;: &#8220;/Service/Provisioning/StateMachines/ServiceProvision_Template/CatalogItemInitialization&#8221;</li>
<li>Click into the “Retirement Entry Point State Machine” field, navigate to this method and hit apply: “/Service/Retirement/StateMachines/ServiceRetirement/Default”</li>
</ul>
</li>
</ul>
<p><img data-attachment-id="1732" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image7-2/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image7.png?w=796&#038;h=503" data-orig-size="796,503" 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="image7" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image7.png?w=796&#038;h=503?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image7.png?w=796&#038;h=503?w=796" class="alignnone wp-image-1732 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image7.png?w=796&#038;h=503" alt="image7" width="796" height="503" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image7.png 796w, https://cloudformsredhat.files.wordpress.com/2016/11/image7.png?w=150&amp;h=95 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image7.png?w=300&amp;h=190 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image7.png?w=768&amp;h=485 768w" sizes="(max-width: 796px) 100vw, 796px" /></p>
<ul>
<li>Switch to the &#8220;Details&#8221; tab. In real life you would put a detailed description of your Service here. You could use HTML for better formatting, but for the purpose of this post &#8220;Single Amazon EC2 instance&#8221; will do.</li>
<li>Switch to the &#8220;Request Info&#8221; tab. Here you preset all of the options from the Provisioning Dialog. (Remember that the user is only allowed to set Service Name and the Instance Name options via the Service Dialog):
<ul>
<li>On the &#8220;Catalog&#8221; tab, set the image Name to your AWS image name (&#8220;rhel7&#8221; in this case) and the Instance Name to &#8220;changeme&#8221;</li>
</ul>
</li>
</ul>
<p><img data-attachment-id="1733" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image8-2/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image8.png?w=922&#038;h=416" data-orig-size="922,416" 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="image8" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image8.png?w=922&#038;h=416?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image8.png?w=922&#038;h=416?w=922" class="alignnone wp-image-1733 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image8.png?w=922&#038;h=416" alt="image8" width="922" height="416" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image8.png 922w, https://cloudformsredhat.files.wordpress.com/2016/11/image8.png?w=150&amp;h=68 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image8.png?w=300&amp;h=135 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image8.png?w=768&amp;h=347 768w" sizes="(max-width: 922px) 100vw, 922px" /></p>
<ul>
<li>On the &#8220;Properties&#8221; tab set the Instance Type to &#8220;T2 Micro&#8221;. If you ever plan to access the instance you should of course select a &#8220;Guest Access Key Pair&#8221;, too.</li>
</ul>
<p><img data-attachment-id="1734" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image9-2/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image9.png?w=504&#038;h=309" data-orig-size="504,309" 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="image9" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image9.png?w=504&#038;h=309?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image9.png?w=504&#038;h=309?w=504" class="alignnone wp-image-1734 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image9.png?w=504&#038;h=309" alt="image9" width="504" height="309" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image9.png 504w, https://cloudformsredhat.files.wordpress.com/2016/11/image9.png?w=150&amp;h=92 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image9.png?w=300&amp;h=184 300w" sizes="(max-width: 504px) 100vw, 504px" /></p>
<ul>
<li>On the &#8220;Customize&#8221; tab set the Root Password. And in Customize Template choose the &#8220;Basic root pass template&#8221; as a script for cloud-init.</li>
</ul>
<p><img data-attachment-id="1735" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image10-4/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image10.png?w=906&#038;h=720" data-orig-size="906,720" 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="image10" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image10.png?w=906&#038;h=720?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image10.png?w=906&#038;h=720?w=906" class="alignnone wp-image-1735 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image10.png?w=906&#038;h=720" alt="image10" width="906" height="720" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image10.png 906w, https://cloudformsredhat.files.wordpress.com/2016/11/image10.png?w=150&amp;h=119 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image10.png?w=300&amp;h=238 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image10.png?w=768&amp;h=610 768w" sizes="(max-width: 906px) 100vw, 906px" /></p>
<ul>
<li>Click Add at the bottom right.</li>
</ul>
<p>As you can see your new Catalog Item is listed with a generic icon. Let’s change this by uploading an icon in the &#8220;Custom Image&#8221; section. You can pick any image you like.</p>
<h2>Recap or &#8220;What have we done so far&#8221;?</h2>
<p>We created a Provisioning Dialog that defines the options that can be set on a VM or instance. We created a Service Dialog which allows us to expose certain options to be set by the user. For our example, only the instance name and service name are configurable. Then we created a Service Catalog and finally a Catalog Item. The Catalog Item joins the Service Dialog with all of the options in the Provisioning Dialog. Now, users should be able to order RHEL instance from the self-service catalog.</p>
<h3>Let’s Order a RHEL Instance</h3>
<p>To order your new service:</p>
<ul>
<li>Access the self-service portal on <strong><a href="https://&lt;your_cf_appliance&gt;/self_service" rel="nofollow">https://&lt;your_cf_appliance&gt;/self_service</a></strong>. You will be greeted by the self-service dashboard</li>
<li>Select &#8220;Service Catalog&#8221; on the menu bar.</li>
</ul>
<p><img data-attachment-id="1736" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image11-4/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image11.png?w=1046&#038;h=556" data-orig-size="1046,556" 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="image11" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image11.png?w=1046&#038;h=556?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image11.png?w=1046&#038;h=556?w=1024" class="alignnone wp-image-1736 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image11.png?w=1046&#038;h=556" alt="image11" width="1046" height="556" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image11.png 1046w, https://cloudformsredhat.files.wordpress.com/2016/11/image11.png?w=150&amp;h=80 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image11.png?w=300&amp;h=159 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image11.png?w=768&amp;h=408 768w, https://cloudformsredhat.files.wordpress.com/2016/11/image11.png?w=1024&amp;h=544 1024w" sizes="(max-width: 1046px) 100vw, 1046px" /></p>
<ul>
<li>You should now see your service. Select it and you will be taken to the form you have defined in your Service Dialog:</li>
</ul>
<p><img data-attachment-id="1737" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image12-3/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image12.png?w=1088&#038;h=554" data-orig-size="1088,554" 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="image12" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image12.png?w=1088&#038;h=554?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image12.png?w=1088&#038;h=554?w=1024" class="alignnone wp-image-1737 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image12.png?w=1088&#038;h=554" alt="image12" width="1088" height="554" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image12.png 1088w, https://cloudformsredhat.files.wordpress.com/2016/11/image12.png?w=150&amp;h=76 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image12.png?w=300&amp;h=153 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image12.png?w=768&amp;h=391 768w, https://cloudformsredhat.files.wordpress.com/2016/11/image12.png?w=1024&amp;h=521 1024w" sizes="(max-width: 1088px) 100vw, 1088px" /></p>
<ul>
<li>Fill in the &#8220;Service Name&#8221; and &#8220;Instance Name&#8221; fields. Recall that these are the only two options that you made available to users in your Service Dialog.</li>
<li>Click &#8220;Add to Shopping Cart&#8221; and access the &#8220;Shopping Cart&#8221; by clicking the icon on the top right (there should now be a number on it).</li>
<li>Click &#8220;Order&#8221;. You have created a new provisioning request. You can follow the request by selecting &#8220;My Requests&#8221; from the menu bar and selecting the specific request to see its progression and details.</li>
</ul>
<p><img data-attachment-id="1738" data-permalink="https://cloudformsblog.redhat.com/2016/11/08/service-catalogs-and-the-user-self-service-portal/image13-2/" data-orig-file="https://cloudformsredhat.files.wordpress.com/2016/11/image13.png?w=1086&#038;h=473" data-orig-size="1086,473" 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="image13" data-image-description="" data-medium-file="https://cloudformsredhat.files.wordpress.com/2016/11/image13.png?w=1086&#038;h=473?w=300" data-large-file="https://cloudformsredhat.files.wordpress.com/2016/11/image13.png?w=1086&#038;h=473?w=1024" class="alignnone wp-image-1738 size-full" style="border:1px solid #000000;" src="https://cloudformsredhat.files.wordpress.com/2016/11/image13.png?w=1086&#038;h=473" alt="image13" width="1086" height="473" srcset="https://cloudformsredhat.files.wordpress.com/2016/11/image13.png 1086w, https://cloudformsredhat.files.wordpress.com/2016/11/image13.png?w=150&amp;h=65 150w, https://cloudformsredhat.files.wordpress.com/2016/11/image13.png?w=300&amp;h=131 300w, https://cloudformsredhat.files.wordpress.com/2016/11/image13.png?w=768&amp;h=334 768w, https://cloudformsredhat.files.wordpress.com/2016/11/image13.png?w=1024&amp;h=446 1024w" sizes="(max-width: 1086px) 100vw, 1086px" /></p>
<p>Once the &#8220;Request State&#8221; is shown as &#8220;finished&#8221;, your AWS instance is provisioned.</p>
<h2>Conclusion</h2>
<p>As you can see, creating a basic service catalog and to use the self-service portal in CloudForms is not rocket science. Of course, there is a lot more to learn, but there are also a lot of good resources to help you on your journey. For example, articles on this blog, the official documentation, and of course the excellent “<a href="https://access.redhat.com/mastering-cloudforms-automation">Mastering CloudForms Automation</a>” book written by  Peter McGowan that I cannot recommend highly enough.</p>
]]></html><thumbnail_url><![CDATA[https://cloudformsredhat.files.wordpress.com/2016/11/image14.png?fit=440%2C330]]></thumbnail_url><thumbnail_width><![CDATA[440]]></thumbnail_width><thumbnail_height><![CDATA[211]]></thumbnail_height></oembed>