"Http failure response for https://FQDN/event-broker/api/subscriptions?page=0&size=20&%24filter=type%20eq%20%27RUNNABLE%27: 503 OK"/var/log/services-logs/prelude/ebs-app/file-logs/ebs-app.log
The mapper [reactor.rabbitmq.Receiver$ChannelCreationFunction] returned a null value.
computing metrics in newChannel: null
[timestamp] DEBUG #####-###### [host='ebs-app-##########-#####' thread='####-####-##' user='' org='' trace='1######-######-######-####5-a#########c' #######-#####=''] c.v.a.e.b.s.EventBrokerConfiguration.lambda$initialize$0:123 -Operator Error:(NullPointerException)
The mapper [reactor.rabbitmq.Receiver$ChannelCreationFunction] returned a null value.
java.lang.NullPointerException: The mapper [reactor.rabbitmq.Receiver$ChannelCreationFunction] returned a null value.
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:115)
/var/log/services-logs/prelude/ebs-app/file-logs/ebs-app.log
Cause: : : com.vmware.automation.spring.webflux.platform.client.service.exception.WebClientServiceResponseException: ClientResponse has erroneous status code: 500 Internal Server Error. WebClientServiceResponseException.ErrorDetails(timestamp=##-##-##, path=/#####-######/api/events, type=reactor.core.Exceptions$RetryExhaustedException, errorCode=0, messageKey=null, messageArguments=null, message=Retries exhausted: 10/10, causeMessage=null, status=500, error=Internal Server Error, exception=null, additional={requestId=########-########, cause={message=Could not open RabbitMQ connection, @type=reactor.rabbitmq.RabbitFluxException, cause={message=Connection refused, @type=connect_error}}})
VMware Aria Automation 8.18.x
*RabbitMQ* cluster resilience.Workaround:
To reset the RabbitMQ cluster:
root@<hostname> [ ~ ]#
kubectl -n prelude get pods --selector=app=rabbitmq-ha
NAME READY STATUS RESTARTS AGE
rabbitmq-ha-0 1/1 Running 0 3d16h
rabbitmq-ha-1 1/1 Running 0 3d16h
rabbitmq-ha-2 1/1 Running 0 3d16h
seq 0 2 | xargs -n 1 -I {} kubectl exec -n prelude rabbitmq-ha-{} -- bash -c "rabbitmqctl cluster_status"[{nodes,
[{disc,
['rabbit@rabbitmq-ha-0.rabbitmq-ha-discovery.prelude.svc.cluster.local','rabbit@rabbitmq-ha-1.rabbitmq-ha-discovery.prelude.svc.cluster.local',
'rabbit@rabbitmq-ha-2.rabbitmq-ha-discovery.prelude.svc.cluster.local']}]},
{running_nodes,
['rabbit@rabbitmq-ha-2.rabbitmq-ha-discovery.prelude.svc.cluster.local',
'rabbit@rabbitmq-ha-1.rabbitmq-ha-discovery.prelude.svc.cluster.local',
'rabbit@rabbitmq-ha-0.rabbitmq-ha-discovery.prelude.svc.cluster.local']}
...]
root@<hostname> [ ~ ]# vracli reset rabbitmq
'reset rabbitmq' is a destructive command. Type 'yes' if you want to continue, or 'no' to stop: yes
NAME READY STATUS RESTARTS AGE
rabbitmq-ha-0 1/1 Running 0 9m53s
rabbitmq-ha-1 1/1 Running 0 9m35s
rabbitmq-ha-2 1/1 Running 0 9m14s
NAME READY STATUS RESTARTS AGE
ebs-app-######-### 1/1 Running 0 2m55s
ebs-app-######-### 1/1 Running 0 2m55s
ebs-app-######-### 1/1 Running 0 2m55s
In some cases, performing the above action will resolve the RabbitMQ communication issue; however, data for the cloud zones under the project may still not be visible.
To fully resolve the issue, redeploy the pods using the following command:
/opt/scripts/deploy.sh