OpenAPI Odata CSV export has missing values and shifted calls
search cancel

OpenAPI Odata CSV export has missing values and shifted calls

book

Article ID: 200109

calendar_today

Updated On:

Products

CA Infrastructure Management CA Performance Management - Usage and Administration DX NetOps

Issue/Introduction

After a Performance Management upgrade Data Aggregator Odata OpenAPI query results in CSV export files are different.

A new upgraded Performance Management system was set up and the old was migrated to it. They hold the same items and data but are different releases.

The same query issued against the old system and the new system returns different results.

The query is against a set of interfaces and their metrics. It shows the interface name, device name, and selected metrics.

The query starts with interfaces and includes the device name for the interface.

The output has two problems:

  • The device name shows up once and is empty for the rest of a given interfaces results entries.
    • If an interface has 12 results rows, the device name for that interface shows up once, on the first row, and is missing from subsequent rows.
  • Cells in the spreadsheet are shifted right making the report difficult to read of use to import the data to other tools.

Environment

CA Performance Management 3.7.14-3.7.16
DX Netops 20.2.1-20.2.3 Performance Management 

Cause

Defect DE478981, issue in code post-upgrade when using Odata OpenAPI URLs that start with the interface or component endpoint.

Resolution

This issue has been fixed in CA Performance Management 3.7.17/DX Netops 20.2.4 Performance Management

Workaround(s):

To work around the issue use the devices endpoint first instead of the interfaces endpoint. In the broken and working samples below note the working one starts with the devices endpoint instead of interfaces.

Example broken URL used:

http://<DA_HOST>:8581/odata/api/interfaces?&resolution=RATE&period=1h&$format=text/csv&$expand=device,portmfs&$select=Name,device/Name,portmfs/im_UtilizationIn,portmfs/im_UtilizationOut,portmfs/Timestamp,portmfs/im_SpeedIn&$filter=((groups/Name eq '<GroupName>'))

Example working URL:

http://<DA_HOST>:8581/odata/api/devices?$format=text/csv&&resolution=RATE&period=1h&$expand=interfaces,portmfs&$select=Name,interfaces/DisplayName,portmfs/Timestamp,portmfs/im_UtilizationIn,portmfs/im_UtilizationOut,portmfs/im_SpeedIn&$filter=((groups/Name eq '<GroupName>'))

Alternately for groups where all you have are components such as interfaces, you can start form the Metric Family (Example /odata/api/portmfs) and expand devices and interfaces

Additional Information

DX Netops 20.2.4 Performance Management Fixed Issues:

https://techdocs.broadcom.com/us/en/ca-enterprise-software/it-operations-management/performance-management/20-2/release-notes/fixed-issues.html#concept.dita_dffccc4e37aafcca90f52a0d259b75e6551f37ff_2024Fixes

CA Performance Management 3.7 fixed issues:

https://techdocs.broadcom.com/us/en/ca-enterprise-software/it-operations-management/performance-management/3-7/release-notes/fixed-issues.html