ONTAP Discussions

Ansible for Netapp: Export policy for Qtree

raj_shrivastava11
3,501 Views

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
3,442 Views

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.

raj_shrivastava11
3,424 Views

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

mbeattie
3,386 Views

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.

raj_shrivastava11
3,353 Views

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.

Public