Mi primer PlayBook de Ansible con SolidFire
De igual forma que se ha detallado el procedimiento para poder ejecutar Mi primer PlayBook de Ansible con ONTAP, en este caso se realizará lo mismo para las cabinas de almacenamiento de NetApp SolidFire.
Los detalles de los módulos están en este enlace que proporcionan toda la información de los input necesarios para ejecutar cada módulo.
Instalación
En el caso de las cabinas SolidFire, los requisitos necesarios para trabajar con Ansible son:
- Ansible 2.3
- Paquete solidfire-sdk-python
Para instalar el paquete necesario simplemente hay que ejecutar el siguiente comando:
$ pip install solidfire-sdk-python
Ejemplo
El siguiente código YAML muestra el ejemplo básico para la creación un volumen sobra una cabina SolidFire. El código está actualizado en el repositorio de GitHub:
---
# This playbook deploys a NetApp volume on SolidFire
- name: example netapp solidfire
hosts: localhost
gather_facts: no
connection: local
vars:
netapp_hostname: 192.168.0.10
netapp_username: admin
netapp_password: password
tasks:
- name: Create Volume
sf_volume_manager:
hostname: ""
username: ""
password: ""
state: present
name: AnsibleVol
qos: {minIOPS: 1000, maxIOPS: 20000, burstIOPS: 50000}
account_id: 3
enable512e: False
size: 1
size_unit: gb
La ejecución de este código YAML simplemente se realizaría con el siguiente comando:
$ ansible-playbook example_netapp_solidfire.yml
[WARNING]: Could not match supplied host pattern, ignoring: all
[WARNING]: provided hosts list is empty, only localhost is available
PLAY [example netapp solidfire] ****************************************
TASK [Create Volume] ***************************************************
changed: [localhost]
PLAY RECAP *************************************************************
localhost : ok=1 changed=1 unreachable=0 failed=0
Y se puede revisar que se ha creado satisfactoriamente el volumen dentro de la cabina de SolidFire.
PS C:\> Get-SFVolume -Name AnsibleVol
VolumeID : 27
Name : AnsibleVol
AccountID : 3
CreateTime : 2018-01-13T16:46:22Z
Status : active
Access : readWrite
Enable512e : False
Iqn : iqn.2010-01.com.solidfire:n6o7.ansiblevol.27
ScsiEUIDeviceID : 6e366f370000001bf47acc0100000000
ScsiNAADeviceID : 6f47acc1000000006e366f370000001b
Qos : SolidFire.Element.Api.VolumeQOS
VolumeAccessGroups : {}
VolumePairs : {}
DeleteTime :
PurgeTime :
SliceCount : 1
TotalSize : 1000341504
BlockSize : 4096
VirtualVolumeID :
Attributes : {}