#Create LIFs - REST

1 messages · Page 1 of 1 (latest)

pseudo schooner
#

As per documentation, for cluster scoped IP interfaces, vserver parameter is invalid and ipspace parameter should be listed and for SVM-scoped IP interfaces, we should list vserver paramter and ipspace is optional so the only way we can do is to have separate modules for cluster scoped IP interfaces and SVM-scoped IP interfaces right?

In our current playbooks, we use only one module (create lifs task) to create both intercluster (cluter scoped lifs) and data LIFs (svm scoped lifs) and would be good if can do the same in REST as well.

  • name: Create data interface - REST - NAS
    netapp.ontap.na_ontap_interface:
    state: present
    interface_name: data2
    home_port: e0d
    home_node: laurentn-vsim1
    admin_status: up
    failover_scope: home_node_only
    service_policy: default-data-files
    is_auto_revert: true
    interface_type: ip
    address: 10.10.10.10
    netmask: 255.255.255.0
    vserver: svm1
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
azure owl
#

are you using one task that creates both cluster scoped and svm scoped interface in ZAPI? I think you are using loops?

using omit will help

- name: Create interface na_ontap_interface: interface_name: "{{ item.name }}" home_port: e0c protocols: nfs,cifs service_policy: default-management address: "{{ item.address }}" netmask: 255.255.255.0 ipspace: Default vserver: "{{ item.vserver | default(omit) }}" loop: # create cluster scoped - {"name": "int1", "address": "10.10.10.14"} # svm interface. - {"vserver": "{{ 'svm-cifs' }}", "name": "int2", "address": "10.10.10.15"}

pseudo schooner
#

@azure owl yes correct using one task to create both cluster scoped and svm scoped lifs

  • name: "Create LIFs: {{ cluster }}"
    na_ontap_interface:
    state: present
    use_rest: never
    interface_name: "{{ item.name }}"
    home_port: "{{ item.home_port }}"
    home_node: "{{ item.home_node }}"
    service_policy: "{{ item.service_policy }}"
    is_auto_revert: "{{ item.auto_revert }}"
    address: "{{ item.ip }}"
    netmask: "{{ item.netmask }}"
    role: "{{ item.role }}"
    vserver: "{{ item.vserver }}"
    failover_policy: "{{ item.failover_policy }}"
    <<: *login
    with_items: "{{ lifs }}"
    when: lifs is defined
    tags:
    - lifs

I'm in the works to convert to REST so wanted to see how I can convert above task in a way we can create both cluster scoped and svm scoped using same task rather than having mutiple tasks

azure owl
#

just modify vserver: "{{ item.vserver }}" -> vserver: "{{ item.vserver | default(omit) }}"

- name: "Create LIFs: {{ cluster }}" na_ontap_interface: state: present use_rest: never interface_name: "{{ item.name }}" home_port: "{{ item.home_port }}" home_node: "{{ item.home_node }}" service_policy: "{{ item.service_policy }}" is_auto_revert: "{{ item.auto_revert }}" address: "{{ item.ip }}" netmask: "{{ item.netmask }}" role: "{{ item.role }}" vserver: "{{ item.vserver | default(omit) }}" failover_policy: "{{ item.failover_policy }}" <<: *login with_items: "{{ lifs }}" when: lifs is defined tags: - lifs

and dont forget to remove the cluster vserver key only from the lifs items

pseudo schooner
#

@azure owl so for the above code, I list vserver only for svm scoped lifs and for cluster scoped lifs I don’t list it on my vars file entires right?

azure owl
#

yes

pseudo schooner
#

Ok cool, I’ll do a quick test. Thank you for your help!