Provision a vCloud Automation middle service from ServiceNow?s provider Catalog

Version 1

    By Jennifer Galvin one of our purchaser&#rsquo;s turned into currently exploring using ServiceNow&#rsquo;s service Catalog to initiate a provisioning request to vCloud Automation middle. There are several approaches customers have requested vCloud Automation center integrate with ServiceNow. these integrations may be bidirectional – ie, vCloud Automation middle -> ServiceNow, by using producing a carrier price ticket and updating […]]> by means of Jennifer Galvin

    certainly one of our client&#rsquo;s became currently exploring using ServiceNow&#rsquo;s service Catalog to provoke a provisioning request to vCloud Automation center. There are numerous approaches clients have requested vCloud Automation center integrate with ServiceNow. those integrations may be bidirectional – ie, vCloud Automation center -> ServiceNow, via generating a service ticket and updating the CMDB and invoking vCAC offerings from the ServiceNow Catalog, and ServiceNow -> vCloud Automation middle, the usage of our orchestrator to receive the request and invoke our personal pre-built integrations to our suite. at the same time as it's miles nonetheless our exceptional practice that vCAC serve as the main patron interface for self-provider, this submit appears at how we efficaciously included ServiceNow&#rsquo;s provider Catalog to provision offerings in vCloud Automation middle. And it additionally demonstrates how vCAC services may be invoked from any service Catalog, the usage of vCenter Orchestrator.


    To see greater examples of integrations, take a look at out the top notch blogs at vCOTeam.information and


    unique way to Tom Bonnano, Chris Decanini, Eric Hardcastle, Michael Steward, and Derek Reinhard for helping me with this integration and the vCAC Plugin.


    Create the Workflow in vCenter Orchestrator to receive the ServiceNow request to be able to provoke the request to a third celebration machine, your patron has to create a shape to accumulate inputs and create a workflow to bypass those inputs to the third-celebration system. because each request takes a custom created shape, the inputs (and how they're us


    First, we created the grasp workflow that ServiceNow would invoke.I recommendyou start very genuinely -for us, we most effective introduced a single variable, Hostname, which would get hold of a cost from ServiceNow, and show that it handed all the way thru to the server that turned into provisioned by way of assigning thathostname.


    To try this we dragged the &#rsquo;Provision a digital gadget froma blueprint (Deprecated)&#rdquo; workflow from /Library/vCloud Automation middle/Infrastructure into our workflow, and assigned all of its values to attributes.ed) will vary from service to provider. We opted to integrate ServiceNow directly to vCenter Orchestrator&#rsquo;s cleaning soap API, so we may want to leverage the 6.01 vCAC Plug0inand use that to invoke provisioning in vCloud Automation middle. this would additionally make editing and preserving these workflows a lot easier because of vCenter Orchestrator&#rsquo;s wealthy object version and allow us to get up to date workflows at once from VMWare (as an alternative of having to re-write our very own).


    We assigned everything prematurely to tough-coded values to finish the check (with the exception of the &#rsquo;custom&#rdquo; attribute, that is an array that consists of every &#rsquo;customProperty=price&#rdquo; access. To change the hostname of the provisioned server, we would need to insert &#rsquo;hostname=&#rdquo; into this array.


    We then used a scriptable undertaking in front of that workflow, to create the &#rsquo;custom&#rdquo; array that could finally include our one custom property.

    We made a simple script that pushed the formatted cost onto this array so it changed into prepared to move.


    Make certain your workflow has one input that prompts the person, known as &#rsquo;Hostname&#rdquo;. Now, when you assume you&#rsquo;re ready, run this workflow, input a hostname, and notice if it provisions a server! make sure this works earlier than shifting directly to the subsequent step.


    Create the Workflow in ServiceNow that calls vCenter Orchestrator&#rsquo;s soap API

    hyperlink the form in ServiceNow&#rsquo;s carrier Catalog to the workflow operations that invoke vCenter Orchestrator. be aware: we determined a few boundaries in ServiceNow&#rsquo;s soap message operations for a few WebServices, where SOAPActions can not be blank. Please see the Troubleshooting section for more facts. We chose to apply a Powershell operation inside the ServiceNow workflow to call the soap endpoint (as it surpassed the SOAPAction header well), and as a substitute opted to bypass the variables into this script. This allowed us greater manipulate to override the cleaning soap client conduct (and to disregard self-signed certificates, as you&#rsquo;ll see underneath).


    In ServiceNow, you ought to specify the workflow to be run from the form, and the workflow need to invoke a Powershell operation.


    We startedwith a very tough-coded script, which would call the carrier and bypass facts.

    this will then be modified to replacement the tough-coded values to the ServiceNow ${variable} syntax, which ServiceNow would update with the form values on execution time.


    because this became a take a look at surroundings and all the certificate have been self-signed, we ended up adding a line to the top of the script to permit Powershell to trust certificates that had been not signed via their nearby CA chain:


    [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$proper}


    And that&#rsquo;s it! Now, when the form is submitted, it provisions thru to vCAC, setting the hostname to the one you difficult-coded inside the Powershell.




    checking out vCenter Orchestrator using SoapUI

    To make sure we may want to talk with vCenter Orchestrator successfully, I used a program known as SoapUI to send requests and to view the headers and responses. It&#rsquo;s a completely fine customer and could routinely generate all of the soap actions for you. I used this to simulate API calls with my vCenter Orchestrator first, to get the inputs proper.


    This is what was generated, and that i truly crammed within the blanks to test if it labored. 


    Testing Powershell outside of Servicenow It turned into vital to first test the commands being issued from the ServiceNow MID server to decide if we had connectivity to vCenter Orchestrator, and if it would receive our self-signed certificates. I advocate you invoke Powershell from your local ServiceNow MID server (so one can acquire the command from ServiceNow) to peer if it really works: displaying What ServiceNow is Sending vCenter Orchestrator.


    We located a few obstacles in ServiceNow&#rsquo;s soap message operations. vCenter Orchestrator&#rsquo;s soap messages specify that a clean SOAPAction header have to be passed, but the SOAPMessage operator in ServiceNow can't have a blank &#rsquo;SOAPAction&#rdquo; subject. The request generated will leave out the header &#rsquo;SOAPAction&#rdquo; if the action is blank (as opposed to passing a blank quoted string). vCenter Orchestrator considers missing headers a malformed request, and could output a 500 errors inside the server request log. you could see mistakes in the test situations of this SOAPMessage test:


    We determined that the operation SOAPMessage in ServiceNow need to incorporate a SOAPAction, otherwise it will miss this header absolutely.


    We know from our preceding trying out with SoapUI we require that a clean header be sent, and SoapUI lets in us to look what that header should be:


    So we really want to apprehend what&#rsquo;s being sent by means of ServiceNow, it&#rsquo;s glaringly not being effectively generated. you can study any requesting provider to see if the appropriate headers are being sent via starting a ridicule carrier at the server that has SoapUI set up, and sending the ServiceNow request there.


    This may help you understand what is being sent, and examine it to other customer&#rsquo;s and the requests they generate.