Manage and unmanage snapshot

Add APIs to support manage and unmanage share snapshots.
Also add support in the Generic driver.
This only supports for DHSS=False driver mode.

Add provider_location column to the share_snapshots table
to save data used to identify the snapshot on the backend.

Also need to bump microversion.

APIImpact
DocImpact
Change-Id: I87a066173c85d969607d132accd9f0e9bd49c235
Implements: blueprint manage-unmanage-snapshot
diff --git a/manila_tempest_tests/utils.py b/manila_tempest_tests/utils.py
index 94d8cd3..dea51ab 100644
--- a/manila_tempest_tests/utils.py
+++ b/manila_tempest_tests/utils.py
@@ -81,6 +81,15 @@
     return lambda f: f
 
 
+def skip_if_microversion_lt(microversion):
+    """Decorator for tests that are microversion-specific."""
+    if is_microversion_lt(CONF.share.max_api_microversion, microversion):
+        reason = ("Skipped. Test requires microversion greater than or "
+                  "equal to '%s'." % microversion)
+        return testtools.skip(reason)
+    return lambda f: f
+
+
 def rand_ip():
     """This uses the TEST-NET-3 range of reserved IP addresses.