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 rename root aggregate #120

Closed ansibleguy76 closed 5 months ago

ansibleguy76 commented 1 year ago

Summary

When trying to rename an aggregate i get an error the aggregate is not found

Component Name

na_ontap_aggregate

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.11.1: Tue Jul 12 04:38:28 UTC 2022

Playbook

- name: Rename root aggregate
  na_ontap_aggregate:
    state: present
    from_name: "aggr0_{{ nodes[0].name | replace('-','_') }}"
    name: "n01_root"
    <<: *auth

Steps to Reproduce


- name: Rename root aggregate
  na_ontap_aggregate:
    state: present
    from_name: "aggr0_{{ nodes[0].name | replace('-','_') }}"
    name: "n01_root"
    <<: *auth

Expected Results

the aggregate gets renamed

Actual Results

{
  "msg": "Error renaming aggregate n01_root: no aggregate with from_name aggr0_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",
      "from_name": "aggr0_bb8_01",
      "name": "n01_root",
      "use_rest": "auto",
      "feature_flags": {},
      "wait_for_online": false,
      "time_out": 100,
      "http_port": null,
      "ontapi": null,
      "cert_filepath": null,
      "key_filepath": null,
      "force_ontap_version": null,
      "disks": null,
      "disk_count": null,
      "disk_size": null,
      "disk_size_with_unit": null,
      "disk_class": null,
      "disk_type": null,
      "mirror_disks": null,
      "nodes": null,
      "is_mirrored": null,
      "raid_size": null,
      "raid_type": null,
      "service_state": null,
      "spare_pool": null,
      "unmount_volumes": null,
      "object_store_name": null,
      "snaplock_type": null,
      "ignore_pool_checks": null,
      "encryption": null
    }
  },
  "_ansible_no_log": false,
  "changed": false
}

bb8::> aggr show

Aggregate     Size Available Used% State   #Vols  Nodes            RAID Status
--------- -------- --------- ----- ------- ------ ---------------- ------------
aggr0_bb8_01
            1.67GB   83.92MB   95% online       1 bb8-01           raid_dp,
                                                                   normal
lonico commented 1 year ago

This is an ONTAP limitation. The REST APIs only manages data vservers and hide system resources. Root aggregates are also hidden. This is an effort to simplify and hide some of the ONTAP complexity.

ansibleguy76 commented 1 year ago

cli it is. Verstuurd vanaf mijn iPhoneOp 4 nov. 2022 om 17:17 heeft Laurent Nicolas @.***> het volgende geschreven: This is an ONTAP limitation. The REST APIs only manages data vservers and hide system resources. Root aggregates are also hidden. This is an effort to simplify and hide some of the ONTAP complexity.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

lonico commented 1 year ago

We'll see if we could improve the error reporting. But from a REST API perspective, there is no difference whether it is ignored or if it really does not exist. Maybe we'll query through the private/cli.