Community SolidFire Collection
Copyright (c) 2026 scaleoutSean, NetApp, Inc. All rights reserved.
To use this collection in your playbook add the following at the top of your playbook:
collections:
- community.solidfireLocal installation (development)
If you do not plan to publish the fork and just want to use it locally, build and install the collection into your local Ansible collections path:
cd /home/sean/code/netapp.solidfire
ansible-galaxy collection build # creates community-solidfire-<version>.tar.gz
ansible-galaxy collection install ./community-solidfire-*.tar.gz --forceAlternatively, for development you can symlink the checkout into your local collections path so edits are picked up immediately:
mkdir -p ~/.ansible/collections/ansible_collections/community/
ln -s /home/sean/code/netapp.solidfire ~/.ansible/collections/ansible_collections/community/solidfireOr run Ansible with an explicit collections path for a single run:
ANSIBLE_COLLECTIONS_PATHS=/home/sean/code/netapp.solidfire ansible-playbook site.ymlhttps://docs.ansible.com/ansible/devel/collections/netapp/elementsw/ [pre-fork]
na_elementsw_info- addcluster_initiators(pull request #11)na_elementsw_volume- addpurgeoption (issue #2)na_elementsw_group_snapshot- addGroupSnapshot(issue #5)na_elementsw_backup_s3- add S3 backup module (StartBulkVolumeReadto S3-compatible endpoints) (issue #1)- Passing CI/Coverage uses Ansible Core 2.20.1, Python 3.12 and SolidFire Python SDK 12.3
- Updates in variouis places (probably not 100% complete) to use
community.solidfirecollection name
- all modules - enable usage of Ansible module group defaults - for Ansible 2.12+.
- requirements.txt: point to the correct python dependency
- na_elementsw_qos_policy: explicitly define
minIOPS,maxIOPS,burstIOPSas int.
- na_elementsw_info - add
cluster_nodesandcluster_drives.
- na_elementsw_drive - latest SDK does not accept
force_during_bin_syncandforce_during_upgrade. - na_elementsw_qos_policy - loop would convert
minIOPS,maxIOPS,burstIOPSto str, causing type mismatch issues in comparisons. - na_elementsw_snapshot_schedule - change of interface in SDK ('ScheduleInfo' object has no attribute 'minutes')
- na_elementsw_snapshot_schedule - Add
retentionin examples.
- na_elementsw_drive - Object of type 'dict_values' is not JSON serializable.
- na_elementsw_info: support for two subsets
cluster_accounts,node_config.
- na_elementsw_cluster:
encryptionto enable encryption at rest.order_numberandserial_numberfor demo purposes. - na_elementsw_network_interfaces: restructure options, into 2 dictionaries
bond_1gandbond_10g, so that there is no shared option. Disallow all older options. - na_elementsw_network_interfaces: make all options not required, so that only bond_1g can be set for example.
- na_elementsw_node: improve error reporting when cluster name cannot be set because node is already active.
- na_elementsw_schedule - missing imports TimeIntervalFrequency, Schedule, ScheduleInfo have been added back
- na_elementsw_qos_policy: create, modify, rename, or delete QOS policy.
- na_elementsw_node:
cluster_nameto set the cluster name on new nodes. - na_elementsw_node:
preset_onlyto only set the cluster name before creating a cluster with na_elementsw_cluster. - na_elementsw_volume:
qos_policy_nameto provide a QOS policy name or ID.
- na_elementsw_node: fix check_mode so that no action is taken.
- na_elementsw_drive: add all drives in a cluster, allow for a list of nodes or a list of drives.
- na_elementsw_access_group: fix check_mode so that no action is taken.
- na_elementsw_admin_users: fix check_mode so that no action is taken.
- na_elementsw_cluster: create cluster if it does not exist. Do not expect MVIP or SVIP to exist before create.
- na_elementsw_cluster_snmp: double exception because of AttributeError.
- na_elementsw_drive: node_id or drive_id were not handled properly when using numeric ids.
- na_elementsw_initiators: volume_access_group_id was ignored. volume_access_groups was ignored and redundant.
- na_elementsw_ldap: double exception because of AttributeError.
- na_elementsw_snapshot_schedule: ignore schedules being deleted (idempotency), remove default values and fix documentation.
- na_elementsw_vlan: AttributeError if VLAN already exists.
- na_elementsw_vlan: fix check_mode so that no action is taken.
- na_elementsw_vlan: change in attributes was ignored.
- na_elementsw_volume: double exception because of AttributeError.
- na_elementsw_volume: Argument '512emulation' in argument_spec is not a valid python identifier - renamed to enable512emulation.
- use a three group format for
version_added. So 2.7 becomes 2.7.0. Same thing for 2.8 and 2.9. - add type: str (or int, dict) where missing in documentation section.
- add required: true where missing.
- remove required: true for state and use present as default.
- galaxy.xml: fix repository and homepage links
- galaxy.yml: fix path to github repository.
- netapp.py: report error in case of connection error rather than raising a generic exception by default.
- na_elementsw_access_group_volumes: add/remove volumes to/from existing access group
Changes in 19.10.0 and September collection releases compared to Ansible 2.9
- na_elementsw_drive: na_elementsw_drive was documented as na_element_drive