Software Development Kit (SDK) and API Discussions
Software Development Kit (SDK) and API Discussions
Trying to create my first playbook and I am getting the following error on a volume create:
File "/tmp/ansible_na_cdot_volume_payload_XLT_EQ/__main__.py", line 279, in create_volume
enable_tunneling=True)
File "/data/readwrite/ansible/netapp/lib/python2.7/site-packages/netapp_lib/api/zapi/zapi.py", line 290, in invoke_successfully
raise NaApiError(code, msg)
NaApiError: NetApp API failed. Reason - 15661:entry doesn't exist
"msg": "Error provisioning volume test1 of size 20971520: NetApp API failed. Reason - 15661:entry doesn't exist"
Does this mean I am missing an entry for one of the variables in the na_cdot_volume module?
Solved! See The Solution
If you're just starting out I suggest you use the na_ontap_* modules - they are the latest and contiously updated with each release of the Ansible distribution. Also, read the Ansible 5-part article by David Blackwell on netapp.io and you'll be off and running.
https://netapp.io/2018/10/08/getting-started-with-netapp-and-ansible-install-ansible/
https://netapp.io/2018/10/09/getting-started-with-netapp-and-ansible-updating-netapp-modules/
https://netapp.io/2018/10/10/getting-started-with-netapp-and-ansible-understanding-playbooks/
https://netapp.io/2018/10/11/getting-started-with-netapp-and-ansible-first-playbook-example/
https://netapp.io/2018/10/12/getting-started-with-netapp-and-ansible-complete-workflow/
There is also a Slack channel - just follow the link at the top of netapp.io.
If you're just starting out I suggest you use the na_ontap_* modules - they are the latest and contiously updated with each release of the Ansible distribution. Also, read the Ansible 5-part article by David Blackwell on netapp.io and you'll be off and running.
https://netapp.io/2018/10/08/getting-started-with-netapp-and-ansible-install-ansible/
https://netapp.io/2018/10/09/getting-started-with-netapp-and-ansible-updating-netapp-modules/
https://netapp.io/2018/10/10/getting-started-with-netapp-and-ansible-understanding-playbooks/
https://netapp.io/2018/10/11/getting-started-with-netapp-and-ansible-first-playbook-example/
https://netapp.io/2018/10/12/getting-started-with-netapp-and-ansible-complete-workflow/
There is also a Slack channel - just follow the link at the top of netapp.io.
Gotta question on the basic "na_ontap_volume" module. I see that I can make changes to existing variables like size and run the playbook and the volume size is changed. What about the junction-path? I ran the playbook first without the junction-path variable set and the volume was created. Then, I added the junction_path variable and the volume did not mount. If I create a new volume with the junction_path variable, it does mount. Is this the way it is supposed to work?
Hi Ben,
You need to online the volume before it can be mounted. I've posted a playbook example here:
Hope that helps
/Matt
Hi Ben,
Here is a basic example of creating a mounted volume...
--- - hosts: localhost gather_facts: false name: Create Volume vars: login: &login hostname: cluster1.testlab.local username: ansible password: N0tMyP@ssw0rd! https: true validate_certs: false vserver: vserver1 volume: volume1 aggregate: node1_aggr1 size: 10 tasks: - name: Create Volume na_ontap_volume: state: present is_online: yes name: "{{ volume }}" aggregate_name: "{{ aggregate }}" size: "{{ size }}" size_unit: gb space_guarantee: none policy: default percent_snapshot_space: 0 vserver: "{{ vserver }}" volume_security_style: unix wait_for_completion: true junction_path: "{{ '/' + volume }}" <<: *login
/Matt