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

Cannot create cluster mgmt lif #116

Closed ansibleguy76 closed 1 year ago

ansibleguy76 commented 2 years ago

Summary

When creating a cluster mgmt lif, an error occurs.

Component Name

na_ontap_interface

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: Create cluster mgmt lif
  na_ontap_interface:
    state: present
    interface_name: "cluster_mgmt"
    vserver: "{{ cluster.name }}"
    address: "{{ cluster.mgmt_ip }}"
    netmask: "{{ cluster.subnet }}"
    service_policy: default-management
    ipspace: default
    admin_status: up
    home_node: "{{ nodes[0].name }}"
    home_port: "{{ cluster.mgmt_port }}"
    <<: *auth

Steps to Reproduce

- name: Create cluster mgmt lif
  na_ontap_interface:
    state: present
    interface_name: "cluster_mgmt"
    vserver: "{{ cluster.name }}"
    address: "{{ cluster.mgmt_ip }}"
    netmask: "{{ cluster.subnet }}"
    service_policy: default-management
    ipspace: default
    admin_status: up
    home_node: "{{ nodes[0].name }}"
    home_port: "{{ cluster.mgmt_port }}"
    <<: *auth

Expected Results

Cluster mgmt lif is created

Actual Results

{
  "exception": "NoneType: None\n",
  "msg": "Error creating interface cluster_mgmt: calling: network/ip/interfaces: got {'message': 'The specified svm.name \"bb8\", is invalid.', 'code': '1967146', 'target': 'svm.name'}.",
  "invocation": {
    "module_args": {
      "hostname": "172.16.56.2",
      "username": "admin",
      "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
      "https": true,
      "validate_certs": false,
      "state": "present",
      "interface_name": "cluster_mgmt",
      "vserver": "bb8",
      "address": "172.16.56.1",
      "netmask": "255.255.0.0",
      "service_policy": "default-management",
      "ipspace": "default",
      "admin_status": "up",
      "home_node": "bb8-01",
      "home_port": "e0c",
      "use_rest": "auto",
      "feature_flags": {},
      "ignore_zapi_options": [
        "force_subnet_association"
      ],
      "http_port": null,
      "ontapi": null,
      "cert_filepath": null,
      "key_filepath": null,
      "force_ontap_version": null,
      "interface_type": null,
      "broadcast_domain": null,
      "current_node": null,
      "current_port": null,
      "role": null,
      "is_ipv4_link_local": null,
      "firewall_policy": null,
      "failover_policy": null,
      "failover_scope": null,
      "failover_group": null,
      "subnet_name": null,
      "is_auto_revert": null,
      "protocols": null,
      "data_protocol": null,
      "force_subnet_association": null,
      "dns_domain_name": null,
      "listen_for_dns_query": null,
      "is_dns_update_enabled": null,
      "from_name": null
    }
  },
  "_ansible_no_log": false,
  "changed": false
}

Creating the lif manually, works.
bb8::> net int create -vserver bb8 -lif cluster_mgmt -service-policy default-management -address 172.16.56.1 -netmask 255.255.0.0 -home-node bb8-01 -home-port e0c -status-admin up
  (network interface create)

bb8::> net int show
  (network interface show)
            Logical    Status     Network            Current       Current Is
Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home
----------- ---------- ---------- ------------------ ------------- ------- ----
Cluster
            bb8-01_clus1 up/up    169.254.172.22/16  bb8-01        e0a     true
            bb8-01_clus2 up/up    169.254.170.120/16 bb8-01        e0b     true
bb8
            bb8-01_mgmt  up/up    172.16.56.2/16     bb8-01        e0c     true
            cluster_mgmt up/up    172.16.56.1/16     bb8-01        e0c     true
lonico commented 2 years ago

Similar root cause as explained in #120. But here the trick is to either omit "vserver": "bb8", or replace it with "vserver":

I'm not too sure how REST distinguished between nodes and clusters. We only know about two scopes cluster or svm.

Can you try again with one of the 2 options?

carchi8py commented 1 year ago

didn't get an update, closing.