NetApp:iSCSI drivers reserved percent need to change to 0.

The iscsi drivers reserved percent is 100 as of now. This needs
to be changed to 0 for default values. It needs to be corrected
so that filter scheduler does not discard netapp backend.

bug 1182015

Change-Id: Id80584e5d478c83de97735706994206e024f8bf6
(cherry picked from commit 5a8ead7d154bbbb60b3272044a86fddea7afd929)
NetApp server tunneling fix.

NetApp vserver/vfiler api tunneling in concurrent requests
can cause routing request to incorrect servers in race conditions.
This fixes the api and driver for the mentioned situations.

bug 1176759

Change-Id: Id283822e4d1553daed4e6d690ec36f2edfbcf2b4
(cherry picked from commit 837df1272d43bb1a38e12d1c32183071b8294d83)
Fix check for mount.nfs helper installation

This fixes the issue for checking the
existence of mount.nfs helper program
in installation directories during
driver set up.

Closes-Bug:#1212286

Change-Id: If2fa925614bd42295eae0f62ba948e14a89e1343
(cherry picked from commit efd82e0265efbbfa43ff7ebb7523790b81299882)
Fix chown fail for nfs file without necessary permission

chown failed in case of volumes on nfs export when the
permission is not granted on the storage system. Upload
volume only requires read access on the nfs file and hence
chown is not neccessary when current user has read permission.
Chown only executed when read is not granted to the user.

Conflicts:

	cinder/image/image_utils.py

Change-Id: Ifa8eff7e79c6e4f15a1feb7cabec8cae8a0b0a83
Closes-Bug:#1221205
(cherry picked from commit 1498958299ccb807f406e9d257848cb4259e49e4)
NetApp check for 7 mode controller version

Queries the filer api version and raises error
if the version is unsupported.

Closes-Bug:#1223474

Conflicts:

	cinder/tests/test_netapp.py
	cinder/tests/test_netapp_nfs.py
	cinder/volume/drivers/netapp/iscsi.py
	cinder/volume/drivers/netapp/nfs.py

Change-Id: I430a41d63a2541891fdbdb20dacab9f69fa44291
(cherry picked from commit 1af8f46ea1c8e2a33ca554fa6ef3262d055c54ed)
Dont crash service if sf cluster isnt available

Currently if the SolidFire driver is configured but the cluster
isn't available for some reason the ensure_export call will raise
an unhandled exception and crash the volume-service.

We should be able to handle things like loosing connectivity to
a single back-end without impacting the other volume-service
backends.

We'll wrap the ensure_export call in a try block here and
return None in the case that the connection can't be made.
This will keep the service from crashing and log an error
message that the connection timed out.

Additional work would include adding a periodic retry task
to the manager to try and start the backend service for us
on some regular interval incase the device comes back.

Fixes: bug 1215064

Change-Id: Ice3f517d220c40113074bb77adbb10d5e32abd0b
(cherry picked from commit e13b7d8a46cd54e61bdc20500ad597c2545ffaed)
Remove old_name from kwargs when using IET helper.

The IET driver passes the input kwargs from export
directly to the IET driver, but one of the keys here
is specifically for migration and a bug associated with
going from nova-vol to cinder-uuid's.

This patch just checks in the IET code if we have the key set
and if so pops it out before passing through to iet.

Cherry picked: db991e6638533fb019fa5dcf59235d7302ae426e
Fixes bug: 1175207
Fixes bug: 1212206

Change-Id: I965bdfbe078d61b906aebc48961c1806a9fb0c59
Allow display_name for v2 snapshot-update

According to the comment in the source code, the snapshot-update of
v2 would be able to allow either "name" or "display_name" parameter.
And if both paramters are specified, "name" parameter is effective
over "display_name" like "description" parameter.
However "display_name" parameter is ignored now, because cinder writes
over empty dict(update_dict['display_name']).

This patch fixes the problem.

Fixes bug #1226398

Change-Id: Icd48556a26b9346f73b7c1b82ffbcdd469c4d28d
(cherry picked from commit 622f10e87fda5dc439d43543216d953920079282)
Pop out 'offset' and 'limit' before use for filter

In previous code of _items() from api/v{1,2}/snapshots.py,
and also the _items)_ from api/v1/volume.py.we didn't pop
out the 'offset' and 'limit' fields from HTTP get params
before we use such params for filter.This is the root cause
for bug #1205956

For non-admin user, since 'offset' and 'limit' is not in the
allowed_search_options, so the volumes.remove_invalid_options
will help to filter them out. As a result, it walks around this
bug.

But for admin user,the volumes.remove_invalid_options will not
try to filter the search_options.So for admin user, the 'limit'
will appear in search_options, then obviously get no result.

fixed bug #1205956

Change-Id: Ib1a66c9d104ac52d6eae18be7f06d02985d4c2fd
(cherry picked from commit 08af981ffc104d7cb836c1b674e1d73724eeaf88)
Fix broken solidfire create-snapshot

A previous change to enable secifying size for cloned volumes
created introduced a bug that breaks the ability to create-snapshots
when using the SolidFire driver
(CID: I5628c7fa922780d6b0601e2daa79310a61085edc).

The problem is that we use a shared method in the SF driver for both
create-clone and create-snapshot, the added change only considers the
clone case and does a get ref['size'] but in the case of snapshots
this needs to be ref['volume_size'].

Closes-Bug: 1234970

Change-Id: I50603b3ac43f2c3c7e7811ec34de078a268519f7
Merge "Fix broken solidfire create-snapshot" into stable/grizzly
Merge "Pop out 'offset' and 'limit' before use for filter" into stable/grizzly
Merge "Allow display_name for v2 snapshot-update" into stable/grizzly
Merge "Fix check for mount.nfs helper installation" into stable/grizzly
Merge "Fix chown fail for nfs file without necessary permission" into stable/grizzly
Merge "Remove old_name from kwargs when using IET helper." into stable/grizzly
Merge "Dont crash service if sf cluster isnt available" into stable/grizzly
Merge "NetApp server tunneling fix." into stable/grizzly
Merge "NetApp:iSCSI drivers reserved percent need to change to 0." into stable/grizzly
Raise VolumeNotFound with correct volume_id

Make sure VolumeNotFound is raised with the correct volume_id
in the SolidFire driver. Some exceptions were wrongfully referring
to an undefined variable named uuid.

Fixes: bug #1182966
Change-Id: Ied101fc9778f51dfb74b39f466c2c13d6e775a40