Deployments fails on allocation phase with AZURE endpoint and when disk constraints are with :soft tag
search cancel

Deployments fails on allocation phase with AZURE endpoint and when disk constraints are with :soft tag

book

Article ID: 395426

calendar_today

Updated On:

Products

VCF Operations/Automation (formerly VMware Aria Suite)

Issue/Introduction

Deployments fails on allocation phase with AZURE endpoint when disk constraints are with :soft tag.

In vRA UI deployments fails with an Error as below

Cannot invoke "Comparable.compareTo(Object)" because the return value of "function.Function.apply(Object)" is null

Example Error in the provisioning-service-app.log

2025-03-31T09:37:46.265Z WARN provisioning [host='provisioning-service-app-ccf758986-nk9x2' thread='xn-index-queries-15' user='' org='' trace='' parent='' span=''] c.v.a.r.s.DiskOperationTaskService.log:416 - [8282/provisioning/requests/disk-operations/DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD] Unable to allocate disk. Error: java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "java.lang.Comparable.compareTo(Object)" because the return value of "java.util.function.Function.apply(Object)" is null
                at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
                at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:687)
....
        Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Comparable.compareTo(Object)" because the return value of "java.util.function.Function.apply(Object)" is null
                at java.base/java.util.Comparator.lambda$comparing$77a9974f$1(Comparator.java:473)
2025-03-31T09:37:46.266Z INFO provisioning [host='provisioning-service-app-ccf758986-nk9x2' thread='xn-index-queries-15' user='' org='' trace='' parent='' span=''] c.v.a.r.s.DiskOperationTaskService.validateStageTransitionAndState:1402 - [/provisioning/requests/disk-operations/DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD] Moving from STARTED(FILTER_PLACEMENTS) to FAILED(ERROR).
2025-03-31T09:37:46.273Z WARN provisioning [host='provisioning-service-app-ccf758986-nk9x2' thread='xn-index-queries-5' user='' org='' trace='' parent='' span=''] c.v.xenon.common.ServiceErrorResponse.create:83 - message: Service not found: http://10.244.0.112:8282/resources/disks/BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB, statusCode: 404, serverErrorId: AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA
2025-03-31T09:37:46.274Z INFO provisioning [host='provisioning-service-app-ccf758986-nk9x2' thread='xn-index-queries-5' user='' org='' trace='' parent='' span=''] c.v.a.r.s.DiskOperationTaskService.lambda$updateReservation$14:725 - Un-reserving storage for disk /resources/disks/BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB for operation: Disk.Create
2025-03-31T09:37:46.275Z WARN provisioning [host='provisioning-service-app-ccf758986-nk9x2' thread='xn-index-queries-5' user='' org='' trace='' parent='' span=''] c.v.xenon.common.ServiceErrorResponse.create:85 - message: groupResourcePlacementLink is a required field., statusCode: 400, serverErrorId: EEEEEEEE-EEEE-EEEE-EEEE-EEEEEEEEEEEE: Caused by java.lang.IllegalArgumentException: groupResourcePlacementLink is a required field.
                at com.vmware.xenon.common.Utils.validateState(Utils.java:1119)
                at com.vmware.admiral.service.common.AbstractTaskStatefulService.validateStateOnStart(AbstractTaskStatefulService.java:808)
                at com.vmware.admiral.service.common.AbstractTaskStatefulService.validateNewState(AbstractTaskStatefulService.java:802)
                at com.vmware.admiral.service.common.AbstractTaskStatefulService.doHandleCreate(AbstractTaskStatefulService.java:517)
            

2025-03-31T09:37:46.275Z ERROR provisioning [host='provisioning-service-app-ccf758986-nk9x2' thread='xn-index-queries-5' user='' org='' trace='' parent='' span=''] c.v.a.s.w.p.x.c.StatefulServiceController.lambda$configureReplayOnVersionConflict$10:473 - Error in operation POST /provisioning/requests/reservation-update-tasks/CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC (referer http://10.244.0.112:8282/provisioning/requests/disk-operations/DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD): java.lang.IllegalArgumentException: groupResourcePlacementLink is a required field.
2025-03-31T09:37:46.275Z WARN provisioning [host='provisioning-service-app-ccf758986-nk9x2' thread='xn-index-queries-5' user='' org='' trace='' parent='' span=''] c.v.a.r.s.DiskOperationTaskService.lambda$unreserveDisk$6:547 - Failure updating allocated and available storage in placement: java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: groupResourcePlacementLink is a required field.
                at java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:368)
                at java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:377)

 

Environment

Aria Automation 8.18.1

Cause

The issue can happen when the blueprint contains the Soft constraints for an extra disk like 

constraints:
  tag: diskType:Standard:soft

Resolution

The solution does not exist in 8.18.1

The workaround is to remove SOFT constrains, by edit the blueprint yaml.

constraints:
  tag: diskType:Standard

More info about the soft and hard constraints can be found here: 

How hard and soft constraints work in projects and cloud templates
https://techdocs.broadcom.com/us/en/vmware-cis/aria/aria-automation/8-18/assembler-on-prem-using-and-managing-master-map-8-18/maphead-build-resource-infrastructure/maphead-how-to-use-tags/using-constraint-tags-in-cloud-assembly.html