Open tacerus opened 1 year ago
Thank you for reporting an issue! If you haven't already joined our Discord community, then we invite you to do so. This is a great place to get help and ask questions from our community.
Hello,
It would be very helpful to know what the requests and responses from your example look like. Can you please enabled debug logging and share the output. You can do that by including this in your script:
import logging
from netapp_ontap import config, utils
utils.LOG_ALL_API_CALLS = 1
utils.DEBUG = 1
logging.basicConfig(level=logging.DEBUG)
Just by looking at your code, I can think of couple possible issues.
mapresource = LunMap({'igroup.name': 'myig', 'lun.uuid': '8f27a86c-8c79-4d94-ab22-e86868954d5c'})
mrs = mapresource.get()
The above code is incorrect. The library expects path keys (lun.uuid
and igroup.uuid
as shown in the screenshot) to be positional arguments in the object constructor. Instead you're passing a dictionary which gets ignored by the library. Then, the get requests essentially just becomes a collection get and returns multiple records.
To fix this, you should restructure the code to this:
mapresource = LunMap(myig, 8f27a86c-8c79-4d94-ab22-e86868954d5c)
mapresource.get()
As for the second example, you're making an incorrect request because get_collection
is a static method for the object. You can set query parameters on the collection get using keyword arguments. So the correct code can look something like this:
records = LunMap.get_collection()
Please let me know if this helps.
-Noor
Interesting, thank you for elaborating on this! I'll try to test your suggestions and report back soon, if needed with the debug output.
Hi,
I am trying to retrieve a a LUN mapping resource for a single specific LUN.
get()
on a LunMap with a filter which should only match a single entry results in an error:And
get_collection()
results in a large amount of unrelated mappings:Same results if using
lun.name
or evenlogical_unit_number
:I would expect to retrieve only one mapping result if a distinct filter is specified. Am I missing something?
Edit: this is against ONTAP 9.9 with the libraries netapp-lib 2021.6.25 and netapp-ontap 9.13.1.0.