Logical ports are not discovered in AON due to a failure in the NAT Rules API
search cancel

Logical ports are not discovered in AON due to a failure in the NAT Rules API

book

Article ID: 440141

calendar_today

Updated On:

Products

VCF Operations for Networks

Issue/Introduction

Logical ports are not discovered in AON when searching for 'NSX-T Logical Port' in the search bar.

It is seen in /var/log/arkin/collector.STDOUT-YYYY-MM-DD-hh.mm.ss.log.error that the HttpUtils.checkCodeAndThrow method throws an HttpException due to a 400 status code.

<DATE_TIME> ERROR vmware.nsxcommon.AbstractClusterDataSourceFetchUtils NSXT_###.###.###.###_Config_OpMgr_Policy-2 executeHttpCall:136 Error calling callable for path /policy/api/v1/infra/tier-1s/##-##-####-######/nat/NAT64/nat-rules
com.vnera.dataproviders.core.common.impl.dataprovider.utils.exceptions.HttpException: Could not get response for /policy/api/v1/infra/tier-1s/##-##-####-######/nat/NAT64/nat-rules, status 400
        at com.vnera.dataproviders.core.common.impl.dataprovider.utils.HttpUtils.checkCodeAndThrow(HttpUtils.java:54) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.common.impl.dataprovider.utils.HttpUtils.checkStatusAndThrow(HttpUtils.java:34) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.common.impl.dataprovider.utils.HttpUtils.checkStatusAndThrow(HttpUtils.java:23) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractDatasourceFetchUtils.handleErrorResponse(AbstractDatasourceFetchUtils.java:276) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.policymanager.utils.PolicyManagerUtils.handleErrorResponse(PolicyManagerUtils.java:1728) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractDatasourceFetchUtils.fetchData(AbstractDatasourceFetchUtils.java:87) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractClusterDataSourceFetchUtils.fetchData(AbstractClusterDataSourceFetchUtils.java:49) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractClusterDataSourceFetchUtils_1.call(AbstractClusterDataSourceFetchUtils.java:64) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractClusterDataSourceFetchUtils_1.call(AbstractClusterDataSourceFetchUtils.java:55) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.common.impl.dataprovider.tasks.AbstractTask.run(AbstractTask.java:165) [dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.tasker.Tasker_ScheduledTaskWrapper.run(Tasker.java:486) [dataproviders-0.001-SNAPSHOT.jar:_]
        at com.google.common.util.concurrent.MoreExecutors_ScheduledListeningDecorator_NeverSuccessfulListenableFutureTask.run(MoreExecutors.java:678) [guava-23.5-jre.jar:_]
        at java.util.concurrent.Executors_RunnableAdapter.call(Executors.java:539) [_:_]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [_:_]
        at java.util.concurrent.ScheduledThreadPoolExecutor_ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [_:_]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [_:_]
        at java.util.concurrent.ThreadPoolExecutor_Worker.run(ThreadPoolExecutor.java:635) [_:_]
        at java.lang.Thread.run(Thread.java:840) [_:_]


<DATE_TIME> WARN common.utils.CommonUtils NSXT_###.###.###.###_Config_OpMgr_Policy-2 logException:2678 Unable to fetch data
java.util.concurrent.ExecutionException: com.vnera.dataproviders.core.common.impl.dataprovider.utils.exceptions.HttpException: Could not get response for /policy/api/v1/infra/tier-1s/##-##-####-######/nat/NAT64/nat-rules, status 400
        at com.github.rholder.retry.Retryer_ExceptionAttempt.<init>(Retryer.java:174) _[guava-retrying-1.0.5.jar:_]
        at com.github.rholder.retry.Retryer.call(Retryer.java:107) _[guava-retrying-1.0.5.jar:_]
        at com.vnera.dataproviders.core.common.impl.dataprovider.utils.RetryUtils.retryWithExpoBackoff(RetryUtils.java:60) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.policymanager.utils.PolicyManagerUtils.performHttpDataRequestWithRetry(PolicyManagerUtils.java:1558) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.policymanager.utils.PolicyManagerUtils.fetchData(PolicyManagerUtils.java:463) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.policymanager.tasks.datafetchers.PolicyManagerNatRuleFetcher.fetchNatRulesPerSection(PolicyManagerNatRuleFetcher.java:98) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.policymanager.tasks.datafetchers.PolicyManagerNatRuleFetcher.lambda_pushPayload_0(PolicyManagerNatRuleFetcher.java:75) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at java.util.ArrayList.forEach(ArrayList.java:1511) [_:_]
        at com.vnera.dataproviders.core.impl.vmware.policymanager.tasks.datafetchers.PolicyManagerNatRuleFetcher.pushPayload(PolicyManagerNatRuleFetcher.java:71) [dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractClusterDataSourceFetchUtils_1.call(AbstractClusterDataSourceFetchUtils.java:55) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractClusterDataSourceFetchUtils.executeHttpCall(AbstractClusterDataSourceFetchUtils.java:134) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.nsxcommon.AbstractClusterDataSourceFetchUtils.fetchData(AbstractClusterDataSourceFetchUtils.java:76) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.policymanager.utils.PolicyManagerUtils.fetchDataInternal(PolicyManagerUtils.java:1592) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.policymanager.utils.PolicyManagerUtils_1.call(PolicyManagerUtils.java:447) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.vnera.dataproviders.core.impl.vmware.policymanager.utils.PolicyManagerUtils_1.call(PolicyManagerUtils.java:443) _[dataproviders-0.001-SNAPSHOT.jar:_]
        at com.github.rholder.retry.AttemptTimeLimiters_NoAttemptTimeLimit.call(AttemptTimeLimiters.java:73) _[guava-retrying-1.0.5.jar:_]
        at com.github.rholder.retry.Retryer.call(Retryer.java:104) _[guava-retrying-1.0.5.jar:_]
        ... 20 more

 

<DATE_TIME> ERROR tasks.datafetchers.PolicyManagerNatRuleFetcher NSXT_###.###.###.###_Config_OpMgr_Policy-2 fetchNatRulesPerSection:101 Returning as content is empty.

Environment

VCF Operations for Networks 6.14.0

Cause

While calling the API to fetch NAT rules for a specific tier-1 router, the HttpUtils.checkCodeAndThrow method throws an HttpException due to a 400 status code, which ultimately leaves the segment cache unpopulated.

Consequently, the Logical Ports Fetcher is blocked because the segment cache is not ready (remains unpopulated), causing it to return immediately without fetching any logical ports.

Resolution

This issue is fixed in Aria Operations for Networks 6.14.1

Workaround is available for this in Aria Operations for Networks which involves database modification. Please open a Broadcom support ticket referring to this KB Article.

Additional Information

AON-DS-NSX