Validate volume size before creating RBD image.
Validate volume size before creating RBD image.

Kubernetes apiserver only validates PVC `requests.storage` is
non-negative. If "0" is specified, old RBD provisioner will provision a
PV with 0-byte image. `rbd` utility is able to create a 0-byte image
from pool, but it's useless and meaningless in Kubernetes, because no
pods can use it. No space to format fs on it, so 0-byte image cannot be
mounted on node, will fail at `mounter.FormatAndMount` stage.

It's better to report an error in provisioner, then user will know their
PVC spec is wrong (at least useless) at early stage.

Notes:

- Minimum volume size except zero in RBD provisioner is 1 Megabytes, which is
  enough to format ext4-fs on it.

humblec/external-storage,childsb/external-storage,kubernetes-incubator/external-storage,humblec/external-storage,humblec/external-storage,childsb/external-storage,kubernetes-incubator/external-storage,kubernetes-incubator/external-storage,childsb/external-storage