ansible-collections / netapp.ontap

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

Cannot resize root vol0 #114

Closed ansibleguy76 closed 5 months ago

ansibleguy76 commented 1 year ago

Summary

When trying to resize the rool vol0, it claims it can't find it.

Component Name

na_ontap_volume

Ansible Version

$ ansible --version
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current version: 3.6.8
(default, Sep 10 2021, 09:13:53) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]. This feature will be removed from ansible-core in version 2.12.
Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
/usr/local/lib/python3.6/site-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography and will be removed in a future release.
  from cryptography.exceptions import InvalidSignature
ansible [core 2.11.12]
  config file = None
  configured module search path = ['/var/lib/awx/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
  ansible collection location = /var/lib/awx/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.6.8 (default, Sep 10 2021, 09:13:53) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]
  jinja version = 3.0.3
  libyaml = True

ONTAP Collection Version

$ ansible-galaxy collection list
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current version: 3.6.8
(default, Sep 10 2021, 09:13:53) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]. This feature will be removed from ansible-core in version 2.12.
Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
/usr/local/lib/python3.6/site-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography and will be removed in a future release.
  from cryptography.exceptions import InvalidSignature

# /usr/local/lib/python3.6/site-packages/ansible_collections
Collection                    Version
----------------------------- -------
amazon.aws                    1.5.1
ansible.netcommon             2.5.0
ansible.posix                 1.3.0
ansible.utils                 2.4.3
ansible.windows               1.8.0
arista.eos                    2.2.0
awx.awx                       19.4.0
azure.azcollection            1.10.0
check_point.mgmt              2.2.0
chocolatey.chocolatey         1.1.0
cisco.aci                     2.1.0
cisco.asa                     2.1.0
cisco.intersight              1.0.18
cisco.ios                     2.6.0
cisco.iosxr                   2.6.0
cisco.meraki                  2.5.0
cisco.mso                     1.2.0
cisco.nso                     1.0.3
cisco.nxos                    2.8.2
cisco.ucs                     1.6.0
cloudscale_ch.cloud           2.2.0
community.aws                 1.5.0
community.azure               1.1.0
community.crypto              1.9.8
community.digitalocean        1.13.0
community.docker              1.10.2
community.fortios             1.0.0
community.general             3.8.3
community.google              1.0.0
community.grafana             1.3.0
community.hashi_vault         1.5.0
community.hrobot              1.2.1
community.kubernetes          1.2.1
community.kubevirt            1.0.0
community.libvirt             1.0.2
community.mongodb             1.3.2
community.mysql               2.3.2
community.network             3.0.0
community.okd                 1.1.2
community.postgresql          1.6.0
community.proxysql            1.3.0
community.rabbitmq            1.1.0
community.routeros            1.2.0
community.skydive             1.0.0
community.sops                1.2.0
community.vmware              1.17.0
community.windows             1.8.0
community.zabbix              1.5.1
containers.podman             1.9.0
cyberark.conjur               1.1.0
cyberark.pas                  1.0.13
dellemc.enterprise_sonic      1.1.0
dellemc.openmanage            3.6.0
dellemc.os10                  1.1.1
dellemc.os6                   1.0.7
dellemc.os9                   1.0.4
f5networks.f5_modules         1.13.0
fortinet.fortimanager         2.1.4
fortinet.fortios              2.1.3
frr.frr                       1.0.3
gluster.gluster               1.0.2
google.cloud                  1.0.2
hetzner.hcloud                1.6.0
hpe.nimble                    1.1.4
ibm.qradar                    1.0.3
infinidat.infinibox           1.3.0
inspur.sm                     1.3.0
junipernetworks.junos         2.8.0
kubernetes.core               1.2.1
mellanox.onyx                 1.0.0
netapp.aws                    21.7.0
netapp.azure                  21.10.0
netapp.cloudmanager           21.12.1
netapp.elementsw              21.7.0
netapp.ontap                  21.14.1
netapp.um_info                21.8.0
netapp_eseries.santricity     1.2.13
netbox.netbox                 3.4.0
ngine_io.cloudstack           2.2.2
ngine_io.exoscale             1.0.0
ngine_io.vultr                1.1.0
openstack.cloud               1.5.3
openvswitch.openvswitch       2.1.0
ovirt.ovirt                   1.6.6
purestorage.flasharray        1.11.0
purestorage.flashblade        1.8.1
sensu.sensu_go                1.12.0
servicenow.servicenow         1.0.6
splunk.es                     1.0.2
t_systems_mms.icinga_director 1.26.0
theforeman.foreman            2.2.0
vyos.vyos                     2.6.0
wti.remote                    1.0.3

