ansible-collections / netapp.ontap

Ansible collection to support NetApp ONTAP configuration.
https://galaxy.ansible.com/netapp/ontap
GNU General Public License v3.0
57 stars 37 forks source link

netapp.ontap.na_ontap_svm aggr-list when using rest #213

Open peterson342 opened 4 months ago

peterson342 commented 4 months ago

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

bash-5.1$ ansible --version
ansible [core 2.16.8]
  config file = /runner/ansible.cfg
  configured module search path = ['/runner/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.11/site-packages/ansible
  ansible collection location = /runner/collections
  executable location = /usr/local/bin/ansible
  python version = 3.11.9 (main, Jun 11 2024, 00:00:00) [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)] (/usr/bin/python3.11)
  jinja version = 3.1.4
  libyaml = True

ONTAP Collection Version

netapp.ontap              22.11.0

ONTAP Version

Problem appears in both versions. 
NetApp Release 9.12.1P11: Fri Feb 16 07:58:37 UTC 2024
NetApp Release 9.10.1P14: Mon Aug 07 11:47:31 UTC 2023

Playbook

Only including the task affected.
    - name: Update aggr-lists that are not SVMDR
      netapp.ontap.na_ontap_svm:
        hostname: "{{ inventory_hostname }}"
        username: "{{ netapp_username }}"
        password: "{{ netapp_password }}"
        https: true
        validate_certs: false
        # use_rest: never
        use_rest: always
        state: present
        name: "{{ item }}"
        aggr_list: "{{ all_aggr_list | list | join(',') }}"
      loop: "{{ vserver_list }}"
      loop_control:
        label: "{{ item }} {{ all_aggr_list }}"
      when: not item | regex_search('dr$')
      delegate_to: localhost

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

Below the 9.12 result is a copy of the errors we're seeing in Ontap 9.10.
In the case where rest is used.  The entry with a "-" for aggr-list is skipped.
Ontap 9.12  NOTE in this case the 3rd SVM was not changed to a list of aggregates.  But did not fail. I don't think this is acceptable behavior.  We want an explicit list as some apps require it.
Incorrect result
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'])
ok: [wdcnasapb -> localhost] => (item=vstwdcnidntest ['n01_aggr1_nvme_2212', 'n02_aggr1_nvme_2212'])

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
             -

Ontap 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 <module>\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 \"<frozen runpy>\", line 226, in run_module\n  File \"<frozen runpy>\", line 98, in _run_module_code\n  File \"<frozen runpy>\", 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 <module>\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'])
carchi8py commented 2 months ago

Sorry for the delay on this i have 7089 open for this

csahu9 commented 2 weeks ago

@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?

csahu9 commented 2 weeks ago

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:

csahu9 commented 1 day ago

@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!

Sneedes commented 1 day ago

Here's a demo playbook of my issue/use case...which I think still matches this issue which is why I followed.

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}'