Using Packstack to install Cinder with NetApp Storage Backends

Share:

This is a guest post by Ryan Hefner.

It is now possible to have Packstack configure Cinder to use NetApp storage devices as backends for providing block storage capabilities to OpenStack users. The NetApp driver for Cinder supports:

If Packstack is not already installed, follow the RDO Quickstart guide to get it installed.

Important: For information regarding best practices using NetApp storage with Cinder and other OpenStack services, see the Deployment and Operations Guide. If you have any questions, you can get in touch with us on the NetApp OpenStack Community page or join us on IRC in the #openstack-netapp channel on Freenode!

Configure via answer file

Generate a Packstack answer file:

packstack --gen-answer-file=~/packstack-answer.txt

Help text is provided above each parameter telling whether it’s required for a given NetApp configuration. For more information about the specific parameters and examples of their use, see the NetApp unified driver docs and choose the page detailing your storage family and protocol.

The Packstack parameters are the same as those found in the docs, but in all caps and with CONFIG_CINDER_ prepended. For example, entering the following into the answer file:

...
CONFIG_CINDER_BACKEND=netapp
CONFIG_CINDER_NETAPP_STORAGE_FAMILY=ontap_cluster
CONFIG_CINDER_NETAPP_STORAGE_PROTOCOL=nfs
CONFIG_CINDER_NETAPP_VSERVER=openstack-vserver
CONFIG_CINDER_NETAPP_HOSTNAME=myhostname
CONFIG_CINDER_NETAPP_SERVER_PORT=80
CONFIG_CINDER_NETAPP_LOGIN=username
CONFIG_CINDER_NETAPP_PASSWORD=password
CONFIG_CINDER_NETAPP_NFS_SHARES_CONFIG=/etc/cinder/shares.conf
...

generates the following in cinder.conf:

volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
netapp_storage_family=ontap_cluster
netapp_storage_protocol=nfs
netapp_vserver=openstack-vserver
netapp_server_hostname=myhostname
netapp_server_port=80
netapp_login=username
netapp_password=password
nfs_shares_config=/etc/cinder/shares.conf

When the answer file has been edited with your specific environment variables, run Packstack with:

packstack --answer-file=~/packstack-answer.txt

Packstack will alert you if any required parameters are missing or have incorrect values and then start the install.

If you have any trouble creating Cinder volumes after the installation has finished, the log file found at /var/log/cinder/volume.log is a good place to begin troubleshooting. If you have any questions, drop us a line!

Note: If you’re using the NFS protocol, the file specified in the nfs_shares_config parameter must be created before running Packstack. The contents of the file should define each NFS export on a new line, following this format:

[ip address]:/[export name]
[hostname]:/[export name]

Configure via command line arguments

Add NetApp arguments when installing:

packstack --arg1=... --argN=... --cinder-netapp-storage-family=ontap_cluster

Again, refer to the NetApp unified driver docs for details about specific parameters.

The Packstack parameters are the same as those found in the docs, but with cinder- prepended and all underscores turned into hyphens. For example, running Packstack with these arguments:

packstack --cinder-backend=netapp --cinder-netapp-storage-family=ontap_cluster --cinder-netapp-storage-protocol=nfs --cinder-netapp-vserver=openstack-vserver --cinder-netapp-hostname=myhostname --cinder-netapp-server-port=80 --cinder-netapp-login=username --cinder-netapp-password=password --cinder-netapp-nfs-shares-config=/etc/cinder/nfs_shares

is functionally equivalent to the answer file in the previous section.

Related Content