# /usr/share/ansible/collections/ansible_collections
Collection        Version
----------------- -------
awx.awx           21.8.0
community.general 5.8.0
community.vmware  3.1.0
netapp.ontap      21.24.1
netapp.um_info    21.8.0

ONTAP Version

sridharc-vsim34::> version
NetApp Release 9.5P6: Wed Jul 10 18:43:50 UTC 2019

Playbook

- name: Resize vol0
  na_ontap_volume:
    state: present
    name: vol0
    vserver: bb8-01
    size: 13
    size_unit: gb
    percent_snapshot_space: 0
    space_guarantee: none
    <<: *auth

Steps to Reproduce

- name: Resize vol0
  na_ontap_volume:
    state: present
    name: vol0
    vserver: bb8-01
    size: 13
    size_unit: gb
    percent_snapshot_space: 0
    space_guarantee: none
    <<: *auth

Expected Results

vol0 getting resized

Actual Results

{
  "exception": "Traceback (most recent call last):\n  File \"/tmp/ansible_na_ontap_volume_payload_94yigu5q/ansible_na_ontap_volume_payload.zip/ansible_collections/netapp/ontap/plugins/modules/na_ontap_volume.py\", line 1065, in volume_get_iter\n  File \"/usr/local/lib/python3.6/site-packages/netapp_lib/api/zapi/zapi.py\", line 301, in invoke_successfully\n    raise NaApiError(code, msg)\nnetapp_lib.api.zapi.zapi.NaApiError: NetApp API failed. Reason - 13005:Unable to find API: volume-get-iter on node vserver bb8-01\n",
  "msg": "Error fetching volume vol0 : NetApp API failed. Reason - 13005:Unable to find API: volume-get-iter on node vserver bb8-01",
  "invocation": {
    "module_args": {
      "hostname": "172.16.56.2",
      "username": "admin",
      "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
      "https": true,
      "validate_certs": false,
      "state": "present",
      "name": "vol0",
      "vserver": "bb8-01",
      "size": 13,
      "size_unit": "gb",
      "percent_snapshot_space": 0,
      "space_guarantee": "none",
      "use_rest": "auto",
      "feature_flags": {},
      "is_infinite": false,
      "is_online": true,
      "wait_for_completion": false,
      "time_out": 180,
      "check_interval": 30,
      "size_change_threshold": 10,
      "http_port": null,
      "ontapi": null,
      "cert_filepath": null,
      "key_filepath": null,
      "force_ontap_version": null,
      "from_name": null,
      "sizing_method": null,
      "aggregate_name": null,
      "type": null,
      "export_policy": null,
      "junction_path": null,
      "volume_security_style": null,
      "encrypt": null,
      "efficiency_policy": null,
      "unix_permissions": null,
      "group_id": null,
      "user_id": null,
      "snapshot_policy": null,
      "aggr_list": null,
      "aggr_list_multiplier": null,
      "snapdir_access": null,
      "atime_update": null,
      "auto_provision_as": null,
      "language": null,
      "qos_policy_group": null,
      "qos_adaptive_policy_group": null,
      "nvfail_enabled": null,
      "space_slo": null,
      "tiering_policy": null,
      "vserver_dr_protection": null,
      "comment": null,
      "snapshot_auto_delete": null,
      "cutover_action": null,
      "from_vserver": null,
      "auto_remap_luns": null,
      "force_unmap_luns": null,
      "force_restore": null,
      "compression": null,
      "inline_compression": null,
      "preserve_lun_ids": null,
      "snapshot_restore": null,
      "nas_application_template": null,
      "tiering_minimum_cooling_days": null,
      "logical_space_enforcement": null,
      "logical_space_reporting": null,
      "snaplock": null,
      "max_files": null
    }
  },
  "_ansible_no_log": false,
  "changed": false
}

Output of vol show

bb8::> vol show
Vserver   Volume       Aggregate    State      Type       Size  Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
bb8-01    vol0         n01_root     online     RW          4GB     2.47GB   34%
maf01     vol0         aggr1        online     RW         20MB    18.74MB    1%
lonico commented 1 year ago

It's a limitation of the ZAPI. We're running as a node vserver and these APIs are not available. As ZAPI is now deprecated, we will not address this.

ansibleguy76 commented 1 year ago

I have updated to 9.11 and resizing a vol0 still fails. This operation is not allowed on a node SVM