Software Development Kit (SDK) and API Discussions
Software Development Kit (SDK) and API Discussions
What does this mean? Is this an API issue? I am using ontap-api-8.3.1
Thanks!
2016-05-17 14:10:18,669 WARN [NetAppPoller[]] [NetApp] : 10.10.150.240 : netapp polling exception com.netapp.nmsdk.ApiExecutionException: Unable to find API: lun-get-iter on node vserver dataontap-vsim-cm1
2016-05-17 14:10:18,688 WARN [NetAppPoller[]] [NetApp] : 10.10.150.240 : netapp polling exception com.netapp.nmsdk.ApiExecutionException: Unable to find API: net-interface-get-iter on node vserver dataontap-vsim-cm1
2016-05-17 14:10:18,738 WARN [NetAppPoller[]] [NetApp] : 10.10.150.240 : netapp polling exception com.netapp.nmsdk.ApiExecutionException: Unable to find API: volume-get-iter on node vserver dataontap-vsim-cm1
2016-05-17 14:10:19,079 WARN [NetAppPoller[]] [NetApp] : 10.10.150.240 : netapp polling exception com.netapp.nmsdk.ApiExecutionException: Unable to find API: lun-get-iter on node vserver dataontap-vsim-cm2
2016-05-17 14:10:19,109 WARN [NetAppPoller[]] [NetApp] : 10.10.150.240 : netapp polling exception com.netapp.nmsdk.ApiExecutionException: Unable to find API: net-interface-get-iter on node vserver dataontap-vsim-cm2
2016-05-17 14:10:19,160 WARN [NetAppPoller[]] [NetApp] : 10.10.150.240 : netapp polling exception com.netapp.nmsdk.ApiExecutionException: Unable to find API: volume-get-iter on node vserver dataontap-vsim-cm2
Solved! See The Solution
Unfortunately this is your own code and it doesn't give us visibility on the actual API you are calling.
I think what it is is thatearlier in the code you loop through all the vservers, getting the data vservers but also the node and cluster vservers.
You need to skip these in your loop to iterate only through the data vservers
I think you are talking to the node vserver.
Can you show us how you connect to the cluster?
Thanks for the response!
this is the code:
1)ApiRunner runnervServer = runner.withVServer(localId);
LunGetIterRequest lunGetIterRequest = new LunGetIterRequest();
lunGetIterRequest.setMaxRecords(NetAppUtil.UNLIMITED);
LunGetIterResponse lunGetIterResponse = runnervServer
.run(lunGetIterRequest);
if (lunGetIterResponse.getAttributesList() != null) {
List<LunInfo> luns = lunGetIterResponse
.getAttributesList();
for (LunInfo lun : luns) {
LunMapListInfoRequest lunMapReq = new LunMapListInfoRequest();
lunMapReq.setPath(lun.getPath());
LunMapListInfoResponse lunMapResp = runnervServer
.run(lunMapReq);
}
2) ApiRunner runnervServer = runner.withVServer(localId);
VolumeGetIterRequest volumeGetIter = new VolumeGetIterRequest();
volumeGetIter.setMaxRecords(NetAppUtil.UNLIMITED);
VolumeAttributes volumeAttributes = new VolumeAttributes();
VolumeIdAttributes volumeIdAttributes = new VolumeIdAttributes();
volumeIdAttributes.setOwningVserverName(localId);
volumeAttributes.setVolumeIdAttributes(volumeIdAttributes);
volumeGetIter.setQuery(volumeAttributes);
VolumeGetIterResponse volumeGetIterResponse = runnervServer
.run(volumeGetIter);
Unfortunately this is your own code and it doesn't give us visibility on the actual API you are calling.
I think what it is is thatearlier in the code you loop through all the vservers, getting the data vservers but also the node and cluster vservers.
You need to skip these in your loop to iterate only through the data vservers
Thanks for the help!
Where did you get the class NetAppUtil? I need to use the UNLIMITED function, but I can't find it anywhere!
This is our local customer utility function.
UNLIMITED is just set to
UNLIMITED = Integer.MAX_VALUE