No Available Domains error when using Spectrum REST API
search cancel

No Available Domains error when using Spectrum REST API

book

Article ID: 262079

calendar_today

Updated On:

Products

CA Spectrum DX NetOps

Issue/Introduction

When using the REST API to get the attributes of models, the result is error "NoAvailableDomains". 

This happens intermittently after upgrade from 20.2.x to 21.2.x or later

Environment

DX NetOps Spectrum Release : 21.2.10 or later

Cause

From the OneClick log, the following errors are observed repeatedly:

Mar 14, 2023 10:44:40.547 - Error reading attributes for models in domain 0x1d00000 : exception com.aprisma.spectrum.core.idl.CsCException.CsCSpectrumException {

com.aprisma.spectrum.core.idl.CsCError.CsCError_e error=NO_USER,

java.lang.String messageFormatID="CsCModelDomain.readAttrValListOfModelsByIDs.user.domain.NO_USER",

com.aprisma.spectrum.core.idl.CsCAttribute.CsCValue[] messageValueList={union com.aprisma.spectrum.core.idl.CsCAttribute.CsCValue {

java.lang.String textString="CsModelDomSrvc.cc"

},union com.aprisma.spectrum.core.idl.CsCAttribute.CsCValue {

java.lang.String textString="%I% %G% %U%"

},union com.aprisma.spectrum.core.idl.CsCAttribute.CsCValue {

int intValue=3934

},union com.aprisma.spectrum.core.idl.CsCAttribute.CsCValue {

java.lang.String textString="SS"

},union com.aprisma.spectrum.core.idl.CsCAttribute.CsCValue {

int intValue=13

},union com.aprisma.spectrum.core.idl.CsCAttribute.CsCValue {

java.lang.String textString="SS"

},union com.aprisma.spectrum.core.idl.CsCAttribute.CsCValue {

java.lang.String textString="(unknown_user)"

},union com.aprisma.spectrum.core.idl.CsCAttribute.CsCValue {

java.lang.String textString="SS"

}}

}

        at com.aprisma.spectrum.core.idl.CsCException.CsCSpectrumExceptionHelper.read(CsCSpectrumExceptionHelper.java:40)

        at com.aprisma.spectrum.core.idl._CsCModelDomainStub.readAttrValListOfModelsByIDs(_CsCModelDomainStub.java:4066)

        at com.aprisma.spectrum.app.topo.web.repository.ModelRepository.updateAttributes(ModelRepository.java:1461)

        at com.aprisma.spectrum.app.topo.web.repository.ModelRepository.updateAttributes(ModelRepository.java:1671)

        at com.aprisma.spectrum.app.topo.web.repository.ModelRepository.updateAttributes(ModelRepository.java:1824)

        at com.aprisma.spectrum.app.topo.web.repository.ModelRepository.doThrottledAttrUpdate(ModelRepository.java:1880)

        at com.aprisma.spectrum.app.topo.web.repository.ModelRepository.updateAttributes(ModelRepository.java:1984)

        at com.aprisma.spectrum.app.topo.web.repository.ModelRepository.updateModels(ModelRepository.java:2523)

        at com.aprisma.spectrum.app.topo.web.repository.ModelRepository.updateModels(ModelRepository.java:2395)

        at com.aprisma.spectrum.app.topo.common.repository.AbstractModelRepository.getModels(AbstractModelRepository.java:1657)

        at com.aprisma.spectrum.app.topo.web.repository.ModelRepository.getModels(ModelRepository.java:3499)

        at com.aprisma.spectrum.app.repmgr.dc.asset.DevicePollerTask.checkDeviceInterfaces(DevicePollerTask.java:137)

        at com.aprisma.spectrum.app.repmgr.dc.asset.DevicePollerTask.updateDevice(DevicePollerTask.java:97)

        at com.aprisma.spectrum.app.repmgr.dc.asset.DevicePollerTask.run(DevicePollerTask.java:63)

        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

        at java.util.concurrent.FutureTask.run(FutureTask.java:266)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

        at java.lang.Thread.run(Thread.java:748)

What's happening is that the user account being used to run the RESTful command is not consistent across all landscapes in the DSS.

Resolution

If on Spectrum 21.2.10, either upgrade to 21.2.12 or later releases where this fix is incorporated or ensure that the following two patches required to fix this issue on 21.2.10 are installed: 

For the OneClick server -

21.02.10.PTF_21.2.1008a

and on the SpectroSERVER:

Spectrum_21.02.10.D72 

Also, sync across all users from the MLS to the other SpectroSERVERs in a DSS environment. On the MLS, under:

OneClick -> Users tab -> User -> Component Detail

click on the Synchronize Now button:

This will sync the users across all landscapes and update their user models to make them consistent regardless of which landscape the OneClick server is communicating with.