Cinder has multiple drivers reporting the same storage_protocol in their
stats but with different strings:
For example we have the following variants:
- nfs and NFS
- nveof, NVMe-oF, NVMeOF
- iSCSI, iscsi
- FC, fc, fibre_channel
This patch documents the right values (to use existing constants) and
makes the scheduler treat all variants as if they were equal.
This is done by changing the storage_protocol into a list in the
scheduler upon reception of the stats from the volume. Most of the code
in the scheduler is already able to handle this, the only changes
necessary are on the filter and goodness function code, which will now
run the respective functions for all the different protocol alternatives
and select the right one, but only when the function actually uses the
storage_protocol.
The API will now report the preferred protocol name in operations like
"cinder get-pools --detail".
Closes-Bug: #1966103
Change-Id: I07d74078dbb102490dd722029e32c74cec3aa44c