ansible-collections / netapp.ontap

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

na_ontap_vserver_peer - Vserver peer is not automatically accepted on destination cluster #62

Closed AwesomeNameMan closed 2 years ago

AwesomeNameMan commented 2 years ago

Summary

When creating a vserver peer relationship on 2 clusters, the relationship is not automatically accepted after creation. This worked in a older version of the na_ontap_vserver_peer module. It seems that the culprit could be the new peer_options. When using the deprecated parameters for the destination cluster in an older version, all worked fine.

Component Name

na_ontap_vserver_peer

Ansible Version

$ ansible --version

ansible [core 2.11.10]
  config file = None
  configured module search path = ['/home/awesome/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/awesome/.local/lib/python3.6/site-packages/ansible
  ansible collection location = /home/awesome/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/awesome/.local/bin/ansible
  python version = 3.6.8 (default, Nov  9 2021, 14:44:26) [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

# /home/awesome/.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

# /home/awesome/.ansible/collections/ansible_collections
Collection   Version
------------ -------
netapp.ontap 21.17.3

ONTAP Version

awesome-cluster::> version
NetApp Release 9.10.1: Sat Jan 15 15:04:44 UTC 2022

Playbook

- name: Create vserver peering
  na_ontap_vserver_peer:
    <<: *login
    state: present
    applications: ['snapmirror']
    vserver: "{{ item.name }}"
    peer_vserver: "{{ item.name }}_mirror"
    peer_options:
      hostname: "{{ netapp_ontap_peer_hostname }}"
      username: "{{ netapp_ontap_peer_username }}"
      password: "{{ netapp_ontap_peer_password }}"
  loop: "{{ vserver }}"

Steps to Reproduce

- name: Create vserver peering
  na_ontap_vserver_peer:
    <<: *login
    state: present
    applications: ['snapmirror']
    vserver: "{{ item.name }}"
    peer_vserver: "{{ item.name }}_mirror"
    peer_options:
      hostname: "{{ netapp_ontap_peer_hostname }}"
      username: "{{ netapp_ontap_peer_username }}"
      password: "{{ netapp_ontap_peer_password }}"
  loop: "{{ vserver }}"

###########
# Vserver      #
###########

vserver:
  - name: testing

Expected Results

After creating the vserver peer relationship the destination cluster should accept the incoming request from the source cluster and accept the vserver peer handshake.

Actual Results

Peer        Peer                           Peering        Remote
Vserver     Vserver     State        Peer Cluster      Applications   Vserver
----------- ----------- ------------ ----------------- -------------- ---------
testing testing_mirror pending awesome-cluster      snapmirror     testing_mirror
lonico commented 2 years ago

This is an issue related to REST support in this module. The issue is fixed in 21.18.0 but I would suggest to wait until 21.18.1 is released (today) as it addresses a few issues as highlighted at: https://github.com/ansible-collections/netapp.ontap

lonico commented 2 years ago

closing this as 21.18.1 was released on Galaxy https://galaxy.ansible.com/netapp/ontap