Server Hardware: Hyper-Converged Under Cost Drivers is empty in VCF Operations 9.1
search cancel

Server Hardware: Hyper-Converged Under Cost Drivers is empty in VCF Operations 9.1

book

Article ID: 454255

calendar_today

Updated On:

Products

VCF Operations

Issue/Introduction

  • In VCF Operations 9.1, cost calculations fail across data centers.
  • When navigating to Infrastructure Operations ➔ Configurations ➔ Cost Drivers, the Server Hardware: Hyper-Converged tab has no datacenter entries
  • Following entries are found in /storage/log/vcops/log/bm-controller.log:

    ERROR bm-controller 33515 [ops@4413 threadId="1203767" threadName="ServerConnection on port 10000 Thread 328" operationId="########################"] [com.vmware.vcops.businessmgmt.bridge.server.BusinessManagementBridgeTracerAspect.getServerHardware_aroundBody7$advice] - Exception while executing function : getServerHardware
    java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "java.lang.Double.doubleValue()" because "rate" is null
    com.vmware.vrbc.reference.library.services.server.ServerHardwareGroupService.lambda$applyServerHardwareCurrency$10(ServerHardwareGroupService.java:110)
    com.vmware.vrbc.reference.library.services.server.ServerHardwareGroupService.applyServerHardwareCurrency(ServerHardwareGroupService.java:128)
    at com.vmware.vrbc.reference.library.services.server.ServerHardwareGroupService.lambda$getPaginatedServerDetails$18(ServerHardwareGroupService.java:173
    Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Double.doubleValue()" because "rate" is null
    com.vmware.vrbc.reference.library.services.server.ServerHardwareGroupService.lambda$applyServerHardwareCurrency$7(ServerHardwareGroupService.java:111)
    ... 23 more

Environment

VCF Operation 9.1

Cause

This issue is caused by a known issue in currency-conversion that triggers a crash when two simultaneous conditions are met:

  • The server's stored currency is out of sync with the current Operations currency setting.

  • The monthlyCost value for the server is missing.

These conditions originate from pre-existing data gaps, specifically because currency changes do not automatically update older records, and a previous database migration left certain cost values blank.

Resolution

Broadcom Engineering is aware of this issue and a fix will be included in a future release.

In the interim, you can use the following database cleanup procedure to address the NULL entries.

  1. Take a snapshot of the VCF Operations cluster nodes before performing database modifications.

  2. Log in to the primary node as root via SSH.

  3. Switch to the postgres user and access the vcopsdb database by running the following commands: 

    su - postgres
    /opt/vmware/vpostgres/current/bin/psql -d vcopsdb -p 5433

  4. Delete all entries from the cost.serverhardware table.

    DELETE FROM cost.serverhardware;

  5. Re-run the cost calculation by navigating to Control Panel ➔ Cost Calculation