Open peterson342 opened 4 months ago
Sorry for the delay on this i have 7089 open for this
@peterson342 Could you enable the REST API tracing for the SVM where the module is failing and share ontap_apis.log content that shows the calls being sent to REST and the responses/errors received?
The mentioned error could not be reproduced. _/netapp/ontap/plugins/modules/na_ontap_svm.py", line 497, in clean_up_output\nKeyError: 'aggregates'\n", "modulestdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1} A few points to mention here:
aggr_list
was '-' or '*'. It was able to modify with provided list of aggregate values.aggr_list
while using REST. In this case a warning would be thrown saying _Using REST and ignoring aggrlist: "asterisk"@peterson342 Could you enable the REST API tracing for the SVM where the module is failing and share ontap_apis.log content that shows the calls being sent to REST and the responses/errors received?
@peterson342 tagging the comment in case it was missed!
Here's a demo playbook of my issue/use case...which I think still matches this issue which is why I followed.
aggr_list
parameter.aggr_list
parameter.ansible [core 2.15.12] python version = 3.9.19 (main, Sep 11 2024, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-2)]
ansible-galaxy collection list | grep ontap netapp.ontap 22.12.0
- name: Issue 213
hosts: localhost
gather_facts: false
module_defaults:
group/netapp.ontap.netapp_ontap:
hostname: 10.220.90.20
username: admin
password: NetAppLAB123!@#
validate_certs: false
use_rest: always
feature_flags:
trace_apis: true
trace_headers: true
tasks:
- name: Obtain a list of all aggregates # noqa args[module]
netapp.ontap.na_ontap_rest_info:
gather_subset:
- storage/aggregates
register: aggr_info
- name: Create new svm1 to use all aggregates # noqa args[module]
netapp.ontap.na_ontap_svm:
name: svm1
aggr_list: "{{ aggr_info.ontap_info['storage/aggregates'].records | json_query('[*].name') | list }}"
- name: Create svm2 with minimal parameters # noqa args[module]
netapp.ontap.na_ontap_svm:
name: svm2
- name: Modify existing svm2 to use all aggregates (NOT CHANGED) # noqa args[module]
netapp.ontap.na_ontap_svm:
name: svm2
aggr_list: "{{ aggr_info.ontap_info['storage/aggregates'].records | json_query('[*].name') | list }}"
Here's the output from the playbook:
$ ansible-playbook issue213.yml
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
PLAY [Issue 213] *************************************************************************************************************************************************************
TASK [Obtain a list of all aggregates] ***************************************************************************************************************************************
ok: [localhost]
TASK [Create new svm1 to use all aggregates] *********************************************************************************************************************************
changed: [localhost]
TASK [Create svm2 with minimal parameters] ***********************************************************************************************************************************
changed: [localhost]
TASK [Modify existing svm2 to use all aggregates (NOT CHANGED)] **************************************************************************************************************
ok: [localhost]
PLAY RECAP *******************************************************************************************************************************************************************
localhost : ok=4 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Here is the SSH/CLI output showing that svm2 was not modified to use the list of aggregates.
lab-fas02::> vserver show -vserver svm* -fields vserver, aggr-list
vserver aggr-list
------- -----------------------------------
svm1 lab_fas02_01_FC_1,lab_fas02_02_FC_1
svm2 -
2 entries were displayed.
lab-fas02::>
Here's the contents of the /tmp/ontap_apis.log file:
2024-11-26 19:46:28,410 DEBUG sending: {'method': 'GET', 'url': 'https://10.220.90.20/api/cluster', 'verify': False, 'params': {'fields': ['version']}, 'timeout': 60, 'json': None, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_rest_info/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:28,412 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:28,453 DEBUG https://10.220.90.20:443 "GET /api/cluster?fields=version HTTP/11" 200 166
2024-11-26 19:46:28,454 DEBUG 200: b'{\n "version": {\n "full": "NetApp Release 9.12.1: Tue Jan 31 19:19:43 UTC 2023",\n "generation": 9,\n "major": 12,\n "minor": 1\n },\n "_links": {\n "self": {\n "href": "/api/cluster"\n }\n }\n}'
2024-11-26 19:46:28,465 DEBUG sending: {'method': 'GET', 'url': 'https://10.220.90.20/api/storage/aggregates', 'verify': False, 'params': {'max_records': 1024, 'fields': ''}, 'timeout': 60, 'json': None, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_rest_info/22.12.0', 'accept': 'application/hal+json'}, 'auth_args': 'redacted'}
2024-11-26 19:46:28,467 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:28,519 DEBUG https://10.220.90.20:443 "GET /api/storage/aggregates?max_records=1024&fields= HTTP/11" 200 254
2024-11-26 19:46:28,520 DEBUG 200: b'{\n "records": [\n {\n "uuid": "8cb895bd-0c8c-4300-9a4d-0c8d55c01df1",\n "name": "lab_fas02_01_FC_1",\n "_links": {\n "self": {\n "href": "/api/storage/aggregates/8cb895bd-0c8c-4300-9a4d-0c8d55c01df1"\n }\n }\n },\n {\n "uuid": "fef48e86-63f2-42c1-83e3-86d14946b3f9",\n "name": "lab_fas02_02_FC_1",\n "_links": {\n "self": {\n "href": "/api/storage/aggregates/fef48e86-63f2-42c1-83e3-86d14946b3f9"\n }\n }\n }\n ],\n "num_records": 2,\n "_links": {\n "self": {\n "href": "/api/storage/aggregates?max_records=1024&fields="\n }\n }\n}'
2024-11-26 19:46:29,727 DEBUG sending: {'method': 'GET', 'url': 'https://10.220.90.20/api/cluster', 'verify': False, 'params': {'fields': ['version']}, 'timeout': 60, 'json': None, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_svm/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:29,729 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:29,769 DEBUG https://10.220.90.20:443 "GET /api/cluster?fields=version HTTP/11" 200 166
2024-11-26 19:46:29,769 DEBUG 200: b'{\n "version": {\n "full": "NetApp Release 9.12.1: Tue Jan 31 19:19:43 UTC 2023",\n "generation": 9,\n "major": 12,\n "minor": 1\n },\n "_links": {\n "self": {\n "href": "/api/cluster"\n }\n }\n}'
2024-11-26 19:46:29,771 DEBUG sending: {'method': 'GET', 'url': 'https://10.220.90.20/api/svm/svms', 'verify': False, 'params': {'name': 'svm1', 'fields': 'subtype,aggregates,language,snapshot_policy,ipspace,comment,nfs,cifs,fcp,iscsi,nvme,state,max_volumes,ndmp'}, 'timeout': 60, 'json': None, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_svm/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:29,773 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:29,818 DEBUG https://10.220.90.20:443 "GET /api/svm/svms?name=svm1&fields=subtype%2Caggregates%2Clanguage%2Csnapshot_policy%2Cipspace%2Ccomment%2Cnfs%2Ccifs%2Cfcp%2Ciscsi%2Cnvme%2Cstate%2Cmax_volumes%2Cndmp HTTP/11" 200 192
2024-11-26 19:46:29,819 DEBUG 200: b'{\n "records": [\n ],\n "num_records": 0,\n "_links": {\n "self": {\n "href": "/api/svm/svms?name=svm1&fields=subtype%2Caggregates%2Clanguage%2Csnapshot_policy%2Cipspace%2Ccomment%2Cnfs%2Ccifs%2Cfcp%2Ciscsi%2Cnvme%2Cstate%2Cmax_volumes%2Cndmp"\n }\n }\n}'
2024-11-26 19:46:29,821 DEBUG sending: {'method': 'POST', 'url': 'https://10.220.90.20/api/svm/svms', 'verify': False, 'params': {'return_timeout': 60}, 'timeout': 60, 'json': {'name': 'svm1', 'aggregates': [{'name': 'lab_fas02_01_FC_1'}, {'name': 'lab_fas02_02_FC_1'}]}, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_svm/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:29,823 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:41,047 DEBUG https://10.220.90.20:443 "POST /api/svm/svms?return_timeout=60 HTTP/11" 201 189
2024-11-26 19:46:41,047 DEBUG 201: b'{\n "job": {\n "uuid": "21989399-ac2f-11ef-8af3-005056afcf56",\n "_links": {\n "self": {\n "href": "/api/cluster/jobs/21989399-ac2f-11ef-8af3-005056afcf56"\n }\n }\n }\n}'
2024-11-26 19:46:41,049 DEBUG sending: {'method': 'GET', 'url': 'https://10.220.90.20/api/cluster/jobs/21989399-ac2f-11ef-8af3-005056afcf56', 'verify': False, 'params': None, 'timeout': 60, 'json': None, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_svm/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:41,051 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:41,087 DEBUG https://10.220.90.20:443 "GET /api/cluster/jobs/21989399-ac2f-11ef-8af3-005056afcf56 HTTP/11" 200 253
2024-11-26 19:46:41,088 DEBUG 200: b'{\n "uuid": "21989399-ac2f-11ef-8af3-005056afcf56",\n "description": "POST /api/svm/svms/219892e4-ac2f-11ef-8af3-005056afcf56",\n "state": "success",\n "message": "success",\n "code": 0,\n "start_time": "2024-11-26T19:46:29+00:00",\n "end_time": "2024-11-26T19:46:41+00:00",\n "svm": {\n "name": "svm1",\n "uuid": "219892e4-ac2f-11ef-8af3-005056afcf56",\n "_links": {\n "self": {\n "href": "/api/svm/svms/219892e4-ac2f-11ef-8af3-005056afcf56"\n }\n }\n },\n "_links": {\n "self": {\n "href": "/api/cluster/jobs/21989399-ac2f-11ef-8af3-005056afcf56"\n }\n }\n}'
2024-11-26 19:46:41,997 DEBUG sending: {'method': 'GET', 'url': 'https://10.220.90.20/api/cluster', 'verify': False, 'params': {'fields': ['version']}, 'timeout': 60, 'json': None, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_svm/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:42,001 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:42,057 DEBUG https://10.220.90.20:443 "GET /api/cluster?fields=version HTTP/11" 200 166
2024-11-26 19:46:42,058 DEBUG 200: b'{\n "version": {\n "full": "NetApp Release 9.12.1: Tue Jan 31 19:19:43 UTC 2023",\n "generation": 9,\n "major": 12,\n "minor": 1\n },\n "_links": {\n "self": {\n "href": "/api/cluster"\n }\n }\n}'
2024-11-26 19:46:42,061 DEBUG sending: {'method': 'GET', 'url': 'https://10.220.90.20/api/svm/svms', 'verify': False, 'params': {'name': 'svm2', 'fields': 'subtype,aggregates,language,snapshot_policy,ipspace,comment,nfs,cifs,fcp,iscsi,nvme,state,max_volumes,ndmp'}, 'timeout': 60, 'json': None, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_svm/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:42,064 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:42,124 DEBUG https://10.220.90.20:443 "GET /api/svm/svms?name=svm2&fields=subtype%2Caggregates%2Clanguage%2Csnapshot_policy%2Cipspace%2Ccomment%2Cnfs%2Ccifs%2Cfcp%2Ciscsi%2Cnvme%2Cstate%2Cmax_volumes%2Cndmp HTTP/11" 200 192
2024-11-26 19:46:42,124 DEBUG 200: b'{\n "records": [\n ],\n "num_records": 0,\n "_links": {\n "self": {\n "href": "/api/svm/svms?name=svm2&fields=subtype%2Caggregates%2Clanguage%2Csnapshot_policy%2Cipspace%2Ccomment%2Cnfs%2Ccifs%2Cfcp%2Ciscsi%2Cnvme%2Cstate%2Cmax_volumes%2Cndmp"\n }\n }\n}'
2024-11-26 19:46:42,128 DEBUG sending: {'method': 'POST', 'url': 'https://10.220.90.20/api/svm/svms', 'verify': False, 'params': {'return_timeout': 60}, 'timeout': 60, 'json': {'name': 'svm2'}, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_svm/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:42,130 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:51,219 DEBUG https://10.220.90.20:443 "POST /api/svm/svms?return_timeout=60 HTTP/11" 201 189
2024-11-26 19:46:51,220 DEBUG 201: b'{\n "job": {\n "uuid": "28f254a4-ac2f-11ef-8af3-005056afcf56",\n "_links": {\n "self": {\n "href": "/api/cluster/jobs/28f254a4-ac2f-11ef-8af3-005056afcf56"\n }\n }\n }\n}'
2024-11-26 19:46:51,224 DEBUG sending: {'method': 'GET', 'url': 'https://10.220.90.20/api/cluster/jobs/28f254a4-ac2f-11ef-8af3-005056afcf56', 'verify': False, 'params': None, 'timeout': 60, 'json': None, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_svm/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:51,227 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:51,306 DEBUG https://10.220.90.20:443 "GET /api/cluster/jobs/28f254a4-ac2f-11ef-8af3-005056afcf56 HTTP/11" 200 252
2024-11-26 19:46:51,307 DEBUG 200: b'{\n "uuid": "28f254a4-ac2f-11ef-8af3-005056afcf56",\n "description": "POST /api/svm/svms/28f253ed-ac2f-11ef-8af3-005056afcf56",\n "state": "success",\n "message": "success",\n "code": 0,\n "start_time": "2024-11-26T19:46:42+00:00",\n "end_time": "2024-11-26T19:46:50+00:00",\n "svm": {\n "name": "svm2",\n "uuid": "28f253ed-ac2f-11ef-8af3-005056afcf56",\n "_links": {\n "self": {\n "href": "/api/svm/svms/28f253ed-ac2f-11ef-8af3-005056afcf56"\n }\n }\n },\n "_links": {\n "self": {\n "href": "/api/cluster/jobs/28f254a4-ac2f-11ef-8af3-005056afcf56"\n }\n }\n}'
2024-11-26 19:46:53,852 DEBUG sending: {'method': 'GET', 'url': 'https://10.220.90.20/api/cluster', 'verify': False, 'params': {'fields': ['version']}, 'timeout': 60, 'json': None, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_svm/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:53,860 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:53,955 DEBUG https://10.220.90.20:443 "GET /api/cluster?fields=version HTTP/11" 200 166
2024-11-26 19:46:53,956 DEBUG 200: b'{\n "version": {\n "full": "NetApp Release 9.12.1: Tue Jan 31 19:19:43 UTC 2023",\n "generation": 9,\n "major": 12,\n "minor": 1\n },\n "_links": {\n "self": {\n "href": "/api/cluster"\n }\n }\n}'
2024-11-26 19:46:53,960 DEBUG sending: {'method': 'GET', 'url': 'https://10.220.90.20/api/svm/svms', 'verify': False, 'params': {'name': 'svm2', 'fields': 'subtype,aggregates,language,snapshot_policy,ipspace,comment,nfs,cifs,fcp,iscsi,nvme,state,max_volumes,ndmp'}, 'timeout': 60, 'json': None, 'headers': {'X-Dot-Client-App': 'netapp.ontap.na_ontap_svm/22.12.0'}, 'auth_args': 'redacted'}
2024-11-26 19:46:53,968 DEBUG Starting new HTTPS connection (1): 10.220.90.20:443
2024-11-26 19:46:54,064 DEBUG https://10.220.90.20:443 "GET /api/svm/svms?name=svm2&fields=subtype%2Caggregates%2Clanguage%2Csnapshot_policy%2Cipspace%2Ccomment%2Cnfs%2Ccifs%2Cfcp%2Ciscsi%2Cnvme%2Cstate%2Cmax_volumes%2Cndmp HTTP/11" 200 594
2024-11-26 19:46:54,066 DEBUG 200: b'{\n "records": [\n {\n "uuid": "28f253ed-ac2f-11ef-8af3-005056afcf56",\n "name": "svm2",\n "subtype": "default",\n "language": "c.utf_8",\n "aggregates": [\n {\n "name": "lab_fas02_01_FC_1",\n "uuid": "8cb895bd-0c8c-4300-9a4d-0c8d55c01df1"\n },\n {\n "name": "lab_fas02_02_FC_1",\n "uuid": "fef48e86-63f2-42c1-83e3-86d14946b3f9"\n }\n ],\n "state": "running",\n "comment": "",\n "ipspace": {\n "name": "Default",\n "uuid": "306e7d71-ac24-11ef-8af3-005056afcf56",\n "_links": {\n "self": {\n "href": "/api/network/ipspaces/306e7d71-ac24-11ef-8af3-005056afcf56"\n }\n }\n },\n "snapshot_policy": {\n "uuid": "33da8d0c-ac24-11ef-8af3-005056afcf56",\n "name": "default",\n "_links": {\n "self": {\n "href": "/api/storage/snapshot-policies/33da8d0c-ac24-11ef-8af3-005056afcf56"\n }\n }\n },\n "nfs": {\n "allowed": true,\n "enabled": false\n },\n "cifs": {\n "allowed": true,\n "enabled": false\n },\n "iscsi": {\n "allowed": true,\n "enabled": false\n },\n "fcp": {\n "allowed": true,\n "enabled": false\n },\n "nvme": {\n "allowed": false,\n "enabled": false\n },\n "ndmp": {\n "allowed": true\n },\n "max_volumes": "unlimited",\n "_links": {\n "self": {\n "href": "/api/svm/svms/28f253ed-ac2f-11ef-8af3-005056afcf56"\n }\n }\n }\n ],\n "num_records": 1,\n "_links": {\n "self": {\n "href": "/api/svm/svms?name=svm2&fields=subtype%2Caggregates%2Clanguage%2Csnapshot_policy%2Cipspace%2Ccomment%2Cnfs%2Ccifs%2Cfcp%2Ciscsi%2Cnvme%2Cstate%2Cmax_volumes%2Cndmp"\n }\n }\n}'
Summary
netapp.ontap 22.11.0 Have a playbook to update aggr-list for all SVMs in a cluster.
Ontap 9.10 As the netapp.ontap.na_ontap_svm task loops through a list of SVMs, attempting to modify an SVM aggr-list using with use_rest set to auto or always, task fails if the SVM aggr-list current state is "-". Works as it should using zapi, Only change required is to alter use_rest.
Ontap 9.12 As the netapp.ontap.na_ontap_svm task loops through a list of SVMs, attempting to modify an SVM aggr-list using with use_rest set to auto or always, task skips applying the new list and leaving the "-" in place. With zapi list is updated as expected. My concern is that someone has decided that when aggr-list is set to "-" which is equal to the whole set of aggregates, there is no reason to make a change. But we've found cases where "-" doesn't work in certain cases (maybe even with Ansible).
Component Name
netapp.ontap.na_ontap_svm
Ansible Version
ONTAP Collection Version
ONTAP Version
Playbook
Steps to Reproduce
Version 9.10 TASK [Update aggr-lists] ***** failed: [WDCNAGPA -> localhost] (item=vspwdcepiccitrix ['n14_aggr1_ssd_1901', 'n12_aggr3_sata_1805', 'n12_aggr4_sata_2004', 'n11_aggr2_sata_1801', 'n11_aggr3_sata_1805', 'n11_aggr5_sata_2004', 'n09_aggr1_ssd_1704', 'n12_aggr2_sata_1801', 'n12_aggr1_ssd_1801', 'n22_aggr1_ssd_2310', 'n19_aggr1_qlc_2301', 'n10_aggr1_sata_2105', 'n21_aggr1_ssd_2310', 'n20_aggr1_qlc_2301', 'n18_aggr1_ssd_2105', 'n10_aggr1_ssd_1704', 'n13_aggr1_ssd_1901', 'n09_aggr9_sata_2004', 'n11_aggr4_sas_1805', 'n11_aggr1_ssd_1801', 'n17_aggr1_ssd_2105', 'n21_aggr2_sata_2310', 'n15_aggr1_ssd_2010', 'n16_aggr1_ssd_2010']) => {"ansible_loop_var": "item", "changed": false, "item": "vspwdcepiccitrix", "module_stderr": "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host 'wdcnagpa'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n warnings.warn(\n/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host 'wdcnagpa'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n warnings.warn(\nTraceback (most recent call last):\n File \"/runner/.ansible/tmp/ansible-tmp-1720390620.1992168-10845-105743458165635/AnsiballZ_na_ontap_svm.py\", line 107, in\n _ansiballz_main()\n File \"/runner/.ansible/tmp/ansible-tmp-1720390620.1992168-10845-105743458165635/AnsiballZ_na_ontap_svm.py\", line 99, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/runner/.ansible/tmp/ansible-tmp-1720390620.1992168-10845-105743458165635/AnsiballZ_na_ontap_svm.py\", line 47, in invoke_module\n runpy.run_module(mod_name='ansible_collections.netapp.ontap.plugins.modules.na_ontap_svm', init_globals=dict(_module_fqn='ansible_collections.netapp.ontap.plugins.modules.na_ontap_svm', _modlib_path=modlib_path),\n File \"\", line 226, in run_module\n File \"\", line 98, in _run_module_code\n File \"\", line 88, in _run_code\n File \"/tmp/ansible_netapp.ontap.na_ontap_svm_payload_sfqbcb5k/ansible_netapp.ontap.na_ontap_svm_payload.zip/ansible_collections/netapp/ontap/plugins/modules/na_ontap_svm.py\", line 939, in \n File \"/tmp/ansible_netapp.ontap.na_ontap_svm_payload_sfqbcb5k/ansible_netapp.ontap.na_ontap_svm_payload.zip/ansible_collections/netapp/ontap/plugins/modules/na_ontap_svm.py\", line 935, in main\n File \"/tmp/ansible_netapp.ontap.na_ontap_svm_payload_sfqbcb5k/ansible_netapp.ontap.na_ontap_svm_payload.zip/ansible_collections/netapp/ontap/plugins/modules/na_ontap_svm.py\", line 887, in apply\n File \"/tmp/ansible_netapp.ontap.na_ontap_svm_payload_sfqbcb5k/ansible_netapp.ontap.na_ontap_svm_payload.zip/ansible_collections/netapp/ontap/plugins/modules/na_ontap_svm.py\", line 610, in get_vserver\n File \"/tmp/ansible_netapp.ontap.na_ontap_svm_payload_sfqbcb5k/ansible_netapp.ontap.na_ontap_svm_payload.zip/ansible_collections/netapp/ontap/plugins/modules/na_ontap_svm.py\", line 497, in clean_up_output\nKeyError: 'aggregates'\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
changed: [WDCNAGPA -> localhost] => (item=vspwdcsqlservers ['n14_aggr1_ssd_1901', 'n12_aggr3_sata_1805', 'n12_aggr4_sata_2004', 'n11_aggr2_sata_1801', 'n11_aggr3_sata_1805', 'n11_aggr5_sata_2004', 'n09_aggr1_ssd_1704', 'n12_aggr2_sata_1801', 'n12_aggr1_ssd_1801', 'n22_aggr1_ssd_2310', 'n19_aggr1_qlc_2301', 'n10_aggr1_sata_2105', 'n21_aggr1_ssd_2310', 'n20_aggr1_qlc_2301', 'n18_aggr1_ssd_2105', 'n10_aggr1_ssd_1704', 'n13_aggr1_ssd_1901', 'n09_aggr9_sata_2004', 'n11_aggr4_sas_1805', 'n11_aggr1_ssd_1801', 'n17_aggr1_ssd_2105', 'n21_aggr2_sata_2310', 'n15_aggr1_ssd_2010', 'n16_aggr1_ssd_2010'])
NOTE: Continues on through more than 50 SVMs.
Expected Results
In the case where use_rest is set to never and zapi is used the third SVM list is changed from "-" to the correct list. TASK [Update aggr-lists that are not SVMDR] ** ok: [wdcnasapb -> localhost] => (item=vstwdcn2azure01 ['n01_aggr1_nvme_2212', 'n02_aggr1_nvme_2212']) ok: [wdcnasapb -> localhost] => (item=vspwdcnsap01 ['n01_aggr1_nvme_2212', 'n02_aggr1_nvme_2212']) changed: [wdcnasapb -> localhost] => (item=vstwdcnidntest ['n01_aggr1_nvme_2212', 'n02_aggr1_nvme_2212']) [WARNING]: With version 22.0.0 ONTAPI (ZAPI) has been deprecated. The final ONTAP version to support ZAPI is ONTAP 9.13.1. ZAPI calls in these modules will continue to work for ONTAP versions that supports ZAPI. You can update your playbook to use REST by adding use_rest: always to your playbook. More information can be found at: https://github.com/ansible- collections/netapp.ontap
wdcnasapb::> vserver show -vserver vs* -fields aggr-list vserver aggr-list
vspwdcnsap01 n01_aggr1_nvme_2212,n02_aggr1_nvme_2212 vstwdcn2azure01 n01_aggr1_nvme_2212,n02_aggr1_nvme_2212 vstwdcnidntest n01_aggr1_nvme_2212,n02_aggr1_nvme_2212
Actual Results