Share This:

In this post I will describe the mechanism BMC Cloud Lifecycle Management uses to create a CHANGE request for an approval.

 

By taking a closer look at how this works, you can troubleshoot any Change request creation, use this information to integrate Change Management, or create Change Requests from your Custom Cloud Portals.

 

Change Management integration leverages the callout mechanism as a “pre-callout”, that is a callout that is executed before the actual operation starts executing. This is important when a Change Request is denied - the callout result will be negative and thus cancelling the actual operation. For example: Service Offering Instance creation.

 

We uses a single callout to Change Management as part of the flow to provision a Service Offering Instance. Here is the callout:

 

http://<MidTierServerName>:8080/arsys/plugins/CloudCallBackPlugin/params?server=<EnterpriseARServerName>&username=csmcallback&pwd=csmcallback&operation=CHECK_CHANGE_REQUIRED

 

The URL for the callout is related to the BMC_AccessAttributeValue configuration item with a BMC_Component relationship with a name of ATTRIBUTEVALUEFORCALLOUT:

 

1.png

 

Let’s take a look at the end to end use case:

 

Create a Requestable Offering with Change Policy – “Change Approval Required”. For example:

 

2.png

 

Submit a Service Offering Instance using this Requestable Offering which in turn will invoke the “pre-callout”.

 

Note: I am sharing some example of logs with the feature so you can compare if there are issues.

 

Snippet from CSM.log:

 

31 Oct 2014 16:33:42,575 [INFO] PROVIDER - [Thread=72c6fdca-e63f-4dfc-82ae-6f399a2697c1::feb75902-2153-4cc8-b832-668505ba5e9a::cdf4a2c2-56e7-4cc6-aace-6a94d1c1d056(96)] [Class=WLMProviderInstanceImpl:buildVariableMap] - ##START WLM Callout[] invoke##     

Line 133300: 31 Oct 2014 16:33:42,576 [INFO] PROVIDER_REGISTRY - [Thread=72c6fdca-e63f-4dfc-82ae-6f399a2697c1::feb75902-2153-4cc8-b832-668505ba5e9a::cdf4a2c2-56e7-4cc6-aace-6a94d1c1d056(96)] [Class=com.bmc.cloud.provider.registry.internal.ProviderRegistryImpl:forwardURI()] - Found Target Provider for ProvidedOperation : com.bmc.cloud.model.beans.Callout:INVOKE. Origin Provider Definition: WLM. Target Provider : CALLOUT_Provider:975dae92-4854-4eca-85af-359144705a8f

31 Oct 2014 16:33:42,585 [INFO] CALLOUT - [Thread=72c6fdca-e63f-4dfc-82ae-6f399a2697c1::feb75902-2153-4cc8-b832-668505ba5e9a::cdf4a2c2-56e7-4cc6-aace-6a94d1c1d056(96)] [Class=HttpCalloutHandler:invoke] - HTTP Callout to URL :http://<MidTierServerName>:8080/arsys/plugins/CloudCallBackPlugin/params?server=<EnterpriseARServerName>&username=csmcallback&pwd=csmcallback&operation=CHECK_CHANGE_REQUIRED

31 Oct 2014 16:33:43,009 [INFO] CALLOUT - [Thread=72c6fdca-e63f-4dfc-82ae-6f399a2697c1::feb75902-2153-4cc8-b832-668505ba5e9a::cdf4a2c2-56e7-4cc6-aace-6a94d1c1d056(96)] [Class=HttpCalloutHandler:invoke] - HTTP Callout sent successfully. No response received from Callee. Waiting till we get the callback

          Line 133305: 31 Oct 2014 16:33:43,009 [INFO] TASK - [Thread=72c6fdca-e63f-4dfc-82ae-6f399a2697c1::feb75902-2153-4cc8-b832-668505ba5e9a::cdf4a2c2-56e7-4cc6-aace-6a94d1c1d056(96)] [Class=EventWorker:hibernate] - Task ready for hibernation.

 

WorkLoad manager send this pre-callout to MidTier server to validate if “Change” is require.

 

Snippet from armidtier log (from MidTier machine):

 

