Nimble Storage Cinder Integration

In this post, I will only cover the Nimble Storage Cinder Integration for OpenStack Icehouse.

Some of you have already an OpenStack cloud in their environment and also own a Nimble Storage array, others might not have an OpenStack cloud yet but consider it. Nimble Storage just announced officially their OpenStack integration. Starting with Juno, the Nimble Cinder driver will be shipped with the OpenStack release. The actual approval and blue print can be found here. For Icehouse, you’ll need to download the driver from InfoSight or request it from support.

Follow these 6 steps to upload the Nimble Cinder driver, configure and test it:

Note: The steps below cover a single-backend configuration. A multi-backend configuration will be covered in a separate post.

  1. Upload your Cinder driver to /usr/lib/python2.6/site-packages/cinder/volume/drivers
  2. Add theNimbleCinderparameters to /etc/cinder/cinder.conf within the [DEFAULT] section
    #Nimble Cinder Configuration 
    san_ip=management-ip
    san_login=admin_user
    san_password=password
    volume_driver=cinder.volume.drivers.nimble.NimbleISCSIDriver
  3. Restartcinder-api, cinder-scheduler and cinder-volume
    root@TS-Training-OS-01 (keystone_admin)]# service openstack-cinder-scheduler restart
          Stopping openstack-cinder-scheduler:                       [  OK  ]
          Starting openstack-cinder-scheduler:                       [  OK  ]
          [root@TS-Training-OS-01 (keystone_admin)]# service openstack-cinder-api restart
          Stopping openstack-cinder-api:                             [  OK  ]
          Starting openstack-cinder-api:                             [  OK  ]
          [root@TS-Training-OS-01 (keystone_admin)]# service openstack-cinder-volume restart
          Stopping openstack-cinder-volume:                          [  OK  ]
          Starting openstack-cinder-volume:                          [  OK  ]
  4. Create a volume either via Horizon or the CLI
    root@TS-Training-OS-01 nova(keystone_admin)]# cinder create --display-name test_volume 50
          +---------------------+--------------------------------------+
          |       Property      |                Value                 |
          +---------------------+--------------------------------------+
          |     attachments     |                  []                  |
          |  availability_zone  |                 nova                 |
          |       bootable      |                false                 |
          |      created_at     |      2014-11-05T18:23:54.011013      |
          | display_description |                 None                 |     
          |     display_name    |             test_volume              |
          |      encrypted      |                False                 |
          |          id         | 6cce44ad-a71f-4973-b862-aefe9c5f0a79 |
          |       metadata      |                  {}                  |
          |         size        |                  50                  |
          |     snapshot_id     |                 None                 |
          |     source_volid    |                 None                 |
          |         status      |                creating              |
          |     volume_type     |                 None                 |
          +---------------------+--------------------------------------+
  5. Verify the volume has successfully been created
     [root@TS-Training-OS-01 nova(keystone_admin)]# cinder list
     cinder-list
  6. Verify the creation of the volume on your storage array. Go to Manage -> Volumes
    openstack_array