ONTAP Discussions

Ansible for Netapp: Export policy for Qtree

raj_shrivastava11

Hi Guys,

 

We have a setup wherein today we apply Export Policy per Qtree but while looking into Ansible modules i dont see option to apply Export policy to Qtree while creating a Qtree. I can only see export policy option available at Volume level.

 

Is it not available at Qtree level?

4 REPLIES 4

mbeattie

Hi Raj,

 

Looking at the latest module for Qtrees it appears to be possible to set an export policy using the "export_policy" property.

 

https://docs.ansible.com/ansible/latest/modules/na_ontap_qtree_module.html 

 

/Matt

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

Thanks Matt for the reply. I added the "export_policy" property but getting below error.

 

$ ansible-playbook Qtree_Create_template.yml --extra-vars "@Qtree_Create_Variable.yml"
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'


PLAY [Qtree Action] ****************************************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************************************
ok: [localhost]

TASK [Create Qtrees] ***************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (na_ontap_qtree) module: export_policy Supported parameters include: flexvol_name, from_name, hostname, http_port, https, name, ontapi, password, state, username, validate_certs, vserver"}

PLAY RECAP *************************************************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

 

My Ansible version is 2.8.4

Python 3.7

Hi Raj,

 

I tested it, here is an example playbook:

 

---
- hosts: localhost
  gather_facts: false
  name: na_ontap_qtree
  vars:
    login: &login
      hostname: cluster1.testlab.local
      username: admin
      password: N0tMyP@ssw0rd!
      https: yes
      use_rest: Always
      validate_certs: no
  tasks:
  - name: Create qtree
    na_ontap_qtree:
      export_policy: policy_001
      flexvol_name: nfs_data_001
      name: qtree_001
      oplocks: enabled
      security_style: unix
      state: present
      vserver: vserver2
      <<: *login

When i run the playbook it works successfully.

[root@testux1 playbooks]# ansible-playbook qtree.yml
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'

PLAY [na_ontap_qtree] *******************************************************************************************************************************************************************************

TASK [Create qtree qtree_001 in volume nfs_data_001 on vserver vserver4] ****************************************************************************************************************************
changed: [localhost]

PLAY RECAP ******************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

The storage shows the qtree created on the volume exported to the policy.

cluster1::> qtree show -vserver vserver2 -volume nfs_data_001 -qtree qtree_001 -instance

                                 Vserver Name: vserver2
                                  Volume Name: nfs_data_001
                                   Qtree Name: qtree_001
             Actual (Non-Junction) Qtree Path: /vol/nfs_data_001/qtree_001
                               Security Style: unix
                                  Oplock Mode: enable
                             Unix Permissions: ---rwxr-xr-x
                                     Qtree Id: 1
                                 Qtree Status: normal
                                Export Policy: policy_001
                   Is Export Policy Inherited: false

It is possible, perhaps you need to update the module?

https://docs.ansible.com/ansible/latest/modules/na_ontap_qtree_module.html 

/Matt

 

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

Thanks a lot Guys for your help. I upgraded my ansible to 2.9 and now i can this export_policy parameter in qtree module and able to update it via playbook.

 

Take care everyone.

Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner
Public