Add support for VMDK driver

The patch adds support for VMware vmdk cinder driver. It also
supports configuring the driver for multi-backend scenarios.

Note: Removed vmdk backend support from parent commit due to lack
of multi-backend puppet support in Havana.

implements blueprint support-vmdk-driver

Change-Id: I3f50f9974100ceab2a991f692022dd918f2e4445
(cherry picked from commit 14be6892554ab1c4df6144a0c782bad6b8c9cfec)
rbd: add params and deprecate glance_api_version

- Add all cinder rbd params
- Update documentation/tests
- Deprecate glance_api_version to avoid duplicate definition
  with cinder::glance class.
  (use glance_api_version of cinder::glance class instead.)

Conflicts: manifests/volume/rbd.pp

(cherry picked from commit 388bf2ebb78e30bc5226ed276caaa1a06d2fee22)
Change-Id: I50cb2b3deb4bf89b374c063f61eea99e1885906e
Havana: Fixtures: fix keystone branch name

Solve issue: « fatal: ambiguous argument 'stable/havana': unknown
revision or path not in the working tree. »

Change-Id: I434d7e6534a2ee347250a14246a1b92524194a81
Merge "rbd: add params and deprecate glance_api_version" into stable/havana
Merge "Add support for VMDK driver" into stable/havana
Add log_dir param. by default and allow users to disable it

This commit add log_dir param and configures it to /var/log/cinder
(default location). Set log_dir to false allows users to disable logging
to a directory (usefull if syslog is enabled in order not to log twice).

Closes-bug: #1282296
(cherry picked from commit 96e4a0a670aaa073b9a101409181df4e4284746d)
Change-Id: I8b8d72f8c9551ffb1a4f73575013d70e985f274c
[vmdk] Replaced pip with native package manager

(cherry picked from commit f82a410d439fddc85af24dff924335c0285fae1f)

Change-Id: I0603889ad00cbd7fe83c436f1c7273ef0c35b73f
Merge "Add log_dir param. by default and allow users to disable it" into stable/havana
Add support for multiple NetApp backends

This change adds a new define for cinder::backend::netapp, allowing
users to create multiple NetApp backend definitions within their puppet
manifests for use with Cinder.

Implements: blueprint cinder-multi-backend-netapp
(cherry picked from commit 21640609c11df1b5c0447a98b99295dc631a7600)

Change-Id: I0a94dbefc21d254369bfb4a0b9562bf5348cc70b
add parameter for endpoint protocols

This gives the ability to specify https endpoint for
internal and/or admin endpoints.

Change-Id: I9cc1525449ffd9b1439e6e5fcbf6731b8a7ee260
backport: havana
(cherry picked from commit 414c7ecec660103f6bcb29c8e99752ce7952a3b2)
[bp] Add support for Cinder multi-backend

* Create class cinder::backend.
   Sets DEFAULT/enabled_backends

* Create define cinder::type.
   multip-purpose function to create type and optionally set extened
   information.

* Create define cinder::type_set.
   multi-purpose set function to set extended information.

* Copy rbd, iscsi, and nfs volume providers to support multi-backend
   Now provided as cinder::backend::<driver> to ensure that multi-backend
   aware resource is|[ not] used.

* Add rspec for new parts to ensure expected function.

Blueprint: cinder-volume-multi-backend

(cherry picked from commit 209a5bd36af085cf306cf084ed1af1bf0fc9f41d)

Conflicts:
	README.md

Change-Id: Ia2a92a067be6e785d7ca92c4029372ecf6e02ba7
Merge "[bp] Add support for Cinder multi-backend" into stable/havana
Add support for VMDK driver

The patch adds support for VMware vmdk cinder driver. It also
supports configuring the driver for multi-backend scenarios.

implements blueprint support-vmdk-driver

(cherry picked from commit 14be6892554ab1c4df6144a0c782bad6b8c9cfec)

Conflicts:
	manifests/volume/vmdk.pp
	spec/classes/cinder_volume_vmdk_spec.rb

Change-Id: Ida0303ac55ab2af5cff9db8fcfcc36d46440c2e2
multi rbd: add opts, deprecate glance_api_version

- Add all cinder rbd params (multi-backends)
- Update documentation/tests
- Deprecate glance_api_version to avoid duplicate definition
  with cinder::glance class.
  (use glance_api_version of cinder::glance class instead.)

(cherry picked from commit dda201af2aa9f4fdca1b46bbeeeea6821ba6b637)

Change-Id: I237ea1ae7a9a1a67272b4ec705d832daef1bc5c7
volume/rbd: Re-enable conditional for string parameters

- According the Michael comments on review¹, the conditional statements
  was re-added (in order to not pass « False » in ini config file).
- Fix spec/defines/* warnings (Space interpreted as grouped expression)

¹https://review.openstack.org/#/c/73892/2/manifests/backend/rbd.pp

(cherry picked from commit 94940882f542c701ab6de27ddd0e51857707fc2b)

Conflicts:
	manifests/volume/rbd.pp

Change-Id: I036ea1bf9dd0c6941d7f02038b39a7f293d68ffe
Merge "Add support for VMDK driver" into stable/havana
Merge "multi rbd: add opts, deprecate glance_api_version" into stable/havana
Merge "volume/rbd: Re-enable conditional for string parameters" into stable/havana
Merge "add parameter for endpoint protocols" into stable/havana
Add default_volume_type as cinder api parameter

Adds a parameter to set the default_volume_type for the cinder api.
Cinder-api uses this value if in CLI the parameter '--volume-type' is not
given.

Change-Id: I6cdad0a90d249bdaa2729d201cf10d3b16dd96a1
(cherry picked from commit cd7391c5e2567a081d5a214a80cb773caa1ae2c6)