Skip tests when neutron extension trunk is absent

We need to skip tests if some feature doesn't exist on environment. These tests are failing now:
heat_tempest_plugin.tests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_add_a_second_sub_port
heat_tempest_plugin.tests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_add_first_sub_port
heat_tempest_plugin.tests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_remove_last_sub_port_from_trunk
heat_tempest_plugin.tests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_remove_sub_port_from_trunk
heat_tempest_plugin.tests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_update_existing_sub_port_on_trunk
heat_tempest_plugin.tests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_update_trunk_name_and_description

Change-Id: I8504db7c6f416959a1d6dd3ed0734c3e6b94a1f5
diff --git a/heat_tempest_plugin/tests/functional/test_create_update_neutron_trunk.py b/heat_tempest_plugin/tests/functional/test_create_update_neutron_trunk.py
index ff5bcaf..41f6505 100644
--- a/heat_tempest_plugin/tests/functional/test_create_update_neutron_trunk.py
+++ b/heat_tempest_plugin/tests/functional/test_create_update_neutron_trunk.py
@@ -18,7 +18,7 @@
 from tempest.lib import decorators
 
 from heat_tempest_plugin.tests.functional import functional_base
-
+from tempest.common import utils
 
 test_template = '''
 heat_template_version: pike
@@ -97,6 +97,7 @@
         return sub_ports_set
 
     @decorators.idempotent_id('5572b0ac-fdb2-4c68-a49e-024771814471')
+    @utils.requires_ext(extension="trunk", service="network")
     def test_add_first_sub_port(self):
         stack_identifier = self.stack_create(template=test_template)
 
@@ -121,6 +122,7 @@
                          self._sub_ports_dict_to_set(trunk_sub_port))
 
     @decorators.idempotent_id('c3f52330-01b7-4649-99fd-43700e6bbda3')
+    @utils.requires_ext(extension="trunk", service="network")
     def test_add_a_second_sub_port(self):
         parsed_template = yaml.safe_load(test_template)
         sub_ports = [{'port': {'get_resource': 'sub_port_one'},
@@ -158,6 +160,7 @@
                          self._sub_ports_dict_to_set(trunk_sub_ports))
 
     @decorators.idempotent_id('cb59363e-5517-42f9-8b93-9ad700e2ef4c')
+    @utils.requires_ext(extension="trunk", service="network")
     def test_remove_sub_port_from_trunk(self):
         sub_ports = [{'port': {'get_resource': 'sub_port_one'},
                       'segmentation_type': 'vlan',
@@ -195,6 +198,7 @@
                          self._sub_ports_dict_to_set(trunk_sub_ports))
 
     @decorators.idempotent_id('7f0836c7-1d35-4d11-bcdc-e0e19ca68b68')
+    @utils.requires_ext(extension="trunk", service="network")
     def test_remove_last_sub_port_from_trunk(self):
         sub_ports = [{'port': {'get_resource': 'sub_port_one'},
                       'segmentation_type': 'vlan',
@@ -231,6 +235,7 @@
                          'not empty!' % trunk_sub_ports)
 
     @decorators.idempotent_id('e9296d6f-009c-4530-9aaf-84a0f8281bcb')
+    @utils.requires_ext(extension="trunk", service="network")
     def test_update_existing_sub_port_on_trunk(self):
         sub_ports = [{'port': {'get_resource': 'sub_port_one'},
                       'segmentation_type': 'vlan',
@@ -261,6 +266,7 @@
                          self._sub_ports_dict_to_set(trunk_sub_ports))
 
     @decorators.idempotent_id('912044d8-e0c1-4c6c-ab4e-bc1cadc46c18')
+    @utils.requires_ext(extension="trunk", service="network")
     def test_update_trunk_name_and_description(self):
         new_name = 'pineapple'
         new_description = 'This is a test trunk'