Add a runner for contrail-test Juniper tests

- add steps in tcp_tests/templates/opencontrail to prepare tests
- add a fixture and a test runner 'test_opencontrail' that gets
  the two variables from environment to pass them to test runner:

  export OPENCONTRAIL_TAGS=smoke
  export OPENCONTRAIL_FEATURES=neutron

- fix docstrings for fixtures
- add print of the environment variables that can be used in tests
  and current defaults (taking into account the exported variables)
diff --git a/tcp_tests/tests/system/conftest.py b/tcp_tests/tests/system/conftest.py
index afee802..90f0fd4 100644
--- a/tcp_tests/tests/system/conftest.py
+++ b/tcp_tests/tests/system/conftest.py
@@ -20,6 +20,7 @@
 from tcp_tests.fixtures.salt_fixtures import *
 from tcp_tests.fixtures.common_services_fixtures import *
 from tcp_tests.fixtures.openstack_fixtures import *
+from tcp_tests.fixtures.opencontrail_fixtures import *
 
 __all__ = sorted([  # sort for documentation
     # common_fixtures
@@ -42,4 +43,6 @@
     # openstack_fixtures
     'openstack_actions',
     'openstack_deployed',
+    # component fixtures
+    'opencontrail',
 ])
diff --git a/tcp_tests/tests/system/test_opencontrail.py b/tcp_tests/tests/system/test_opencontrail.py
new file mode 100644
index 0000000..3746a3b
--- /dev/null
+++ b/tcp_tests/tests/system/test_opencontrail.py
@@ -0,0 +1,49 @@
+#    Copyright 2016 Mirantis, Inc.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+import copy
+import time
+
+import pytest
+
+from tcp_tests import settings
+from tcp_tests.helpers import ext
+from tcp_tests import logger
+
+LOG = logger.logger
+
+
+@pytest.mark.deploy
+class TestOpenContrail(object):
+    """Test class for testing OpenContrail on a TCP lab"""
+
+    @pytest.mark.revert_snapshot(ext.SNAPSHOT.openstack_deployed)
+    # @pytest.mark.snapshot_needed
+    # @pytest.mark.fail_snapshot
+    def test_opencontrail(self, config, openstack_deployed,
+                                 show_step, opencontrail):
+        """Runner for Juniper contrail-tests
+
+        Scenario:
+            1. Prepare salt on hosts
+            2. Setup controller nodes
+            3. Setup compute nodes
+            4. Prepare contrail-tests on ctl01 node
+            5. Run contrail-tests
+        """
+        opencontrail.prepare_tests(
+            config.opencontrail.opencontrail_prepare_tests_steps_path)
+
+        opencontrail.run_tests(
+            tags=config.opencontrail.opencontrail_tags,
+            features=config.opencontrail.opencontrail_features)