Fix setting of "snapshot_support" extra spec for tempest

Tempest test module "test_shares_actions.py" uses custom share_type,
but do not allow to redefine extra spec "snapshot_support".
And fails for drivers that do not have snapshot support and report
such capability as "False".

Changes:
- Add new config option called "capability_snapshot_support" that
will be used for each share type created in Tempest by default.
- Make it default to existing config option "run_snapshot_tests"
as they will be equal in most cases. But separate their logic, as
we may want just to disable snapshot tests running tempest locally
and testing some other feature having snapshot support in back end.
- Rename existing config option "storage_protocol" to
"capability_storage_protocol" for consistency with new option. And
keep old name as "deprecated".

Change-Id: I9ba0a9b10ffc3f0fda6094a3f5cad26a2e8a447f
Closes-Bug: #1498858
diff --git a/manila_tempest_tests/config.py b/manila_tempest_tests/config.py
index 616cb19..8873ef6 100644
--- a/manila_tempest_tests/config.py
+++ b/manila_tempest_tests/config.py
@@ -79,9 +79,18 @@
     cfg.ListOpt("enable_ro_access_level_for_protocols",
                 default=["nfs", ],
                 help="List of protocols to run tests with ro access level."),
-    cfg.StrOpt("storage_protocol",
+
+    # Capabilities
+    cfg.StrOpt("capability_storage_protocol",
+               deprecated_name="storage_protocol",
                default="NFS_CIFS",
                help="Backend protocol to target when creating volume types."),
+    cfg.BoolOpt("capability_snapshot_support",
+                help="Defines extra spec that satisfies specific back end "
+                     "capability called 'snapshot_support' and will be used "
+                     "for setting up custom share type. Defaults to value of "
+                     "other config option 'run_snapshot_tests'."),
+
     cfg.StrOpt("share_network_id",
                default="",
                help="Some backend drivers requires share network "
@@ -124,6 +133,8 @@
                 help="Defines whether to run manage/unmanage tests or not. "
                      "These test may leave orphaned resources, so be careful "
                      "enabling this opt."),
+
+    # Switching ON/OFF test suites filtered by features
     cfg.BoolOpt("run_extend_tests",
                 default=True,
                 help="Defines whether to run share extend tests or not. "
@@ -147,6 +158,7 @@
     cfg.BoolOpt("run_migration_tests",
                 default=False,
                 help="Enable or disable migration tests."),
+
     cfg.StrOpt("image_with_share_tools",
                default="manila-service-image",
                help="Image name for vm booting with nfs/smb clients tool."),