Note: DVM Module has an inbuilt logic to validate this information. Enable DVM logging, from midtier configuration tool (http://<MidTierServerName>:8080/arsys/shared/config/config_logs.jsp), in FINE mode to troubleshoot any Change or Option Choice related issues:

 

3.png

 

Oct 31, 2014 4:33:40 PM - FINE (com.remedy.log.DVMODULE) : (Thread 43) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - recieved new request from <PlatformManagerIPAddress> by user csmcallback

Oct 31, 2014 4:33:40 PM - FINE (com.remedy.log.DVMODULE) : (Thread 43) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Using the following Administrator user MidTier Service

Oct 31, 2014 4:33:40 PM - FINE (com.remedy.log.DVMODULE) : (Thread 43) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Operation getting executed ::: CHECK_CHANGE_REQUIRED

Oct 31, 2014 4:33:40 PM - FINE (com.remedy.log.DVMODULE) : (Thread 43) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - New callback task added to the queue

Oct 31, 2014 4:33:40 PM - FINE (com.remedy.log.DVMODULE) : (Thread 43) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - checking if the change request is enabled ...

 

CloudCallBackPlugin performs following validation before it send a notification to create a Change Request:

 

CMF:CloudTask:

 

CloudCallBackPlugin refers this form using “taskUUID” (generated by Platform Manager) and confirm the type of operation called in current request.

 

Snippet from armidtier log:

 

Oct 31, 2014 4:33:40 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - ===>#0 Searching CMF:CloudTask for taskUUID=cdf4a2c2-56e7-4cc6-aace-6a94d1c1d056 with query ('taskInternalUUID' = "cdf4a2c2-56e7-4cc6-aace-6a94d1c1d056")

Oct 31, 2014 4:33:41 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - ===> Search returned 1 record(s)

Oct 31, 2014 4:33:41 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Modify Service Offering Instance is called

 

CMU:AIFInterfaceSummary:

 

CloudCallBackPlugin review the information present in “CMU:AIFInterfaceSummary” form for newly submitted SOI request using the Service Requests ID.

 

Snippet from armidtier log:

 

Oct 31, 2014 4:33:41 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Check the summary interface form for the following request id REQ000000002449

Oct 31, 2014 4:33:41 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Option requested is No Additional Disk

Oct 31, 2014 4:33:41 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Option requested is Test-Echo

Oct 31, 2014 4:33:41 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Option requested is Modify to 2 vCPU

Oct 31, 2014 4:33:41 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Looking for Service Offering Instance with reconcialiation id OI-65e7a836d809

 

CMF:CloudServicesFulfillment:

 

The Cloud Advance Interface Form submit triggers the SRM fulfillment process, which will perform a push fields action onto CMF:CloudServicesFulfillment using CAI events.

 

This form captures all the data requires to perform an action for the ServiceOfferingInstance and CloudCallBackPlugin refers this form for various data.

 

CMF:ChangeToRoMappingDetails:

 

The CloudCallBackPlugin looks up the CMF:ChangeToRoMappingDetails to identify the change template, and creates the change request by pushing the data to CHG:ChangeInterface_Create.

 

Snippet from armiditer log:

 

Oct 31, 2014 4:33:41 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Checking whether change is required for the following SRM SRDInstance ID :::::::::::SRGAA5V0FM4FNANDRJTOOV8S8I0H23

Oct 31, 2014 4:33:41 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Change Template ID842B2B080582PLPsTAOS1LAQ0dAA

 

4.png

 

CHG:ChangeInterface_Create:

 

CHG:ChangeInterface_Create is an interface form. If the required data to create a change request is pushed from any third party application, then out of the box workflow will create a new change request with that data after validation.

The change task, upon reaching Assigned (or upon change rejection), invokes the filter plug-in through a combination of AR workflows and the plug-in interface form CMF:FilterPlugin-Task.

 

Snippet from armidtier log:

 

Oct 31, 2014 4:33:50 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - *****************************************

Oct 31, 2014 4:33:50 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Successfully created change whose instance id is :::000000000001210

Oct 31, 2014 4:33:50 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - *****************************************

Oct 31, 2014 4:33:52 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Found Change in the Change Interface form ....AGGAA5V0FM4FNAN41CQ0K5FHK6HAYC

Oct 31, 2014 4:33:52 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Change timing :::6000

Oct 31, 2014 4:33:52 PM - FINE (com.remedy.log.DVMODULE) : (Thread 112) com.remedy.arsys.plugincontainer.impl.LogServiceImpl fine DV Module: CloudCallBackPlugin - Finding task based on the change instance

 

I hope this information is useful to understand the mechanism, BMC Cloud Lifecycle Management uses to create a Change Request for an approval.

 

This will help you to troubleshoot any Change creation issues or you can use this information to integrate Change Management or create Change Requests from your Custom Cloud Portals.

 

Other References:

 

Extending the integration with BMC Change Management

 

Integrating with BMC Change Management

 

Knowledge Articles

KA370290 - Enabling and disabling Change Management in Cloud LifeCycle Management (CLM)

KA362903 - Nothing happens when submitting a Service Request and SOI provisioning stuck at 0% progress

KA393273 - Cloud Change Request do no show under "Pending" in Change Console

KA344765 - Cloud Change remains in "Planning in Progress" status

KA380189 - CLM 3.0 Change Integration Failed with error "Failed to create Change Request"

 

The Pulse-Configuring CLM to use multitenant Change Management

 

You can also join the Customer Support Community to learn about and provide feedback on ways Customer Support can enable your success.

 

Visit my other blogs. You can share the links with others if you find these useful.

 

Please rate this blog, regarding the usefulness of the shared information, by clicking below option.