Unsupported content This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

Upgrading callouts


Callouts attached to APIs are never automatically upgraded, although BMC attempts to preserve API backwards compatibility to ensure that an upgrade does not render callouts invalid.

The following information is provided:

CLM API backward-compatibility analysis

The attached Microsoft Excel spreadsheet reports the callout XMLs generated for the CLM APIs and the backward-compatibility analysis. The spreadsheet tells you if a particular API is not backward-compatible and which attribute creates the issue. The following screenshot illustrates the type of helpful information that is contained in the  spreadsheet.

CalloutXMLfile2.png 

The backward compatibility is evaluated on the basis of an utility created for XML files comparison. This utility compares two XML files based on certain criteria: 

  • 2.1 to 4.0 upgrades
  • 3.1 to 4.0 upgrades

 

Understanding the backward-compatibility report

As you can see in the XL spreadsheet, each cell lists one or more backward-compatibility issues.
ResourcsSet1.png 

For example, under ResourceSet (row 16 in the XL spreadsheet), you see the following non-compliant attributes or parameters in the 3.1 to 4.0 Upgrade column:

Attribute

Sample

Description

Attribute

deploymentModel

Name of the attribute that is not backward compatible.

XPath

ResourceSet.ServiceOfferingInstance

XPATH of the attribute in CsmRequest XML before upgrade. For more information, see Finding the actual XPATH from the reported XPATH.

Message .

Attribute Type Mismatch

Type of issue it is. For example: Attribute is missing, Attribute type mismatch, and so on

Type

string

Data type of that attribute in CsmRequest XML before upgrade.

Index

2

Identifies that position that the attribute is present in CsmRequest XML before upgrade.

Code

E1

Indicates the error (E) or warning (W) code depending on the type of issue. The following codes are used:

  • E0 – Attribute missing from CsmRequest XML after upgrade.
  • E1 – Attribute type mismatch in CsmRequest XML after upgrade.
  • W0 – Attribute is missing or type is mismatched, but that attribute is optional.
  • W1 – If the index mismatches in CsmRequest XML after upgrade.

Finding the actual XPATH from the reported XPATH

You can find the actual XPATH from the XPATH listed in the XL spreadsheet. From the previous example, you see that the XPATH is ResourceSet.ServiceOfferingInstance. But in several other cases, the XPATH is even longer, separated with multiple periods (for example, NetworkConnector.ServerNetworkInterface.Network.NetworkContainer.LoadBalancer.LoadBalancerNetworkInterface.Network.LogicalNetwork in row 26).

 The XPATH consists of a <CsmRequest>//<OperationParameters> tag that you can use in your search. Under <OperationParameters>, there are multiple <entry> tags.

  • The first value in the XPATH (for example, ResourceSet) represents the name of the cloud class and you can ignore it to calculate the XPATH. You might not see additional tags following ResourceSet.  This indicates that the parameter is directly available at XPATH <OperationParameters>//<entry>//<string>.
  • In our, following ResourceSet is a dot and then ServiceOfferingInstance. This means that under <OperationParameters>//<entry>, there is a <CloudObject class= “ServiceOfferingInstance” name=” ServiceOfferingInstance”> tag and the required parameter is available under it.

So, the actual XPATH will be <OperationParameters>//<entry>//<CloudObject class= “ServiceOfferingInstance” name=” ServiceOfferingInstance”>//<entry>//<string>.

This information is information for a reported XPATHs that has more than one dots in it. 

Using the backward-compatibility analysis

This section explain how to use the backward-compatibility analysis spreadsheet. Row 4 in the XL spreadsheet describes the LoadBalancerPool_Constructor API and the Post Callout associated with it. For the 3.1 to 4.0 upgrade, observe the backward-compatibility issue:

Attribute : loadBalancerPool
XPath : LoadBalancerPool
Message : Attribute Type Mismatch.
Type : LoadBalancerPool
Index : 11
Code : E1

 If you are upgrading from 3.1 to 4.0, you see that the loadBalancerPool attribute is available at the mentioned XPATH (finding the actual XPATH) and its type is LoadBalancerPool (you can find its type, based on above steps). Now, if you refer to the 4.0 XML and search for loadBalancerPool, you see that the attribute is available at the same XPATH, but its type is list in that case. 

 As a result, the attribute type is mismatched and the issue is reported here.

 

 

 

 

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*