diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..dd2946a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,64 @@
+*.py[cod]
+
+# C extensions
+*.so
+
+# Packages
+*.egg*
+*.egg-info
+dist
+build
+eggs
+parts
+bin
+var
+sdist
+develop-eggs
+.installed.cfg
+lib
+lib64
+
+# Installer logs
+pip-log.txt
+
+# Unit test / coverage reports
+cover/
+.coverage*
+!.coveragerc
+.tox
+nosetests.xml
+.testrepository
+.venv
+
+# Translations
+*.mo
+
+# Mr Developer
+.mr.developer.cfg
+.project
+.pydevproject
+
+# Complexity
+output/*.html
+output/*/index.html
+
+# Sphinx
+doc/build
+doc/source/_static/patrole.conf.sample
+
+# pbr generates these
+AUTHORS
+ChangeLog
+
+# Editors
+*~
+.*.swp
+.*sw?
+*.idea
+
+# Files created by releasenotes build
+releasenotes/build
+
+# Misc
+.stestr
+
diff --git a/pylintrc b/pylintrc
deleted file mode 100644
index e33289b..0000000
--- a/pylintrc
+++ /dev/null
@@ -1,380 +0,0 @@
-[MASTER]
-
-# Specify a configuration file.
-#rcfile=
-
-# Python code to execute, usually for sys.path manipulation such as
-# pygtk.require().
-#init-hook=
-
-# Add files or directories to the blacklist. They should be base names, not
-# paths.
-ignore=CVS
-
-# Pickle collected data for later comparisons.
-persistent=yes
-
-# List of plugins (as comma separated values of python modules names) to load,
-# usually to register additional checkers.
-load-plugins=
-
-# Use multiple processes to speed up Pylint.
-jobs=1
-
-# Allow loading of arbitrary C extensions. Extensions are imported into the
-# active Python interpreter and may run arbitrary code.
-unsafe-load-any-extension=no
-
-# A comma-separated list of package or module names from where C extensions may
-# be loaded. Extensions are loading into the active Python interpreter and may
-# run arbitrary code
-extension-pkg-whitelist=
-
-
-[MESSAGES CONTROL]
-
-# Only show warnings with the listed confidence levels. Leave empty to show
-# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
-confidence=
-
-# Enable the message, report, category or checker with the given id(s). You can
-# either give multiple identifier separated by comma (,) or put this option
-# multiple time. See also the "--disable" option for examples.
-#enable=
-
-# Disable the message, report, category or checker with the given id(s). You
-# can either give multiple identifiers separated by comma (,) or put this
-# option multiple times (only on the command line, not in the configuration
-# file where it should appear only once).You can also use "--disable=all" to
-# disable everything first and then reenable specific checks. For example, if
-# you want to run only the similarities checker, you can use "--disable=all
-# --enable=similarities". If you want to run only the classes checker, but have
-# no Warning level messages displayed, use"--disable=all --enable=classes
-# --disable=W"
-
-disable=protected-access,fixme,too-many-branches,
-        attribute-defined-outside-init,too-many-locals,
-        too-many-arguments,too-many-statements,
-        too-many-return-statements,too-few-public-methods,
-        import-error,too-many-lines,too-many-instance-attributes,
-        too-many-public-methods,duplicate-code,broad-except,
-        redefined-builtin,missing-docstring,no-member,bad-continuation,
-        bad-indentation,superfluous-parens,literal-comparison,unused-import,
-        no-self-use,unused-variable,anomalous-backslash-in-string,
-        line-too-long,len-as-condition,unnecessary-pass,
-        # Crashes, see #743.
-        redefined-variable-type,
-        # bug in 1.7.2 https://github.com/PyCQA/pylint/issues/1493
-        not-callable
-
-
-[REPORTS]
-
-# Set the output format. Available formats are text, parseable, colorized, msvs
-# (visual studio) and html. You can also give a reporter class, eg
-# mypackage.mymodule.MyReporterClass.
-output-format=parseable
-
-# Put messages in a separate file for each module / package specified on the
-# command line instead of printing them on stdout. Reports (if any) will be
-# written in a file name "pylint_global.[txt|html]".
-files-output=no
-
-# Tells whether to display a full report or only the messages
-reports=no
-
-# Python expression which should return a note less than 10 (10 is the highest
-# note). You have access to the variables errors warning, statement which
-# respectively contain the number of errors / warnings messages and the total
-# number of statements analyzed. This is used by the global evaluation report
-# (RP0004).
-evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
-
-# Template used to display messages. This is a python new-style format string
-# used to format the message information. See doc for all details
-#msg-template=
-
-
-[LOGGING]
-
-# Logging modules to check that the string format arguments are in logging
-# function parameter format
-logging-modules=logging
-
-
-[MISCELLANEOUS]
-
-# List of note tags to take in consideration, separated by a comma.
-notes=FIXME,XXX,TODO
-
-
-[SIMILARITIES]
-
-# Minimum lines number of a similarity.
-min-similarity-lines=4
-
-# Ignore comments when computing similarities.
-ignore-comments=yes
-
-# Ignore docstrings when computing similarities.
-ignore-docstrings=yes
-
-# Ignore imports when computing similarities.
-ignore-imports=no
-
-
-[VARIABLES]
-
-# Tells whether we should check for unused import in __init__ files.
-init-import=no
-
-# A regular expression matching the name of dummy variables (i.e. expectedly
-# not used).
-dummy-variables-rgx=_$|dummy
-
-# List of additional names supposed to be defined in builtins. Remember that
-# you should avoid to define new builtins when possible.
-additional-builtins=
-
-# List of strings which can identify a callback function by name. A callback
-# name must start or end with one of those strings.
-callbacks=cb_,_cb
-
-
-[FORMAT]
-
-# Maximum number of characters on a single line.
-max-line-length=100
-
-# Regexp for a line that is allowed to be longer than the limit.
-ignore-long-lines=^\s*(# )?<?https?://\S+>?$
-
-# Allow the body of an if to be on the same line as the test if there is no
-# else.
-single-line-if-stmt=no
-
-# List of optional constructs for which whitespace checking is disabled
-no-space-check=trailing-comma,dict-separator
-
-# Maximum number of lines in a module
-max-module-lines=1000
-
-# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
-# tab).
-indent-string='    '
-
-# Number of spaces of indent required inside a hanging or continued line.
-indent-after-paren=4
-
-# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
-expected-line-ending-format=
-
-
-[BASIC]
-
-# List of builtins function names that should not be used, separated by a comma
-bad-functions=map,filter,input
-
-# Good variable names which should always be accepted, separated by a comma
-good-names=i,j,k,ex,Run,_
-
-# Bad variable names which should always be refused, separated by a comma
-bad-names=foo,bar,baz,toto,tutu,tata
-
-# Colon-delimited sets of names that determine each other's naming style when
-# the name regexes allow several styles.
-name-group=
-
-# Include a hint for the correct naming format with invalid-name
-include-naming-hint=no
-
-# Regular expression matching correct function names
-function-rgx=[a-z_][a-z0-9_]{2,30}$
-
-# Naming hint for function names
-function-name-hint=[a-z_][a-z0-9_]{2,30}$
-
-# Regular expression matching correct variable names
-variable-rgx=[a-z_][a-z0-9_]{2,30}$
-
-# Naming hint for variable names
-variable-name-hint=[a-z_][a-z0-9_]{2,30}$
-
-# Regular expression matching correct constant names
-const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
-
-# Naming hint for constant names
-const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
-
-# Regular expression matching correct attribute names
-attr-rgx=[a-z_][a-z0-9_]{2,30}$
-
-# Naming hint for attribute names
-attr-name-hint=[a-z_][a-z0-9_]{2,30}$
-
-# Regular expression matching correct argument names
-argument-rgx=[a-z_][a-z0-9_]{2,30}$
-
-# Naming hint for argument names
-argument-name-hint=[a-z_][a-z0-9_]{2,30}$
-
-# Regular expression matching correct class attribute names
-class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
-
-# Naming hint for class attribute names
-class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
-
-# Regular expression matching correct inline iteration names
-inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
-
-# Naming hint for inline iteration names
-inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
-
-# Regular expression matching correct class names
-class-rgx=[A-Z_][a-zA-Z0-9]+$
-
-# Naming hint for class names
-class-name-hint=[A-Z_][a-zA-Z0-9]+$
-
-# Regular expression matching correct module names
-module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
-
-# Naming hint for module names
-module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
-
-# Regular expression matching correct method names
-method-rgx=[a-z_][a-z0-9_]{2,75}$
-
-# Naming hint for method names
-method-name-hint=[a-z_][a-z0-9_]{2,30}$
-
-# Regular expression which should only match function or class names that do
-# not require a docstring.
-no-docstring-rgx=__.*__
-
-# Minimum line length for functions/classes that require docstrings, shorter
-# ones are exempt.
-docstring-min-length=-1
-
-# List of decorators that define properties, such as abc.abstractproperty.
-property-classes=abc.abstractproperty
-
-
-[TYPECHECK]
-
-# Tells whether missing members accessed in mixin class should be ignored. A
-# mixin class is detected if its name ends with "mixin" (case insensitive).
-ignore-mixin-members=yes
-
-# List of module names for which member attributes should not be checked
-# (useful for modules/projects where namespaces are manipulated during runtime
-# and thus existing member attributes cannot be deduced by static analysis
-ignored-modules=
-
-# List of classes names for which member attributes should not be checked
-# (useful for classes with attributes dynamically set).
-ignored-classes=SQLObject, optparse.Values, thread._local, _thread._local
-
-# List of members which are set dynamically and missed by pylint inference
-# system, and so shouldn't trigger E1101 when accessed. Python regular
-# expressions are accepted.
-generated-members=REQUEST,acl_users,aq_parent
-
-# List of decorators that create context managers from functions, such as
-# contextlib.contextmanager.
-contextmanager-decorators=contextlib.contextmanager
-
-
-[SPELLING]
-
-# Spelling dictionary name. Available dictionaries: none. To make it working
-# install python-enchant package.
-spelling-dict=
-
-# List of comma separated words that should not be checked.
-spelling-ignore-words=
-
-# A path to a file that contains private dictionary; one word per line.
-spelling-private-dict-file=
-
-# Tells whether to store unknown words to indicated private dictionary in
-# --spelling-private-dict-file option instead of raising a message.
-spelling-store-unknown-words=no
-
-
-[DESIGN]
-
-# Maximum number of arguments for function / method
-max-args=5
-
-# Argument names that match this expression will be ignored. Default to name
-# with leading underscore
-ignored-argument-names=_.*
-
-# Maximum number of locals for function / method body
-max-locals=15
-
-# Maximum number of return / yield for function / method body
-max-returns=6
-
-# Maximum number of branch for function / method body
-max-branches=12
-
-# Maximum number of statements in function / method body
-max-statements=50
-
-# Maximum number of parents for a class (see R0901).
-max-parents=7
-
-# Maximum number of attributes for a class (see R0902).
-max-attributes=7
-
-# Minimum number of public methods for a class (see R0903).
-min-public-methods=2
-
-# Maximum number of public methods for a class (see R0904).
-max-public-methods=20
-
-
-[CLASSES]
-
-# List of method names used to declare (i.e. assign) instance attributes.
-defining-attr-methods=__init__,__new__,setUp
-
-# List of valid names for the first argument in a class method.
-valid-classmethod-first-arg=cls
-
-# List of valid names for the first argument in a metaclass class method.
-valid-metaclass-classmethod-first-arg=mcs
-
-# List of member names, which should be excluded from the protected access
-# warning.
-exclude-protected=_asdict,_fields,_replace,_source,_make
-
-
-[IMPORTS]
-
-# Deprecated modules which should not be used, separated by a comma
-deprecated-modules=regsub,TERMIOS,Bastion,rexec
-
-# Create a graph of every (i.e. internal and external) dependencies in the
-# given file (report RP0402 must not be disabled)
-import-graph=
-
-# Create a graph of external dependencies in the given file (report RP0402 must
-# not be disabled)
-ext-import-graph=
-
-# Create a graph of internal dependencies in the given file (report RP0402 must
-# not be disabled)
-int-import-graph=
-
-
-[EXCEPTIONS]
-
-# Exceptions that will emit a warning when being caught. Defaults to
-# "Exception"
-overgeneral-exceptions=Exception
-
-
-
diff --git a/requirements.txt b/requirements.txt
index 84d7047..f45ae7a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,6 +2,4 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-Patrole>=0.2.0
-pylint
-
+Patrole
diff --git a/test-requirements.txt b/test-requirements.txt
index 2757893..45d7ddf 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,8 +1,6 @@
 # The order of packages is significant, because pip processes them in the order
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
-hacking>=0.12.0,<0.13 # Apache-2.0
 
-sphinx>=1.6.2 # BSD
-openstackdocstheme>=1.17.0 # Apache-2.0
-
+hacking>=1.1.0,<1.2.0 # Apache-2.0
+pylint
diff --git a/tox.ini b/tox.ini
index 17529a8..322017c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -18,12 +18,14 @@
        -r{toxinidir}/test-requirements.txt
 commands =
     find . -type f -name "*.pyc" -delete
-    stestr --test-path ./tungsten_tempest_plugin/tests/unit run {posargs}
 
 [testenv:pep8]
 basepython = python3
-commands = flake8 {posargs}
-           check-uuid --package tungsten_tempest_plugin.tests.api
+deps =
+    -r{toxinidir}/test-requirements.txt
+commands =
+    flake8
+    check-uuid --package tungsten_tempest_plugin.tests.api
 
 [testenv:uuidgen]
 basepython = python3
@@ -86,14 +88,13 @@
 # [H205] Use assert(Greater|Less)(Equal) for comparison.
 # [H210] Require 'autospec', 'spec', or 'spec_set' in mock.patch/mock.patch.object calls
 # [H904] Delay string interpolations at logging calls.
-enable-extensions = H106,H203,H204,H205,H210,H904
+enable-extensions = H106,H203,H204,H205,H210,H904,H306
 show-source = True
 # E123, E125 skipped as they are invalid PEP-8.
 #
 # H405 is another one that is good as a guideline, but sometimes
 # multiline doc strings just don't have a natural summary
 # line. Rejecting code for this reason is wrong.
-ignore = E123,E125,H405
 builtins = _
 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
 
diff --git a/tungsten_tempest_plugin/hacking/__init__.py b/tungsten_tempest_plugin/hacking/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tungsten_tempest_plugin/hacking/__init__.py
diff --git a/tungsten_tempest_plugin/hacking/checks.py b/tungsten_tempest_plugin/hacking/checks.py
new file mode 100644
index 0000000..3b05010
--- /dev/null
+++ b/tungsten_tempest_plugin/hacking/checks.py
@@ -0,0 +1,224 @@
+# Copyright 2013 IBM Corp.
+# Copyright 2017 AT&T Corporation.
+# All Rights Reserved.
+#
+#   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 os
+import re
+
+import pycodestyle
+
+
+PYTHON_CLIENTS = ['contrail']
+
+PYTHON_CLIENT_RE = re.compile('import (%s)client' % '|'.join(PYTHON_CLIENTS))
+TEST_DEFINITION = re.compile(r'^\s*def test.*')
+SETUP_TEARDOWN_CLASS_DEFINITION = re.compile(r'^\s+def (setUp|tearDown)Class')
+SCENARIO_DECORATOR = re.compile(r'\s*@.*services\((.*)\)')
+VI_HEADER_RE = re.compile(r"^#\s+vim?:.+")
+RAND_NAME_HYPHEN_RE = re.compile(r".*rand_name\(.+[\-\_][\"\']\)")
+MUTABLE_DEFAULT_ARGS = re.compile(r"^\s*def .+\((.+=\{\}|.+=\[\])")
+TESTTOOLS_SKIP_DECORATOR = re.compile(r'\s*@testtools\.skip\((.*)\)')
+CLASS = re.compile(r"^class .+")
+RBAC_CLASS_NAME_RE = re.compile(r'class .+RbacTest')
+RULE_VALIDATION_DECORATOR = re.compile(
+    r'\s*@rbac_rule_validation.action\(.*')
+IDEMPOTENT_ID_DECORATOR = re.compile(r'\s*@idempotent_id\((.*)\)')
+
+have_rbac_decorator = False
+
+
+def import_no_clients_in_api_tests(physical_line, filename):
+    """Check for client imports from tungsten_tempest_plugin/tests/api
+
+    T102: Cannot import python clients
+    """
+    if "tugnsten_tempest_plugin/tests/api" in filename:
+        res = PYTHON_CLIENT_RE.match(physical_line)
+        if res:
+            return (physical_line.find(res.group(1)),
+                    ("T102: python clients import not allowed "
+                     "in tungsten_tempest_plugin/tests/api/* or "
+                     "tugnsten_tempest_plugin/tests/scenario/* tests"))
+
+
+def no_setup_teardown_class_for_tests(physical_line, filename):
+    """Check that tests do not use setUpClass/tearDownClass
+
+    T105: Tests cannot use setUpClass/tearDownClass
+    """
+    if pycodestyle.noqa(physical_line):
+        return
+
+    if SETUP_TEARDOWN_CLASS_DEFINITION.match(physical_line):
+        return (physical_line.find('def'),
+                "T105: (setUp|tearDown)Class can not be used in tests")
+
+
+def no_vi_headers(physical_line, line_number, lines):
+    """Check for vi editor configuration in source files.
+
+    By default vi modelines can only appear in the first or
+    last 5 lines of a source file.
+
+    T106
+    """
+    # NOTE(gilliard): line_number is 1-indexed
+    if line_number <= 5 or line_number > len(lines) - 5:
+        if VI_HEADER_RE.match(physical_line):
+            return 0, "T106: Don't put vi configuration in source files"
+
+
+def service_tags_not_in_module_path(physical_line, filename):
+    """Check that a service tag isn't in the module path
+
+    A service tag should only be added if the service name isn't already in
+    the module path.
+
+    T107
+    """
+    matches = SCENARIO_DECORATOR.match(physical_line)
+    if matches:
+        services = matches.group(1).split(',')
+        for service in services:
+            service_name = service.strip().strip("'")
+            modulepath = os.path.split(filename)[0]
+            if service_name in modulepath:
+                return (physical_line.find(service_name),
+                        "T107: service tag should not be in path")
+
+
+def no_hyphen_at_end_of_rand_name(logical_line, filename):
+    """Check no hyphen at the end of rand_name() argument
+
+    T108
+    """
+    msg = "T108: hyphen should not be specified at the end of rand_name()"
+    if RAND_NAME_HYPHEN_RE.match(logical_line):
+        return 0, msg
+
+
+def no_mutable_default_args(logical_line):
+    """Check that mutable object isn't used as default argument
+
+    N322: Method's default argument shouldn't be mutable
+    """
+    msg = "N322: Method's default argument shouldn't be mutable!"
+    if MUTABLE_DEFAULT_ARGS.match(logical_line):
+        yield (0, msg)
+
+
+def no_testtools_skip_decorator(logical_line):
+    """Check that methods do not have the testtools.skip decorator
+
+    T109
+    """
+    if TESTTOOLS_SKIP_DECORATOR.match(logical_line):
+        yield (0, "T109: Cannot use testtools.skip decorator; instead use "
+               "decorators.skip_because from tempest.lib")
+
+
+def use_rand_uuid_instead_of_uuid4(logical_line, filename):
+    """Check that tests use data_utils.rand_uuid() instead of uuid.uuid4()
+
+    T113
+    """
+    if 'uuid.uuid4()' not in logical_line:
+        return
+
+    msg = ("T113: Tests should use data_utils.rand_uuid()/rand_uuid_hex() "
+           "instead of uuid.uuid4()/uuid.uuid4().hex")
+    yield (0, msg)
+
+
+def no_rbac_rule_validation_decorator(physical_line, filename):
+    """Check that each test has the ``rbac_rule_validation.action`` decorator.
+
+    Checks whether the test function has "@rbac_rule_validation.action"
+    above it; otherwise checks that it has "@decorators.idempotent_id" above
+    it and "@rbac_rule_validation.action" above that.
+
+    Assumes that ``rbac_rule_validation.action`` decorator is either the first
+    or second decorator above the test function; otherwise this check fails.
+
+    P100
+    """
+    global have_rbac_decorator
+
+    if ("tungsten_tempest_plugin/tests/api" in filename or
+            "tungsten_tempest_plugin/tests/scenario" in filename):
+
+        if RULE_VALIDATION_DECORATOR.match(physical_line):
+            have_rbac_decorator = True
+            return
+
+        if TEST_DEFINITION.match(physical_line):
+            if not have_rbac_decorator:
+                return (0, "Must use rbac_rule_validation.action "
+                           "decorator for API and scenario tests")
+
+            have_rbac_decorator = False
+
+
+def no_rbac_suffix_in_test_filename(filename):
+    """Check that RBAC filenames end with "_rbac" suffix.
+
+    P101
+    """
+    if "tungsten_tempest_plugin/tests/api" in filename:
+
+        if filename.endswith('rbac_base.py'):
+            return
+
+        if not filename.endswith('_rbac.py'):
+            return 0, "RBAC test filenames must end in _rbac suffix"
+
+
+def no_rbac_test_suffix_in_test_class_name(physical_line, filename):
+    """Check that RBAC class names end with "RbacTest"
+
+    P102
+    """
+    if "tunsgten_tempest_plugin/tests/api" in filename:
+
+        if filename.endswith('rbac_base.py'):
+            return
+
+        if CLASS.match(physical_line):
+            if not RBAC_CLASS_NAME_RE.match(physical_line):
+                return 0, "RBAC test class names must end in 'RbacTest'"
+
+
+def no_client_alias_in_test_cases(logical_line, filename):
+    """Check that test cases don't use "self.client" to define a client.
+
+    P103
+    """
+    if "tungsten_tempest_plugin/tests/api" in filename:
+        if "self.client" in logical_line or "cls.client" in logical_line:
+            return 0, "Do not use 'self.client' as a service client alias"
+
+
+def factory(register):
+    register(import_no_clients_in_api_tests)
+    register(no_setup_teardown_class_for_tests)
+    register(no_vi_headers)
+    register(no_hyphen_at_end_of_rand_name)
+    register(no_mutable_default_args)
+    register(no_testtools_skip_decorator)
+    register(use_rand_uuid_instead_of_uuid4)
+    register(service_tags_not_in_module_path)
+    register(no_rbac_rule_validation_decorator)
+    register(no_rbac_suffix_in_test_filename)
+    register(no_rbac_test_suffix_in_test_class_name)
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_access_control.py b/tungsten_tempest_plugin/tests/api/contrail/test_access_control.py
index 4425cea..3d00cbd 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_access_control.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_access_control.py
@@ -78,7 +78,7 @@
         return new_ctrl_list
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_api_access_lists")
+                                 rules="list_api_access_lists")
     @idempotent_id('2bfde8fd-36fe-4e69-ba59-6f2db8941e7d')
     def test_list_api_access_lists(self):
         """
@@ -88,7 +88,7 @@
             self.access_control_client.list_api_access_lists()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_api_access_lists")
+                                 rules="create_api_access_lists")
     @idempotent_id('b2b5f50c-07d8-4d79-b9a4-78187ad97353')
     def test_create_api_access_lists(self):
         """
@@ -98,7 +98,7 @@
             self._create_api_access_lists()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_api_access_list")
+                                 rules="show_api_access_list")
     @idempotent_id('b82e8e6b-83b5-424d-9652-ef6a34067f4f')
     def test_show_api_access_list(self):
         """
@@ -110,7 +110,7 @@
                 new_api_list['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_api_access_list")
+                                 rules="update_api_access_list")
     @idempotent_id('edc88825-1e2e-47ff-b7b4-f68d6310fbad')
     def test_update_api_access_list(self):
         """
@@ -124,7 +124,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_api_access_list")
+                                 rules="delete_api_access_list")
     @idempotent_id('f27d9044-95f2-4733-81ed-df9340dbd421')
     def test_delete_api_access_list(self):
         """
@@ -136,7 +136,7 @@
                 new_api_list['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_access_control_lists")
+                                 rules="list_access_control_lists")
     @idempotent_id('c56a1338-a9d1-4286-8aeb-3a0d60d93037')
     def test_list_access_control_lists(self):
         """
@@ -146,7 +146,7 @@
             self.access_control_client.list_access_control_lists()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_access_control_lists")
+                                 rules="create_access_control_lists")
     @idempotent_id('9f225d2b-5376-42f5-97aa-cf63be47fa19')
     def test_create_access_control(self):
         """
@@ -158,7 +158,7 @@
             self._create_access_control_lists(sec_group['name'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_access_control_list")
+                                 rules="show_access_control_list")
     @idempotent_id('f0ed882b-f3de-48b7-884a-637ee0b7d6b6')
     def test_show_access_control_list(self):
         """
@@ -173,7 +173,7 @@
                 new_ctrl_list['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_access_control_list")
+                                 rules="update_access_control_list")
     @idempotent_id('9a4b3133-dd07-4a1a-b282-f7770c372fb8')
     def test_update_access_control_list(self):
         """
@@ -189,7 +189,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_access_control_list")
+                                 rules="delete_access_control_list")
     @idempotent_id('36a8ace1-71ca-4c7c-8667-d8387d6f964a')
     def test_delete_access_control_list(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_alarm.py b/tungsten_tempest_plugin/tests/api/contrail/test_alarm.py
index 3996b9f..fafe194 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_alarm.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_alarm.py
@@ -24,7 +24,6 @@
 from patrole_tempest_plugin import rbac_rule_validation
 
 from tempest import config
-
 from tempest.lib.common.utils import data_utils
 from tempest.lib.decorators import idempotent_id
 
@@ -89,7 +88,7 @@
         self.alarm_client.update_alarm(alarm_uuid, **put_body)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_alarms")
+                                 rules="list_alarms")
     @idempotent_id('dc7d19dd-dd5e-4ec8-bf0c-c6d9d83a60a8')
     def test_list_alarms(self):
         """
@@ -99,7 +98,7 @@
             self.alarm_client.list_alarms()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_alarms")
+                                 rules="create_alarms")
     @idempotent_id('7fe55d0c-e54a-4bb7-95a6-9c53f9e9c4bf')
     def test_create_alarms(self):
         """
@@ -111,7 +110,7 @@
             self._create_alarm(global_system_config)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_alarm")
+                                 rules="show_alarm")
     @idempotent_id('ab0ccbe4-7bfe-4176-890a-d438ee04290d')
     def test_show_alarm(self):
         """
@@ -124,7 +123,7 @@
             self.alarm_client.show_alarm(alarm_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_alarm")
+                                 rules="update_alarm")
     @idempotent_id('ab331cca-ee53-4106-9b30-7319bfb1bea7')
     def test_update_alarm(self):
         """
@@ -137,7 +136,7 @@
             self._update_alarm(alarm_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_alarm")
+                                 rules="delete_alarm")
     @idempotent_id('84fadb14-77c0-4f21-b5b2-1da7a2fd27e6')
     def test_delete_alarm(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_alias_ip.py b/tungsten_tempest_plugin/tests/api/contrail/test_alias_ip.py
index 6db7ad9..24fa642 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_alias_ip.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_alias_ip.py
@@ -115,7 +115,7 @@
         return new_alias_ip
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_alias_ips")
+                                 rules="list_alias_ips")
     @idempotent_id('899d6824-0755-41ef-adef-03eb1858bcb0')
     def test_list_alias_ips(self):
         """
@@ -125,7 +125,7 @@
             self.alias_ip_client.list_alias_ips()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_alias_ips")
+                                 rules="create_alias_ips")
     @idempotent_id('bc9aae29-22a8-4eed-a31f-c0ded300e3a3')
     def test_create_alias_ips(self):
         """
@@ -136,7 +136,7 @@
             self._create_alias_ips(new_alias_ip_pool, '2.2.3.1')
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_alias_ip")
+                                 rules="show_alias_ip")
     @idempotent_id('d20318b1-c204-44e7-a44c-66f6a1fbe7a0')
     def test_show_alias_ip(self):
         """
@@ -149,7 +149,7 @@
                 new_alias_ip['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_alias_ip")
+                                 rules="update_alias_ip")
     @idempotent_id('c237b18f-d899-4b80-8e9b-068244a24612')
     def test_update_alias_ip(self):
         """
@@ -164,7 +164,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_alias_ip")
+                                 rules="delete_alias_ip")
     @idempotent_id('456c641c-9066-4125-8dec-d1529ad8f1ba')
     def test_delete_alias_ip(self):
         """
@@ -177,7 +177,7 @@
                 new_alias_ip['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_alias_ip_pools")
+                                 rules="list_alias_ip_pools")
     @idempotent_id('ffe85f35-589a-4b90-a1d3-6aed92a85954')
     def test_list_alias_ip_pools(self):
         """
@@ -187,7 +187,7 @@
             self.alias_ip_client.list_alias_ip_pools()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_alias_ip_pools")
+                                 rules="create_alias_ip_pools")
     @idempotent_id('83abd2c0-d46a-4337-87d0-31cdb86e4226')
     def test_create_alias_ip_pools(self):
         """
@@ -197,7 +197,7 @@
             self._create_alias_ip_pools()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_alias_ip_pool")
+                                 rules="show_alias_ip_pool")
     @idempotent_id('a1cbe111-ccba-4fa4-ba59-7d1ee08a15db')
     def test_show_alias_ip_pool(self):
         """
@@ -209,7 +209,7 @@
                 new_alias_ip_pool['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_alias_ip_pool")
+                                 rules="update_alias_ip_pool")
     @idempotent_id('7f3448d7-22f1-4808-b3eb-15eeb3f079aa')
     def test_update_alias_ip_pool(self):
         """
@@ -223,7 +223,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_alias_ip_pool")
+                                 rules="delete_alias_ip_pool")
     @idempotent_id('f59ea4fb-d10f-40c8-a8fa-dcd948ca89c8')
     def test_delete_alias_ip_pool(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_analytics_node.py b/tungsten_tempest_plugin/tests/api/contrail/test_analytics_node.py
index 96090ff..c7dfd8d 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_analytics_node.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_analytics_node.py
@@ -66,7 +66,7 @@
         return new_node
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_analytics_nodes")
+                                 rules="list_analytics_nodes")
     @idempotent_id('d3002e37-4b42-446d-b144-1b53f0dadfd3')
     def test_list_analytics_nodes(self):
         """
@@ -76,7 +76,7 @@
             self.analytics_node_client.list_analytics_nodes()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_analytics_node")
+                                 rules="show_analytics_node")
     @idempotent_id('b51043fd-77ba-4312-b96f-569ed5153338')
     def test_show_analytics_node(self):
         """
@@ -89,7 +89,7 @@
             self.analytics_node_client.show_analytics_node(new_node['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_analytics_nodes")
+                                 rules="create_analytics_nodes")
     @idempotent_id('c57482c9-fcb4-4f41-95b0-7f0ffeee3dc3')
     def test_create_analytics_nodes(self):
         """
@@ -101,7 +101,7 @@
             self._create_analytics_node(global_system_config)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_analytics_node")
+                                 rules="update_analytics_node")
     @idempotent_id('ff50a2df-6283-409e-ab03-c13b63acc8a0')
     def test_update_analytics_node(self):
         """
@@ -116,7 +116,7 @@
                 new_node['uuid'], display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_analytics_node")
+                                 rules="delete_analytics_node")
     @idempotent_id('972f997a-c89f-4227-8ae9-5a2335ec0b0a')
     def test_delete_analytics_node(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_attachments_client.py b/tungsten_tempest_plugin/tests/api/contrail/test_attachments_client.py
index ef10c00..e61d5e8 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_attachments_client.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_attachments_client.py
@@ -62,7 +62,7 @@
         return new_customer
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_provider_attachments")
+                                 rules="list_provider_attachments")
     @idempotent_id('961dbf54-ae4f-42e8-9d27-69fa7df39013')
     def test_list_provider_attachments(self):
         """
@@ -72,7 +72,7 @@
             self.attachments_client.list_provider_attachments()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_provider_attachments")
+                                 rules="create_provider_attachments")
     @idempotent_id('73ad032e-3e81-4dcc-be55-1987484207cd')
     def test_create_providerattach(self):
         """
@@ -82,7 +82,7 @@
             self._create_provider_attachments()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_provider_attachment")
+                                 rules="show_provider_attachment")
     @idempotent_id('7b5278bc-dd79-495a-9f74-448c04f52bd2')
     def test_show_provider_attachment(self):
         """
@@ -94,7 +94,7 @@
                 new_provider['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_provider_attachment")
+                                 rules="update_provider_attachment")
     @idempotent_id('3516ff99-eddf-4932-afa4-433a43a0e5ac')
     def test_update_provider_attachment(self):
         """
@@ -108,7 +108,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_provider_attachment")
+                                 rules="delete_provider_attachment")
     @idempotent_id('234d5505-2abf-418b-b43b-ea6f5a724fd3')
     def test_delete_provider_attachment(self):
         """
@@ -120,7 +120,7 @@
                 new_provider['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_customer_attachments")
+                                 rules="list_customer_attachments")
     @idempotent_id('3eca8fd8-ec3c-4a0e-8f62-b15d28796b7f')
     def test_list_customer_attachments(self):
         """
@@ -130,7 +130,7 @@
             self.attachments_client.list_customer_attachments()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_customer_attachments")
+                                 rules="create_customer_attachments")
     @idempotent_id('53f93053-554c-4202-b763-0230d9a0553a')
     def test_create_customerattachments(self):
         """
@@ -140,7 +140,7 @@
             self._create_customer_attachments()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_customer_attachment")
+                                 rules="show_customer_attachment")
     @idempotent_id('c6671540-695c-4cba-bcee-4a5d1cddd412')
     def test_show_customer_attachment(self):
         """
@@ -152,7 +152,7 @@
                 new_customer['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_customer_attachment")
+                                 rules="update_customer_attachment")
     @idempotent_id('50419cca-dd03-4d02-9c06-88446647fcba')
     def test_update_customer_attachment(self):
         """
@@ -166,7 +166,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_customer_attachment")
+                                 rules="delete_customer_attachment")
     @idempotent_id('5385c275-8e86-4739-9cb6-d1e0ed522807')
     def test_delete_customer_attachment(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_bgp_as_a_service.py b/tungsten_tempest_plugin/tests/api/contrail/test_bgp_as_a_service.py
index 723dce8..c503bb1 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_bgp_as_a_service.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_bgp_as_a_service.py
@@ -46,7 +46,7 @@
         return new_bgp
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_bgp_as_a_services")
+                                 rules="list_bgp_as_a_services")
     @idempotent_id('d3153cd0-379e-4e62-9780-ef237e567fc5')
     def test_list_bgp_as_a_services(self):
         """
@@ -56,7 +56,7 @@
             self.bgp_as_a_service_client.list_bgp_as_a_services()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_bgp_as_a_services")
+                                 rules="create_bgp_as_a_services")
     @idempotent_id('a039f0c4-b53a-492b-a5c5-fbdf046afcf4')
     def test_create_bgp_as_a_services(self):
         """
@@ -66,7 +66,7 @@
             self._create_bgp_as_a_services()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_bgp_as_a_service")
+                                 rules="show_bgp_as_a_service")
     @idempotent_id('c2fae8b4-929c-4d2f-914d-76a7414a56dc')
     def test_show_bgp_as_a_service(self):
         """
@@ -78,7 +78,7 @@
                 new_bgp['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_bgp_as_a_service")
+                                 rules="delete_bgp_as_a_service")
     @idempotent_id('78c8389a-7bb5-4027-bae1-923af3d6e77c')
     def test_delete_bgp_as_a_service(self):
         """
@@ -90,7 +90,7 @@
                 new_bgp['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_bgp_as_a_service")
+                                 rules="update_bgp_as_a_service")
     @idempotent_id('38ba2ecb-71e2-4a2f-be43-e82491dffa05')
     def test_update_bgp_as_a_service(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_config_client.py b/tungsten_tempest_plugin/tests/api/contrail/test_config_client.py
index ea39ef2..5012953 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_config_client.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_config_client.py
@@ -60,7 +60,7 @@
         return config_node
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_config_nodes")
+                                 rules="list_config_nodes")
     @idempotent_id('b560e060-e4f0-45b0-93e2-55f0cb201e06')
     def test_list_config_nodes(self):
         """
@@ -70,7 +70,7 @@
             self.config_client.list_config_nodes()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_config_nodes")
+                                 rules="create_config_nodes")
     @idempotent_id('a8d20d0d-dc5a-4cae-87c5-7f6914c3701e')
     def test_create_config_nodes(self):
         """
@@ -80,7 +80,7 @@
             self._create_config_node()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_config_node")
+                                 rules="delete_config_node")
     @idempotent_id('16573a85-57ab-418c-bb23-5dd936e7be90')
     def test_delete_config_node(self):
         """
@@ -93,7 +93,7 @@
                 config_node_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_config_node")
+                                 rules="show_config_node")
     @idempotent_id('a5b17108-4fa3-4d09-b861-e2857aab8f80')
     def test_show_config_node(self):
         """
@@ -105,7 +105,7 @@
             self.config_client.show_config_node(config_node_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_config_node")
+                                 rules="update_config_node")
     @idempotent_id('8f70d2c0-594b-4a94-ab15-88bd8a2e62e5')
     def test_update_config_node(self):
         """
@@ -138,7 +138,7 @@
         return config_root
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_config_roots")
+                                 rules="create_config_roots")
     @idempotent_id('291b28ea-d0d8-47cd-ac76-1f980047cb76')
     def test_create_config_roots(self):
         """
@@ -148,7 +148,7 @@
             self._create_config_root()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_config_root")
+                                 rules="delete_config_root")
     @idempotent_id('bd04c0fb-3deb-4904-ad2c-1a10933c30dd')
     def test_delete_config_root(self):
         """
@@ -161,7 +161,7 @@
                 config_root_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_config_root")
+                                 rules="show_config_root")
     @idempotent_id('fba2c419-9a83-4d88-9a26-84770544bb3f')
     def test_show_config_root(self):
         """
@@ -173,7 +173,7 @@
             self.config_client.show_config_root(config_root_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_config_root")
+                                 rules="update_config_root")
     @idempotent_id('bfcc074f-5e1c-4b45-8a2a-857239f8acb0')
     def test_update_config_root(self):
         """
@@ -187,7 +187,7 @@
                 config_root_uuid, display_name=updated_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_config_roots")
+                                 rules="list_config_roots")
     @idempotent_id('316e7425-8fb0-41b4-9080-a76697abbafa')
     def test_list_config_roots(self):
         """
@@ -219,7 +219,7 @@
         return new_config
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_global_system_configs")
+                                 rules="list_global_system_configs")
     @idempotent_id('d1d189a7-14c1-49c5-b180-cd42ed2ca123')
     def test_list_global_system_configs(self):
         """
@@ -229,7 +229,7 @@
             self.config_client.list_global_system_configs()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_global_system_configs")
+                                 rules="create_global_system_configs")
     @idempotent_id('e0ba6a20-3e28-47ac-bf95-9a848fcee49a')
     def test_create_global_sys_configs(self):
         """
@@ -239,7 +239,7 @@
             self._create_global_system_config()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_global_system_config")
+                                 rules="show_global_system_config")
     @idempotent_id('4b9f9131-cb34-4b7d-9d06-c6aca85cce3a')
     def test_show_global_system_config(self):
         """
@@ -251,7 +251,7 @@
                 new_config['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_global_system_config")
+                                 rules="update_global_system_config")
     @idempotent_id('4f90dc83-da59-45a4-8ab6-b387bd6c2df4')
     def test_update_global_sys_config(self):
         """
@@ -265,7 +265,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_global_system_config")
+                                 rules="delete_global_system_config")
     @idempotent_id('fce1653c-e657-4a1e-8ced-7e02d297d6c9')
     def test_delete_global_sys_config(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_database.py b/tungsten_tempest_plugin/tests/api/contrail/test_database.py
index e9c6b93..9586bcc 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_database.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_database.py
@@ -72,7 +72,7 @@
         return db_node
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_database_nodes")
+                                 rules="list_database_nodes")
     @idempotent_id('5ae6f965-6161-443f-b19e-dfa7b364c533')
     def test_list_database_nodes(self):
         """
@@ -85,7 +85,7 @@
             self.db_client.list_database_nodes()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_database_node")
+                                 rules="show_database_node")
     @idempotent_id('4a07d9a8-7b99-43bd-b628-06c023993aab')
     def test_show_database_node(self):
         """
@@ -99,7 +99,7 @@
             self.db_client.show_database_node(db_node_id)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_database_nodes")
+                                 rules="create_database_nodes")
     @idempotent_id('b9aa9c6b-9381-44f0-94fb-e4523bf2a87e')
     def test_create_database_nodes(self):
         """
@@ -111,7 +111,7 @@
             self._create_database_node(global_system_config)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_database_node")
+                                 rules="update_database_node")
     @idempotent_id('6e59f393-0e55-4327-871e-7f0ad53f2e17')
     def test_update_database_node(self):
         """
@@ -128,7 +128,7 @@
                 display_name=display_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_database_node")
+                                 rules="delete_database_node")
     @idempotent_id('0cbc5a52-d7e7-4a1c-a85d-6bf44012d99b')
     def test_delete_database_node(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_discovery_service_assignment.py b/tungsten_tempest_plugin/tests/api/contrail/test_discovery_service_assignment.py
index cd1fc85..ddc0eea 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_discovery_service_assignment.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_discovery_service_assignment.py
@@ -45,7 +45,7 @@
         return new_dsa
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_discovery_service_assignments")
+                                 rules="list_discovery_service_assignments")
     @idempotent_id('9ac1e4ca-8983-403f-b644-7758935f2f36')
     def test_list_discovery_service(self):
         """
@@ -55,7 +55,7 @@
             self.dsa_client.list_ds_assignments()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_discovery_service_assignments")
+                                 rules="create_discovery_service_assignments")
     @idempotent_id('40ad1208-a039-4809-8516-41b4dfcbd00c')
     def test_create_discovery_service(self):
         """
@@ -65,7 +65,7 @@
             self._create_discovery_service_assignments()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_discovery_service_assignment")
+                                 rules="show_discovery_service_assignment")
     @idempotent_id('63660fe9-22b8-456c-a757-a7da1abfbce8')
     def test_show_discovery_service(self):
         """
@@ -76,7 +76,7 @@
             self.dsa_client.show_ds_assignment(new_dsa['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_discovery_service_assignment")
+                                 rules="update_discovery_service_assignment")
     @idempotent_id('71ce1404-965b-4670-abb7-5b6fea3b24b7')
     def test_update_discovery_service(self):
         """
@@ -91,7 +91,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_discovery_service_assignment")
+                                 rules="delete_discovery_service_assignment")
     @idempotent_id('e7ff845d-2140-4eb0-9720-26370459723b')
     def test_delete_discovery_service(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_domain.py b/tungsten_tempest_plugin/tests/api/contrail/test_domain.py
index d77ba98..7e0e420 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_domain.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_domain.py
@@ -57,7 +57,7 @@
         self.domain_client.update_domain(domain_uuid, **put_body)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_domains")
+                                 rules="list_domains")
     @idempotent_id('fa02e27b-f661-4186-a522-69e8fcb6abf9')
     def test_list_domains(self):
         """
@@ -67,7 +67,7 @@
             self.domain_client.list_domains()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_domains")
+                                 rules="create_domains")
     @idempotent_id('3f18be91-c37b-4e17-bf5e-b704d993f738')
     def test_create_domains(self):
         """
@@ -77,7 +77,7 @@
             self._create_domains()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_domain")
+                                 rules="show_domain")
     @idempotent_id('e79f8581-ba9f-420a-aa26-f1cb51cf4bbf')
     def test_show_domain(self):
         """
@@ -88,7 +88,7 @@
             self.domain_client.show_domain(domain_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_domain")
+                                 rules="update_domain")
     @idempotent_id('fdf72539-20b5-4bdb-b22b-70c86fbb52a4')
     def test_update_domain(self):
         """
@@ -99,7 +99,7 @@
             self._update_domain(domain_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_domain")
+                                 rules="delete_domain")
     @idempotent_id('abaad2b0-6bde-40b8-b257-20ca805c1dca')
     def test_delete_domain(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_dsa_rule.py b/tungsten_tempest_plugin/tests/api/contrail/test_dsa_rule.py
index c234e94..11f2485 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_dsa_rule.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_dsa_rule.py
@@ -61,7 +61,7 @@
         return new_rule
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_dsa_rules")
+                                 rules="list_dsa_rules")
     @idempotent_id('3227673b-96fc-4d26-ab0b-109347e9e9c2')
     def test_list_dsa_rules(self):
         """
@@ -71,7 +71,7 @@
             self.dsa_rule_client.list_dsa_rules()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_dsa_rule")
+                                 rules="show_dsa_rule")
     @idempotent_id('0f90ea4f-c050-4c31-93a7-1e0c58df914e')
     def test_show_dsa_rule(self):
         """
@@ -85,7 +85,7 @@
             self.dsa_rule_client.show_dsa_rule(new_rule['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_dsa_rules")
+                                 rules="create_dsa_rules")
     @idempotent_id('c3774ca3-45d0-4ca8-a6b3-f895441b1d0e')
     def test_create_dsa_rules(self):
         """
@@ -98,7 +98,7 @@
             self._create_dsa_rules(discovery_service_assignment)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_dsa_rule")
+                                 rules="update_dsa_rule")
     @idempotent_id('5cfe7e8e-d91c-4183-8e6c-733e826707be')
     def test_update_dsa_rule(self):
         """
@@ -114,7 +114,7 @@
                 new_rule['uuid'], display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_dsa_rule")
+                                 rules="delete_dsa_rule")
     @idempotent_id('d3b869db-fa49-48f0-861a-08efd9879b15')
     def test_delete_dsa_rule(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_floating_ip.py b/tungsten_tempest_plugin/tests/api/contrail/test_floating_ip.py
index 16813a0..9427f77 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_floating_ip.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_floating_ip.py
@@ -114,7 +114,7 @@
         return fip_pool
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_floating_ip_pools")
+                                 rules="create_floating_ip_pools")
     @idempotent_id('a83ca5e8-be4b-4161-869c-f981a724cf82')
     def test_create_floating_ip_pools(self):
         """
@@ -124,7 +124,7 @@
             self._create_floating_ip_pool()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_floating_ip_pools")
+                                 rules="list_floating_ip_pools")
     @idempotent_id('9d20e78d-0463-4a0e-b30c-40770bee35bc')
     def test_list_floating_ip_pools(self):
         """
@@ -135,7 +135,7 @@
             self.fip_client.list_floating_ip_pools()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_floating_ip_pool")
+                                 rules="show_floating_ip_pool")
     @idempotent_id('1ec3124c-c15c-4ee6-b2de-2feed9599e38')
     def test_show_floating_ip_pool(self):
         """
@@ -146,7 +146,7 @@
             self.fip_client.show_floating_ip_pool(uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_floating_ip_pool")
+                                 rules="update_floating_ip_pool")
     @idempotent_id('6563f2e7-ae6b-483b-8c07-0111efc86817')
     def test_update_floating_ip_pool(self):
         """
@@ -159,7 +159,7 @@
                 display_name='rbac-fip-pool-new-name')
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_floating_ip_pool")
+                                 rules="delete_floating_ip_pool")
     @idempotent_id('c4b449ae-2f12-49cf-9dec-2b21c143aff6')
     def test_delete_floating_ip_pool(self):
         """
@@ -210,7 +210,7 @@
         return fip
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_floating_ips")
+                                 rules="create_floating_ips")
     @idempotent_id('ff05f70f-9db9-43cb-a5ce-38cbbef2c430')
     def test_create_floating_ips(self):
         """
@@ -220,7 +220,7 @@
             self._create_floating_ip()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_floating_ips")
+                                 rules="list_floating_ips")
     @idempotent_id('e56046f9-32f9-41ce-9c1b-b982997ac347')
     def test_list_floating_ips(self):
         """
@@ -231,7 +231,7 @@
             self.fip_client.list_floating_ips()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_floating_ip")
+                                 rules="show_floating_ip")
     @idempotent_id('293f2c26-4101-4a2f-86d4-feb2878bd511')
     def test_show_floating_ip(self):
         """
@@ -242,7 +242,7 @@
             self.fip_client.show_floating_ip(uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_floating_ip")
+                                 rules="update_floating_ip")
     @idempotent_id('a09283c9-73d3-42f7-876d-f33040686d6d')
     def test_update_floating_ip(self):
         """
@@ -255,7 +255,7 @@
                 display_name='rbac-fip-new-name')
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_floating_ip")
+                                 rules="delete_floating_ip")
     @idempotent_id('a26f162f-da56-4153-aed6-bffccba92bc7')
     def test_delete_floating_ip(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_forwarding_class.py b/tungsten_tempest_plugin/tests/api/contrail/test_forwarding_class.py
index ba805d0..4dad685 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_forwarding_class.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_forwarding_class.py
@@ -86,7 +86,7 @@
         return new_fclass
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_forwarding_classs")
+                                 rules="list_forwarding_classs")
     @idempotent_id('807a66fd-d4a4-472c-a13d-7ba590509e6e')
     def test_list_forwarding_classs(self):
         """
@@ -96,7 +96,7 @@
             self.forwarding_class_client.list_forwarding_classs()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_forwarding_class")
+                                 rules="show_forwarding_class")
     @idempotent_id('8ef21f71-72a4-4de9-af93-6e759aa463c0')
     def test_show_forwarding_class(self):
         """
@@ -114,7 +114,7 @@
                 new_fclass['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_forwarding_classs")
+                                 rules="create_forwarding_classs")
     @idempotent_id('d098859c-ad36-4385-8fb0-c00934a99b6f')
     def test_create_forwarding_classs(self):
         """
@@ -130,7 +130,7 @@
                                           global_qos_config)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_forwarding_class")
+                                 rules="update_forwarding_class")
     @idempotent_id('589dc03d-a25d-48be-9d9c-d3f92ff2cfc6')
     def test_update_forwarding_class(self):
         """
@@ -149,7 +149,7 @@
                 new_fclass['uuid'], display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_forwarding_class")
+                                 rules="delete_forwarding_class")
     @idempotent_id('a0348ffc-68c5-4d94-ba03-d08483503ced')
     def test_delete_forwarding_class(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_fqname_id.py b/tungsten_tempest_plugin/tests/api/contrail/test_fqname_id.py
index f2d91c0..d1fbabf 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_fqname_id.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_fqname_id.py
@@ -55,7 +55,7 @@
         super(FqnameIdTest, cls).resource_cleanup()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="fqname_to_id")
+                                 rules="fqname_to_id")
     @idempotent_id('1fc1350b-3146-49bc-9af5-a61a98b55541')
     def test_fqname_to_id(self):
         """
@@ -66,7 +66,7 @@
                                         type=self.type)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="id_to_fqname")
+                                 rules="id_to_fqname")
     @idempotent_id('ecdd77d7-8508-4639-86cd-b97907b363ff')
     def test_id_to_fqname(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_instance_ip.py b/tungsten_tempest_plugin/tests/api/contrail/test_instance_ip.py
index c5d6b48..5732cd2 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_instance_ip.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_instance_ip.py
@@ -106,7 +106,7 @@
         return iip
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_instance_ips")
+                                 rules="list_instance_ips")
     @idempotent_id('31db3b3f-c40b-4f7f-bb8b-0a110f099553')
     def test_list_instance_ips(self):
         """
@@ -117,7 +117,7 @@
             self.iip_client.list_instance_ips()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_instance_ips")
+                                 rules="create_instance_ips")
     @idempotent_id('78f5cd4d-345d-4d87-8b8b-4d5d3fec4a12')
     def test_create_instance_ips(self):
         """
@@ -127,7 +127,7 @@
             self._create_instance_ip()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_instance_ip")
+                                 rules="show_instance_ip")
     @idempotent_id('276f3838-d9cb-4432-bbb4-db31c4c1db5c')
     def test_show_instance_ip(self):
         """
@@ -138,7 +138,7 @@
             self.iip_client.show_instance_ip(uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_instance_ip")
+                                 rules="update_instance_ip")
     @idempotent_id('b85975a5-176f-44b1-a615-b6f0a39a7708')
     def test_update_instance_ip(self):
         """
@@ -151,7 +151,7 @@
                 display_name='rbac-iip-new-name')
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_instance_ip")
+                                 rules="delete_instance_ip")
     @idempotent_id('d9c1d400-1dfb-4adb-8d97-0e8b498226b7')
     def test_delete_instance_ip(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_interfaces.py b/tungsten_tempest_plugin/tests/api/contrail/test_interfaces.py
index 32a9703..80ffdf1 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_interfaces.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_interfaces.py
@@ -94,7 +94,7 @@
         return logical_if
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_physical_interfaces")
+                                 rules="list_physical_interfaces")
     @idempotent_id('c496a2b4-51b2-4674-a60e-483a315baccb')
     def test_list_physical_interfaces(self):
         """
@@ -104,7 +104,7 @@
             self.interface_client.list_physical_interfaces()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_physical_interfaces")
+                                 rules="create_physical_interfaces")
     @idempotent_id('066f53d8-3d2a-4ad6-983f-243de7c12962')
     def test_create_physical_interfaces(self):
         """
@@ -116,7 +116,7 @@
             self._create_physical_interface()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_physical_interface")
+                                 rules="update_physical_interface")
     @idempotent_id('91c4fc90-ed0f-42ec-87c6-ff6c2a9ab8de')
     def test_update_physical_interface(self):
         """
@@ -136,7 +136,7 @@
                 uuid, **body)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_physical_interface")
+                                 rules="delete_physical_interface")
     @idempotent_id('5d77ea76-be8c-49cc-8f08-72fbdaf9028f')
     def test_delete_physical_interface(self):
         """
@@ -149,7 +149,7 @@
             self.interface_client.delete_physical_interface(uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_physical_interface")
+                                 rules="show_physical_interface")
     @idempotent_id('2c75c7e7-ef34-4e24-9c2f-5a2182db33a6')
     def test_show_physical_interface(self):
         """
@@ -161,7 +161,7 @@
             self.interface_client.show_physical_interface(uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_logical_interfaces")
+                                 rules="list_logical_interfaces")
     @idempotent_id('43ac3727-4a43-42d7-b52f-df75018915b9')
     def test_list_logical_interfaces(self):
         """
@@ -171,7 +171,7 @@
             self.interface_client.list_logical_interfaces()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_logical_interfaces")
+                                 rules="create_logical_interfaces")
     @idempotent_id('503facf2-0752-47e4-a0a4-7a3103133a61')
     def test_create_logical_interfaces(self):
         """
@@ -183,7 +183,7 @@
             self._create_logical_interface()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_logical_interface")
+                                 rules="update_logical_interface")
     @idempotent_id('63c991f4-6aba-454c-9c49-522dc77b3f5c')
     def test_update_logical_interface(self):
         """
@@ -204,7 +204,7 @@
                 uuid, **body)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_logical_interface")
+                                 rules="delete_logical_interface")
     @idempotent_id('a36743d1-3ea1-4cf5-89d8-9c0b885fa625')
     def test_delete_logical_interface(self):
         """
@@ -217,7 +217,7 @@
             self.interface_client.delete_logical_interface(uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_logical_interface")
+                                 rules="show_logical_interface")
     @idempotent_id('f0f7fab7-eeb9-4d29-8415-31a50180fb44')
     def test_show_logical_interface(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_load_balancer.py b/tungsten_tempest_plugin/tests/api/contrail/test_load_balancer.py
index f19c4ce..a739b86 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_load_balancer.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_load_balancer.py
@@ -173,7 +173,7 @@
     """
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_load_balancers")
+                                 rules="list_load_balancers")
     @idempotent_id('5d840b6b-3974-4945-916f-dd53ba27e42f')
     def test_list_load_balancers(self):
         """
@@ -183,7 +183,7 @@
             self.load_balancer_client.list_load_balancers()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_load_balancers")
+                                 rules="create_load_balancers")
     @idempotent_id('6a18d506-0794-4eb9-a945-165bf146005d')
     def test_create_load_balancers(self):
         """
@@ -193,7 +193,7 @@
             self._create_load_balancer()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_load_balancer")
+                                 rules="show_load_balancer")
     @idempotent_id('428012aa-cd0e-4702-89d2-459046d4bd5f')
     def test_show_load_balancer(self):
         """
@@ -204,7 +204,7 @@
             self.load_balancer_client.show_load_balancer(lb_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_load_balancer")
+                                 rules="update_load_balancer")
     @idempotent_id('7cd3d7b2-b149-40c1-a801-a6a8a660bd24')
     def test_update_load_balancer(self):
         """
@@ -215,7 +215,7 @@
             self._update_load_balancer(lb_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_load_balancer")
+                                 rules="delete_load_balancer")
     @idempotent_id('b28c6b11-d1b0-45d0-8942-638b6b590702')
     def test_delete_load_balancer(self):
         """
@@ -233,7 +233,7 @@
     """
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_load_balancer_health_monitors")
+                                 rules="list_load_balancer_health_monitors")
     @idempotent_id('3e3d8bdc-3621-4c5e-8130-1187f445a4e6')
     def test_list_lb_health_monitors(self):
         """
@@ -243,7 +243,7 @@
             self.load_balancer_client.list_lb_healthmonitors()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_load_balancer_health_monitors")
+                                 rules="create_load_balancer_health_monitors")
     @idempotent_id('bddb93ad-d331-4bbc-bac6-2763cae4eb2c')
     def test_create_lb_health_monitors(self):
         """
@@ -253,7 +253,7 @@
             self._create_load_balancer_health_monitor()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_load_balancer_health_monitor")
+                                 rules="show_load_balancer_health_monitor")
     @idempotent_id('30d23994-1e3a-4a76-8f18-e00d0854412a')
     def test_show_lb_health_monitor(self):
         """
@@ -265,7 +265,7 @@
                 lb_hm_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_load_balancer_health_monitor")
+                                 rules="update_load_balancer_health_monitor")
     @idempotent_id('c32ba92c-3a69-4255-867a-1423c93faa6f')
     def test_update_lb_health_monitor(self):
         """
@@ -276,7 +276,7 @@
             self._update_load_balancer_health_monitor(lb_hm_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_load_balancer_health_monitor")
+                                 rules="delete_load_balancer_health_monitor")
     @idempotent_id('b4d7ea9d-fd8c-433b-96fc-c24866b3f6a7')
     def test_delete_lb_health_monitor(self):
         """
@@ -295,7 +295,7 @@
     """
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_load_balancer_listeners")
+                                 rules="list_load_balancer_listeners")
     @idempotent_id('7e02882f-0eab-41c2-b48a-bf71e083b912')
     def test_list_lb_listeners(self):
         """
@@ -305,7 +305,7 @@
             self.load_balancer_client.list_load_balancer_listeners()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_load_balancer_listeners")
+                                 rules="create_load_balancer_listeners")
     @idempotent_id('0551de87-fa4c-463f-8968-ec6f2a6098d0')
     def test_create_lb_listeners(self):
         """
@@ -315,7 +315,7 @@
             self._create_load_balancer_listener()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_load_balancer_listener")
+                                 rules="show_load_balancer_listener")
     @idempotent_id('ade38959-9506-4262-8d3c-5ba5eb63d85f')
     def test_show_lb_listener(self):
         """
@@ -327,7 +327,7 @@
                 lb_listener_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_load_balancer_listener")
+                                 rules="update_load_balancer_listener")
     @idempotent_id('e529e538-da31-4159-91c2-6c0a828282a4')
     def test_update_lb_listener(self):
         """
@@ -338,7 +338,7 @@
             self._update_load_balancer_listener(lb_listener_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_load_balancer_listener")
+                                 rules="delete_load_balancer_listener")
     @idempotent_id('feaf3e9a-ffd1-4327-ad7a-35f9e9e4989b')
     def test_delete_lb_listener(self):
         """
@@ -357,7 +357,7 @@
     """
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_load_balancer_pools")
+                                 rules="list_load_balancer_pools")
     @idempotent_id('3d177a9e-7067-4e9e-b4e8-0acc5887dff0')
     def test_list_load_balancer_pools(self):
         """
@@ -367,7 +367,7 @@
             self.load_balancer_client.list_load_balancer_pools()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_load_balancer_pools")
+                                 rules="create_load_balancer_pools")
     @idempotent_id('a52c6ec7-a996-4191-9a70-7879a211a711')
     def test_create_load_balancer_pools(self):
         """
@@ -377,7 +377,7 @@
             self._create_load_balancer_pool()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_load_balancer_pool")
+                                 rules="show_load_balancer_pool")
     @idempotent_id('7923da4e-53b1-4024-9a40-5bc91cee8e2d')
     def test_show_load_balancer_pool(self):
         """
@@ -388,7 +388,7 @@
             self.load_balancer_client.show_load_balancer_pool(lb_pool_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_load_balancer_pool")
+                                 rules="update_load_balancer_pool")
     @idempotent_id('391c0c5e-c218-4c98-9b58-6d2724ec4c20')
     def test_update_load_balancer_pool(self):
         """
@@ -399,7 +399,7 @@
             self._update_load_balancer_pool(lb_pool_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_load_balancer_pool")
+                                 rules="delete_load_balancer_pool")
     @idempotent_id('8b3617c0-4064-48f8-96b8-e2f996fce5c3')
     def test_delete_load_balancer_pool(self):
         """
@@ -417,7 +417,7 @@
     """
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_load_balancer_members")
+                                 rules="list_load_balancer_members")
     @idempotent_id('b3c51463-8166-486a-a26e-0f7aeaa41e0f')
     def test_list_load_balancer_members(self):
         """
@@ -427,7 +427,7 @@
             self.load_balancer_client.list_load_balancer_members()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_load_balancer_members")
+                                 rules="create_load_balancer_members")
     @idempotent_id('ad60688f-7a20-4dd5-8229-4076d85b9d55')
     def test_create_lb_members(self):
         """
@@ -437,7 +437,7 @@
             self._create_load_balancer_member()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_load_balancer_member")
+                                 rules="show_load_balancer_member")
     @idempotent_id('917602ff-24d5-4a07-a6a6-5e5b9539bbf1')
     def test_show_load_balancer_member(self):
         """
@@ -448,7 +448,7 @@
             self.load_balancer_client.show_load_balancer_member(lb_member_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_load_balancer_member")
+                                 rules="update_load_balancer_member")
     @idempotent_id('b1611005-5c77-4ac0-8fcc-4a035dfbaa84')
     def test_update_lb_member(self):
         """
@@ -459,7 +459,7 @@
             self._update_load_balancer_member(lb_member_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_load_balancer_member")
+                                 rules="delete_load_balancer_member")
     @idempotent_id('dc21883a-a822-4d39-b815-4dfd6b505b0b')
     def test_delete_lb_member(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_namespace.py b/tungsten_tempest_plugin/tests/api/contrail/test_namespace.py
index fcab56e..9a547dc 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_namespace.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_namespace.py
@@ -58,7 +58,7 @@
         self.namespace_client.update_namespace(namespace_uuid, **put_body)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_namespaces")
+                                 rules="list_namespaces")
     @idempotent_id('e436390d-d669-4047-9838-421ea93e94be')
     def test_list_namespaces(self):
         """
@@ -67,8 +67,9 @@
         with self.rbac_utils.override_role(self):
             self.namespace_client.list_namespaces()
 
+
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_namespaces")
+                                 rules="create_namespaces")
     @idempotent_id('503ae445-7e67-4db6-989a-af0b7f9a7e95')
     def test_create_namespaces(self):
         """
@@ -78,7 +79,7 @@
             self._create_namespace()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_namespace")
+                                 rules="show_namespace")
     @idempotent_id('f916971a-7c07-4386-b887-8b78d8a1e528')
     def test_show_namespace(self):
         """
@@ -89,7 +90,7 @@
             self.namespace_client.show_namespace(namespace_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_namespace")
+                                 rules="update_namespace")
     @idempotent_id('3649f65a-922a-4b8a-9b8b-520c333e192e')
     def test_update_namespace(self):
         """
@@ -100,7 +101,7 @@
             self._update_namespace(namespace_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_namespace")
+                                 rules="delete_namespace")
     @idempotent_id('80e736bf-fc7d-4274-8173-a50c883776a9')
     def test_delete_namespace(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_network_ipams.py b/tungsten_tempest_plugin/tests/api/contrail/test_network_ipams.py
index 9abddc6..7377863 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_network_ipams.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_network_ipams.py
@@ -46,7 +46,7 @@
         return new_ipam
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_network_ipams")
+                                 rules="list_network_ipams")
     @idempotent_id('9ee2c4d8-3209-4ef8-86e1-0ecea2d4c5f2')
     def test_list_network_ipams(self):
         """
@@ -56,7 +56,7 @@
             self.network_ipams_client.list_network_ipams()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_network_ipams")
+                                 rules="create_network_ipams")
     @idempotent_id('ef2415ea-0810-413a-85a0-4508c9d7af91')
     def test_create_network_ipams(self):
         """
@@ -66,7 +66,7 @@
             self._create_network_ipams()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_network_ipam")
+                                 rules="show_network_ipam")
     @idempotent_id('527b19e5-068a-44e3-b175-b504eafeec6e')
     def test_show_network_ipam(self):
         """
@@ -77,7 +77,7 @@
             self.network_ipams_client.show_network_ipam(new_ipam['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_network_ipam")
+                                 rules="delete_network_ipam")
     @idempotent_id('118c1620-efb6-4cc6-8eb5-71bf8631d365')
     def test_delete_network_ipam(self):
         """
@@ -88,7 +88,7 @@
             self.network_ipams_client.delete_network_ipam(new_ipam['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_network_ipam")
+                                 rules="update_network_ipam")
     @idempotent_id('44cbe2d9-583d-4215-964a-1c321f5e8d92')
     def test_update_network_ipam(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_network_policy.py b/tungsten_tempest_plugin/tests/api/contrail/test_network_policy.py
index 10abc2a..150fb2e 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_network_policy.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_network_policy.py
@@ -59,7 +59,7 @@
                                                          **put_body)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_network_policys")
+                                 rules="list_network_policys")
     @idempotent_id('fa2a28f3-a8bb-4908-95b9-1e11cf58b16f')
     def test_list_policys(self):
         """
@@ -69,7 +69,7 @@
             self.network_policy_client.list_network_policys()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_network_policys")
+                                 rules="create_network_policys")
     @idempotent_id('a30be228-afba-40c9-8678-ae020db68d79')
     def test_create_network_policys(self):
         """
@@ -79,7 +79,7 @@
             self._create_policy()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_network_policy")
+                                 rules="show_network_policy")
     @idempotent_id('6cefe92e-8936-49a6-bce0-12da3396e7ab')
     def test_show_network_policy(self):
         """
@@ -90,7 +90,7 @@
             self.network_policy_client.show_network_policy(policy_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_network_policy")
+                                 rules="update_network_policy")
     @idempotent_id('1d470505-3ad4-4870-87d7-3f0b0f9fc635')
     def test_update_network_policy(self):
         """
@@ -101,7 +101,7 @@
             self._update_policy(policy_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_network_policy")
+                                 rules="delete_network_policy")
     @idempotent_id('aae9018f-e7a2-4a75-a68e-afd6c380640e')
     def test_delete_network_policy(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_port_tuple.py b/tungsten_tempest_plugin/tests/api/contrail/test_port_tuple.py
index 34ee131..f0b5f14 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_port_tuple.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_port_tuple.py
@@ -75,7 +75,7 @@
         return new_tuple
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_port_tuples")
+                                 rules="list_port_tuples")
     @idempotent_id('3789eef8-0e80-4057-b7b0-926655144beb')
     def test_list_port_tuples(self):
         """
@@ -85,7 +85,7 @@
             self.port_tuple_client.list_port_tuples()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_port_tuple")
+                                 rules="show_port_tuple")
     @idempotent_id('ae5a90ed-5771-4680-be6b-c7626caa3a52')
     def test_show_port_tuple(self):
         """
@@ -96,7 +96,7 @@
             self.port_tuple_client.show_port_tuple(new_tuple['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_port_tuples")
+                                 rules="create_port_tuples")
     @idempotent_id('0e2283da-fe25-4204-b5b3-fef3c200d0c8')
     def test_create_port_tuples(self):
         """
@@ -106,7 +106,7 @@
             self._create_port_tuple()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_port_tuple")
+                                 rules="update_port_tuple")
     @idempotent_id('b16f19e2-ec8e-4107-961d-561890183dd0')
     def test_update_port_tuple(self):
         """
@@ -119,7 +119,7 @@
                 new_tuple['uuid'], display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_port_tuple")
+                                 rules="delete_port_tuple")
     @idempotent_id('3f28e8b8-f9de-437f-a398-0a11c7fcd652')
     def test_delete_port_tuple(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_project.py b/tungsten_tempest_plugin/tests/api/contrail/test_project.py
index 30312c5..83293be 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_project.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_project.py
@@ -58,7 +58,7 @@
         self.project_client.update_project(project_uuid, **put_body)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_projects")
+                                 rules="list_projects")
     @idempotent_id('7db819fd-ceee-4a6b-9ad7-2e837c055bdd')
     def test_list_projects(self):
         """
@@ -68,7 +68,7 @@
             self.project_client.list_projects()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_projects")
+                                 rules="create_projects")
     @idempotent_id('38b9b7a8-1568-417d-b0a3-e7adee88e4b9')
     def test_create_projects(self):
         """
@@ -78,7 +78,7 @@
             self._create_project()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_project")
+                                 rules="show_project")
     @idempotent_id('c47e57c4-34b0-46c2-a678-83b1fe9afd25')
     def test_show_project(self):
         """
@@ -89,7 +89,7 @@
             self.project_client.show_project(project_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_project")
+                                 rules="update_project")
     @idempotent_id('3d4bd416-16cc-437c-9e95-f9ceda424f8b')
     def test_update_project(self):
         """
@@ -100,7 +100,7 @@
             self._update_project(project_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_project")
+                                 rules="delete_project")
     @idempotent_id('787ebe8b-b88d-4488-b157-f70554bdd783')
     def test_delete_project(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_qos_config.py b/tungsten_tempest_plugin/tests/api/contrail/test_qos_config.py
index ab6d783..29215e4 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_qos_config.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_qos_config.py
@@ -53,7 +53,7 @@
         return qos_config
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_qos_configs")
+                                 rules="list_qos_configs")
     @idempotent_id('6bc44b34-14d4-4e0e-b45d-fe3df047879f')
     def test_list_qos_configs(self):
         """
@@ -64,7 +64,7 @@
             self.qos_client.list_qos_configs()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_qos_configs")
+                                 rules="create_qos_configs")
     @idempotent_id('031b4a27-22cd-4d93-938d-ba6d0f3163ba')
     def test_create_qos_configs(self):
         """
@@ -74,7 +74,7 @@
             self._create_qos_configs()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_qos_config")
+                                 rules="show_qos_config")
     @idempotent_id('a9d82b49-3492-4667-b252-ef30b0ee6eb3')
     def test_show_qos_config(self):
         """
@@ -85,7 +85,7 @@
             self.qos_client.show_qos_config(qos_config['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_qos_config")
+                                 rules="delete_qos_config")
     @idempotent_id('d324a5e6-cc86-4444-91a2-74592283a7ec')
     def test_delete_qos_config(self):
         """
@@ -96,7 +96,7 @@
             self.qos_client.delete_qos_config(qos_config['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_qos_config")
+                                 rules="update_qos_config")
     @idempotent_id('7f1901a5-0cf0-40bd-98a5-f8a930b11cfe')
     def test_update_qos_config(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_qos_global_config.py b/tungsten_tempest_plugin/tests/api/contrail/test_qos_global_config.py
index a6e8f82..d0c6a06 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_qos_global_config.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_qos_global_config.py
@@ -73,7 +73,7 @@
         return qos_global_config
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_global_qos_configs")
+                                 rules="list_global_qos_configs")
     @idempotent_id('74e5a7b7-f538-4be3-90a5-6862b07fb118')
     def test_list_global_qos_configs(self):
         """
@@ -86,7 +86,7 @@
             self.qos_client.list_global_qos_configs()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_global_qos_configs")
+                                 rules="create_global_qos_configs")
     @idempotent_id('d7da1ca0-7bf7-4d1b-982c-820cd37fe9fa')
     def test_create_global_qos_configs(self):
         """
@@ -98,7 +98,7 @@
             self._create_qos_global_configs(global_system_config)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_global_qos_config")
+                                 rules="show_global_qos_config")
     @idempotent_id('e3bd44e0-19a9-46e7-83d3-268dcc537ad9')
     def test_show_global_qos_config(self):
         """
@@ -111,7 +111,7 @@
             self.qos_client.show_global_qos_config(instance_id=test['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_global_qos_config")
+                                 rules="update_global_qos_config")
     @idempotent_id('f834c4d7-bc81-4c59-bada-c4d752219a6e')
     def test_update_global_qos_config(self):
         """
@@ -127,7 +127,7 @@
                 display_name=display_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_global_qos_config")
+                                 rules="delete_global_qos_config")
     @idempotent_id('78b9a3da-4eb1-4f4b-8a23-a8a2e733b515')
     def test_delete_global_qos_config(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_qos_queue.py b/tungsten_tempest_plugin/tests/api/contrail/test_qos_queue.py
index 753a9ba..f6c9ec2 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_qos_queue.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_qos_queue.py
@@ -51,7 +51,7 @@
         return qos_queue
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_qos_queues")
+                                 rules="list_qos_queues")
     @idempotent_id('3d3a4397-2afe-4bbd-be59-56a1bcc2e49d')
     def test_list_qos_queues(self):
         """
@@ -62,7 +62,7 @@
             self.qos_client.list_qos_queues()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_qos_queues")
+                                 rules="create_qos_queues")
     @idempotent_id('d89c45f4-c83c-47b3-8720-7feffab4519c')
     def test_create_qos_queues(self):
         """
@@ -72,7 +72,7 @@
             self._create_qos_queues()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_qos_queue")
+                                 rules="show_qos_queue")
     @idempotent_id('d2773d5c-9858-4938-8a77-62cafd5034da')
     def test_show_qos_queue(self):
         """
@@ -83,7 +83,7 @@
             self.qos_client.show_qos_queue(qos_queue['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_qos_queue")
+                                 rules="delete_qos_queue")
     @idempotent_id('64c828d0-6594-472b-a504-40915067c7bd')
     def test_delete_qos_queue(self):
         """
@@ -94,7 +94,7 @@
             self.qos_client.delete_qos_queue(qos_queue['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_qos_queue")
+                                 rules="update_qos_queue")
     @idempotent_id('0733ab1a-f5aa-4e70-a011-174aa203dc33')
     def test_update_qos_queue(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_route.py b/tungsten_tempest_plugin/tests/api/contrail/test_route.py
index db1b53f..d9bdb14 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_route.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_route.py
@@ -55,7 +55,7 @@
         return route_table
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_route_tables")
+                                 rules="list_route_tables")
     @idempotent_id('ca5a5d42-6e49-40e4-a5ac-de07b397b775')
     def test_list_route_tables(self):
         """
@@ -66,7 +66,7 @@
             self.route_client.list_route_tables()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_route_table")
+                                 rules="show_route_table")
     @idempotent_id('084a2759-991a-4ae2-bde4-8f9915966f6e')
     def test_show_route_table(self):
         """
@@ -77,7 +77,7 @@
             self.route_client.show_route_table(route_table['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_route_tables")
+                                 rules="create_route_tables")
     @idempotent_id('3fab8105-c0be-4c9e-be5f-d2dce4deb921')
     def test_create_route_tables(self):
         """
@@ -87,7 +87,7 @@
             self._create_route_tables()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_route_table")
+                                 rules="update_route_table")
     @idempotent_id('2acee7ad-843e-40b0-b8f8-a6d90a51c6c8')
     def test_update_route_table(self):
         """
@@ -101,7 +101,7 @@
                 display_name=display_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_route_table")
+                                 rules="delete_route_table")
     @idempotent_id('20a5086c-ec9a-43e0-ae2c-4161c0f4b280')
     def test_delete_route_table(self):
         """
@@ -136,7 +136,7 @@
         return interface_route_table
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_interface_route_tables")
+                                 rules="list_interface_route_tables")
     @idempotent_id('b1f8f0a6-6074-4615-a439-19869a48bc49')
     def test_list_interface_route(self):
         """
@@ -147,7 +147,7 @@
             self.route_client.list_interface_route_tables()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_interface_route_table")
+                                 rules="show_interface_route_table")
     @idempotent_id('94703a28-5e33-4003-b95b-6a3cc5752fd4')
     def test_show_interface_route(self):
         """
@@ -159,7 +159,7 @@
                 interface_rte_table['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_interface_route_tables")
+                                 rules="create_interface_route_tables")
     @idempotent_id('b89ef437-4759-4c04-948b-d2ff9675ab07')
     def test_create_interface_route(self):
         """
@@ -169,7 +169,7 @@
             self._create_interface_route_tables()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_interface_route_table")
+                                 rules="update_interface_route_table")
     @idempotent_id('e9346d4f-7a07-41bc-8e88-e8ae9fa309ea')
     def test_update_interface_route(self):
         """
@@ -183,7 +183,7 @@
                 display_name=display_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_interface_route_table")
+                                 rules="delete_interface_route_table")
     @idempotent_id('b00444a5-cb4c-45bc-b393-503e9e333e98')
     def test_delete_interface_route(self):
         """
@@ -219,7 +219,7 @@
         return route_target
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_route_targets")
+                                 rules="list_route_targets")
     @idempotent_id('757efd07-8027-4a16-887a-1e42f16b4140')
     def test_list_route_targets(self):
         """
@@ -230,7 +230,7 @@
             self.route_client.list_route_targets()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_route_target")
+                                 rules="show_route_target")
     @idempotent_id('76c60d98-dd5e-453a-bf0e-7854f78a1a5e')
     def test_show_route_target(self):
         """
@@ -241,7 +241,7 @@
             self.route_client.show_route_target(target['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_route_targets")
+                                 rules="create_route_targets")
     @idempotent_id('fcdb4ebc-b92d-49f2-88e9-68c93aec94be')
     def test_create_route_targets(self):
         """
@@ -251,7 +251,7 @@
             self._create_route_targets()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_route_target")
+                                 rules="update_route_target")
     @idempotent_id('dd830a77-4bfe-4a8c-b4e9-08b6ef2af3be')
     def test_update_route_target(self):
         """
@@ -265,7 +265,7 @@
                 display_name=display_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_route_target")
+                                 rules="delete_route_target")
     @idempotent_id('dfaa58f9-ec29-4d51-a475-870fac08908d')
     def test_delete_route_target(self):
         """
@@ -299,7 +299,7 @@
         return route_aggr
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_route_aggregates")
+                                 rules="list_route_aggregates")
     @idempotent_id('15f2c30c-4404-4228-94a0-86c5ec5cf62e')
     def test_list_route_aggregates(self):
         """
@@ -310,7 +310,7 @@
             self.route_client.list_route_aggregates()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_route_aggregate")
+                                 rules="show_route_aggregate")
     @idempotent_id('c8edee30-81c4-44e2-8485-055bed853384')
     def test_show_route_aggregate(self):
         """
@@ -322,7 +322,7 @@
                 route_aggr['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_route_aggregates")
+                                 rules="create_route_aggregates")
     @idempotent_id('7553a54f-e41c-4555-b745-a858c5a70690')
     def test_create_route_aggregates(self):
         """
@@ -332,7 +332,7 @@
             self._create_route_aggregates()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_route_aggregate")
+                                 rules="update_route_aggregate")
     @idempotent_id('de1e6102-0bc6-4f9b-a354-48eb051ab5e4')
     def test_update_route_aggregate(self):
         """
@@ -346,7 +346,7 @@
                 display_name=display_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_route_aggregate")
+                                 rules="delete_route_aggregate")
     @idempotent_id('e16dbdc6-d7cf-43c7-af9d-bd76cc220200')
     def test_delete_route_aggregate(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_routers.py b/tungsten_tempest_plugin/tests/api/contrail/test_routers.py
index fb1daf3..20724fb 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_routers.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_routers.py
@@ -142,7 +142,7 @@
         return router
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_physical_routers")
+                                 rules="list_physical_routers")
     @idempotent_id('349ac042-b922-4727-9e1b-8f363ee343f3')
     def test_list_physical_routers(self):
         """
@@ -152,7 +152,7 @@
             self.router_client.list_physical_routers()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_physical_routers")
+                                 rules="create_physical_routers")
     @idempotent_id('d0b7449e-9037-4f9f-8c7e-9f364c95f18a')
     def test_create_physical_routers(self):
         """
@@ -164,7 +164,7 @@
             self._create_physical_router(global_system_config)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_physical_router")
+                                 rules="show_physical_router")
     @idempotent_id('6dfc53f4-a884-46d5-b303-22ba59c116f4')
     def test_show_physical_router(self):
         """
@@ -178,7 +178,7 @@
             self.router_client.show_physical_router(physical_router_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_physical_router")
+                                 rules="update_physical_router")
     @idempotent_id('c270f369-8cd7-4ee3-8ab1-4580c3138a5c')
     def test_update_physical_router(self):
         """
@@ -195,7 +195,7 @@
                 display_name=updated_fq_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_physical_router")
+                                 rules="delete_physical_router")
     @idempotent_id('eeded742-6a8d-4e88-bfa8-fe32db463c53')
     def test_delete_physical_router(self):
         """
@@ -209,7 +209,7 @@
             self.router_client.delete_physical_router(physical_router_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_bgp_routers")
+                                 rules="list_bgp_routers")
     @idempotent_id('49bfb461-f99e-4585-b051-e20a3c937589')
     def test_list_bgp_routers(self):
         """
@@ -219,7 +219,7 @@
             self.router_client.list_bgp_routers()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_bgp_routers")
+                                 rules="create_bgp_routers")
     @idempotent_id('7567974c-040e-4edd-b3a1-c633aa9651cb')
     def test_create_bgp_routers(self):
         """
@@ -231,7 +231,7 @@
             self._create_bgp_router(routing_instance)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_bgp_router")
+                                 rules="show_bgp_router")
     @idempotent_id('0d3ad424-18c9-4d96-8708-fa1ebd45594b')
     def test_show_bgp_router(self):
         """
@@ -244,7 +244,7 @@
             self.router_client.show_bgp_router(bgp_router_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_bgp_router")
+                                 rules="update_bgp_router")
     @idempotent_id('dc50e7c5-7614-4281-8a66-282c52f3c769')
     def test_update_bgp_router(self):
         """
@@ -260,7 +260,7 @@
                 display_name=updated_fq_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_bgp_router")
+                                 rules="delete_bgp_router")
     @idempotent_id('f14aee72-cad4-4c3e-8eea-7886a81abb24')
     def test_delete_bgp_router(self):
         """
@@ -273,7 +273,7 @@
             self.router_client.delete_bgp_router(bgp_router_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_global_vrouter_configs")
+                                 rules="list_global_vrouter_configs")
     @idempotent_id('4af768d1-3cbe-4aff-bcbc-0e045cac3277')
     def test_list_global_vrouter(self):
         """
@@ -283,7 +283,7 @@
             self.router_client.list_global_vrouter_configs()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_global_vrouter_configs")
+                                 rules="create_global_vrouter_configs")
     @idempotent_id('e13d800f-9304-4a06-9bf1-ad08345a13a8')
     def test_create_global_vrouter(self):
         """
@@ -295,7 +295,7 @@
             self._create_global_vrouter_config(global_system_config)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_global_vrouter_config")
+                                 rules="show_global_vrouter_config")
     @idempotent_id('3bb6f4e1-fd3f-4338-8392-f7f80974a80e')
     def test_show_global_vrouter_config(self):
         """
@@ -310,7 +310,7 @@
                 global_vrouter_config_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_global_vrouter_config")
+                                 rules="update_global_vrouter_config")
     @idempotent_id('36fcdd51-c42b-4e67-8c26-73d4cde47507')
     def test_update_global_vrouter(self):
         """
@@ -328,7 +328,7 @@
                 display_name=updated_fq_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_global_vrouter_config")
+                                 rules="delete_global_vrouter_config")
     @idempotent_id('4f3d59e8-3dac-4346-9d13-5ebe5ad8f6cf')
     def test_delete_global_vrouter(self):
         """
@@ -343,7 +343,7 @@
                 global_vrouter_config_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_logical_routers")
+                                 rules="list_logical_routers")
     @idempotent_id('674bf3de-a9e5-45c2-921b-b89db73a2abe')
     def test_list_logical_routers(self):
         """
@@ -353,7 +353,7 @@
             self.router_client.list_logical_routers()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_logical_routers")
+                                 rules="create_logical_routers")
     @idempotent_id('610f051b-8eba-4d3a-ba43-91386bfc0e52')
     def test_create_logical_routers(self):
         """
@@ -363,7 +363,7 @@
             self._create_logical_router()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_logical_router")
+                                 rules="show_logical_router")
     @idempotent_id('992841d4-0d5d-4d85-b513-049b33e2a2e2')
     def test_show_logical_router(self):
         """
@@ -374,7 +374,7 @@
             self.router_client.show_logical_router(logical_router_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_logical_router")
+                                 rules="update_logical_router")
     @idempotent_id('518197bf-5233-4059-9021-5d7ecc74718e')
     def test_update_logical_router(self):
         """
@@ -388,7 +388,7 @@
                 display_name=updated_fq_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_logical_router")
+                                 rules="delete_logical_router")
     @idempotent_id('70448b9c-4444-45e0-b307-7bff4dc075b1')
     def test_delete_logical_router(self):
         """
@@ -399,7 +399,7 @@
             self.router_client.delete_logical_router(logical_router_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_virtual_routers")
+                                 rules="list_virtual_routers")
     @idempotent_id('604dc476-732e-4890-8665-a497360f5475')
     def test_list_virtual_routers(self):
         """
@@ -409,7 +409,7 @@
             self.router_client.list_virtual_routers()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_virtual_routers")
+                                 rules="create_virtual_routers")
     @idempotent_id('114beb14-45c0-4714-a407-d160bb102022')
     def test_create_virtual_routers(self):
         """
@@ -421,7 +421,7 @@
             self._create_virtual_router(global_system_config)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_virtual_router")
+                                 rules="show_virtual_router")
     @idempotent_id('258fe4e0-3e39-460f-aafa-e3b53c96e534')
     def test_show_virtual_router(self):
         """
@@ -435,7 +435,7 @@
             self.router_client.show_virtual_router(virtual_router_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_virtual_router")
+                                 rules="update_virtual_router")
     @idempotent_id('d1c72191-2068-4552-a78f-038cdd4c9c1d')
     def test_update_virtual_router(self):
         """
@@ -452,7 +452,7 @@
                 display_name=updated_fq_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_virtual_router")
+                                 rules="delete_virtual_router")
     @idempotent_id('efbe25d6-8763-42d4-baf6-9f342e710144')
     def test_delete_virtual_router(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_routing.py b/tungsten_tempest_plugin/tests/api/contrail/test_routing.py
index 37d61e0..8118b2b 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_routing.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_routing.py
@@ -62,7 +62,7 @@
         return new_instance
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_routing_instances")
+                                 rules="list_routing_instances")
     @idempotent_id('054c56ba-76b2-4161-a702-40301d8de085')
     def test_list_routing_instances(self):
         """
@@ -72,7 +72,7 @@
             self.routing_client.list_routing_instances()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_routing_instances")
+                                 rules="create_routing_instances")
     @idempotent_id('3d44a46b-5436-43a8-b2f7-8581f0f04dbc')
     def test_create_routing_instances(self):
         """
@@ -82,7 +82,7 @@
             self._create_routing_instances()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_routing_instance")
+                                 rules="show_routing_instance")
     @idempotent_id('161abb37-6037-422b-b453-108a5d10caca')
     def test_show_routing_instance(self):
         """
@@ -93,7 +93,7 @@
             self.routing_client.show_routing_instance(new_instance['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_routing_instance")
+                                 rules="delete_routing_instance")
     @idempotent_id('1d3af01e-01bf-4347-a9bc-633732339e0e')
     def test_delete_routing_instance(self):
         """
@@ -104,7 +104,7 @@
             self.routing_client.delete_routing_instance(new_instance['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_routing_instance")
+                                 rules="update_routing_instance")
     @idempotent_id('ebcfd442-2a26-4954-968b-e17e414ed0d1')
     def test_update_routing_instance(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_routing_policy.py b/tungsten_tempest_plugin/tests/api/contrail/test_routing_policy.py
index d1dd443..44bdea5 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_routing_policy.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_routing_policy.py
@@ -59,7 +59,7 @@
                                                          **put_body)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_routing_policys")
+                                 rules="list_routing_policys")
     @idempotent_id('fe25a306-bc4f-42b3-91ca-38df01e35345')
     def test_list_routing_policys(self):
         """
@@ -69,7 +69,7 @@
             self.routing_policy_client.list_routing_policys()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_routing_policys")
+                                 rules="create_routing_policys")
     @idempotent_id('f8ca5e30-8bb3-410f-8618-8fdca70bda06')
     def test_create_routing_policys(self):
         """
@@ -79,7 +79,7 @@
             self._create_routing_policy()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_routing_policy")
+                                 rules="show_routing_policy")
     @idempotent_id('3421e84e-3e2a-452a-9a26-b2caf00b1cbc')
     def test_show_routing_policy(self):
         """
@@ -90,7 +90,7 @@
             self.routing_policy_client.show_routing_policy(policy_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_routing_policy")
+                                 rules="update_routing_policy")
     @idempotent_id('9fc1f44f-c8e2-4f5a-8239-e9b783f55d94')
     def test_update_routing_policy(self):
         """
@@ -101,7 +101,7 @@
             self._update_routing_policy(policy_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_routing_policy")
+                                 rules="delete_routing_policy")
     @idempotent_id('24f1cd7a-2917-4b81-a0a3-a40ed2d40c7d')
     def test_delete_routing_policy(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_security_group.py b/tungsten_tempest_plugin/tests/api/contrail/test_security_group.py
index f0973d2..452a7f6 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_security_group.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_security_group.py
@@ -55,7 +55,7 @@
         return sec_grp
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_security_groups")
+                                 rules="list_security_groups")
     @idempotent_id('a13cc1d5-f562-4b68-b732-980deb3cddf4')
     def test_list_security_groups(self):
         """
@@ -66,7 +66,7 @@
             self.security_group_client.list_security_groups()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_security_group")
+                                 rules="show_security_group")
     @idempotent_id('c7ca1781-08ae-4fa2-bd6d-1f369950c4c4')
     def test_show_security_group(self):
         """
@@ -78,7 +78,7 @@
             self.security_group_client.show_security_group(grp_id)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_security_group")
+                                 rules="delete_security_group")
     @idempotent_id('e682d7b4-deb8-4b5c-9c9b-1e1ada827b40')
     def test_delete_security_group(self):
         """
@@ -90,7 +90,7 @@
             self._delete_security_group(grp_id)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_security_groups")
+                                 rules="create_security_groups")
     @idempotent_id('63a2ff14-7869-40a2-962a-d65752de5651')
     def test_create_security_groups(self):
         """
@@ -100,7 +100,7 @@
             self._create_security_groups()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_security_group")
+                                 rules="update_security_group")
     @idempotent_id('cf9aafe2-fffb-4028-8fd7-4d6634e144e7')
     def test_update_security_group(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_service_appliances.py b/tungsten_tempest_plugin/tests/api/contrail/test_service_appliances.py
index 46dc15c..4ec7a70 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_service_appliances.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_service_appliances.py
@@ -76,7 +76,7 @@
         return new_appliance
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_service_appliances")
+                                 rules="list_service_appliances")
     @idempotent_id('6b5fc17c-34e6-4d21-a53e-a0dfe69afd31')
     def test_list_service_appliances(self):
         """
@@ -86,7 +86,7 @@
             self.service_appliances_client.list_service_appliances()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_service_appliances")
+                                 rules="create_service_appliances")
     @idempotent_id('0563c0c8-b986-466e-8540-aa8ad7a10367')
     def test_create_service_appliances(self):
         """
@@ -100,7 +100,7 @@
             self._create_service_appliances(new_set)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_service_appliance")
+                                 rules="show_service_appliance")
     @idempotent_id('ea30dcfe-8657-4a7d-9cf1-3176d334bf27')
     def test_show_service_appliance(self):
         """
@@ -117,7 +117,7 @@
                 new_appliance['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_service_appliance")
+                                 rules="update_service_appliance")
     @idempotent_id('a54ca33a-8590-4844-96d7-b96882b59e86')
     def test_update_service_appliance(self):
         """
@@ -135,7 +135,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_service_appliance")
+                                 rules="delete_service_appliance")
     @idempotent_id('362deff5-7b72-4929-ba81-972cfcfa1309')
     def test_delete_service_appliance(self):
         """
@@ -151,7 +151,7 @@
                 new_appliance['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_service_appliance_sets")
+                                 rules="list_service_appliance_sets")
     @idempotent_id('c1e74da9-00b6-4c88-adda-2ce49094e570')
     def test_list_service_appl_sets(self):
         """
@@ -161,7 +161,7 @@
             self.service_appliances_client.list_service_appliance_sets()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_service_appliance_sets")
+                                 rules="create_service_appliance_sets")
     @idempotent_id('eb00d6cf-590f-41bf-8ee4-5be625d9cb93')
     def test_create_service_appl_sets(self):
         """
@@ -173,7 +173,7 @@
             self._create_service_appliance_sets(global_system_config)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_service_appliance_set")
+                                 rules="show_service_appliance_set")
     @idempotent_id('dd35dd04-e7d9-46bb-8f36-26835f122572')
     def test_show_service_appl_set(self):
         """
@@ -188,7 +188,7 @@
                 new_set['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_service_appliance_set")
+                                 rules="update_service_appliance_set")
     @idempotent_id('952f063b-bc71-4f62-83b1-719bce5ad4ed')
     def test_update_service_appl_set(self):
         """
@@ -205,7 +205,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_service_appliance_set")
+                                 rules="delete_service_appliance_set")
     @idempotent_id('7b56ce24-da1d-4565-bd22-c58dc57d7045')
     def test_delete_service_appl_set(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_service_clients.py b/tungsten_tempest_plugin/tests/api/contrail/test_service_clients.py
index 8d65159..e39fce1 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_service_clients.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_service_clients.py
@@ -87,7 +87,7 @@
         return new_instance
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_service_templates")
+                                 rules="list_service_templates")
     @idempotent_id('841b1d32-4308-4fb6-852a-41bdd8c56c37')
     def test_list_service_templates(self):
         """
@@ -97,7 +97,7 @@
             self.service_client.list_service_templates()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_service_templates")
+                                 rules="create_service_templates")
     @idempotent_id('3f02d14a-31e2-4476-821f-87d0cc42d9fb')
     def test_create_service_templates(self):
         """
@@ -107,7 +107,7 @@
             self._create_service_template()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_service_template")
+                                 rules="show_service_template")
     @idempotent_id('1f15d734-2cc6-4ded-916e-134286c6b87b')
     def test_show_service_template(self):
         """
@@ -119,7 +119,7 @@
                 new_template['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_service_template")
+                                 rules="update_service_template")
     @idempotent_id('3549debd-4c7a-4574-8d11-4190c8530a23')
     def test_update_service_template(self):
         """
@@ -133,7 +133,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_service_template")
+                                 rules="delete_service_template")
     @idempotent_id('e86cabd2-5b7e-4ee8-86ec-db52619b852b')
     def test_delete_service_template(self):
         """
@@ -145,7 +145,7 @@
                 new_template['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_service_health_checks")
+                                 rules="list_service_health_checks")
     @idempotent_id('5210d6ca-9a38-4b6b-b5b7-f836c3846079')
     def test_list_service_health_checks(self):
         """
@@ -155,7 +155,7 @@
             self.service_client.list_service_health_checks()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_service_health_checks")
+                                 rules="create_service_health_checks")
     @idempotent_id('77716feb-0d05-4cfd-8a17-79cf0b19ed3c')
     def test_create_service_health(self):
         """
@@ -165,7 +165,7 @@
             self._create_service_health_check()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_service_health_check")
+                                 rules="show_service_health_check")
     @idempotent_id('80db4445-8d6c-4c8f-aa25-d4ea53d32d2c')
     def test_show_service_health(self):
         """
@@ -177,7 +177,7 @@
                 new_health_check['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_service_health_check")
+                                 rules="update_service_health_check")
     @idempotent_id('68fb1510-4b76-40cc-8979-e56e537229d2')
     def test_update_service_health(self):
         """
@@ -191,7 +191,7 @@
                 display_name=update_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_service_health_check")
+                                 rules="delete_service_health_check")
     @idempotent_id('2dce3942-402a-48a4-b682-fdc425d3d935')
     def test_delete_service_health(self):
         """
@@ -203,7 +203,7 @@
                 new_health_check['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_service_instances")
+                                 rules="create_service_instances")
     @idempotent_id('1469c71e-f6f5-419f-9672-c3c67f879704')
     def test_create_service_instances(self):
         """
@@ -213,7 +213,7 @@
             self._create_service_instance()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_service_instance")
+                                 rules="show_service_instance")
     @idempotent_id('ea5b716d-5de8-4c71-becd-f1501c22f0df')
     def test_show_service_instance(self):
         """
@@ -225,7 +225,7 @@
                 new_instance['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_service_instance")
+                                 rules="delete_service_instance")
     @idempotent_id('74934833-29cd-416b-a5a6-273f733d058a')
     def test_delete_service_instance(self):
         """
@@ -237,7 +237,7 @@
                 new_instance['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_service_instances")
+                                 rules="list_service_instances")
     @idempotent_id('da6016a3-a2a8-42a8-b064-c124c22fef6f')
     def test_list_service_instances(self):
         """
@@ -247,7 +247,7 @@
             self.service_client.list_service_instances()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_service_instance")
+                                 rules="update_service_instance")
     @idempotent_id('a6237b99-336b-42db-a8eb-9604a1b08fc6')
     def test_update_service_instance(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_subnet.py b/tungsten_tempest_plugin/tests/api/contrail/test_subnet.py
index 211aaf6..34c53f7 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_subnet.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_subnet.py
@@ -56,7 +56,7 @@
         self.subnet_client.update_subnet(subnet_uuid, **put_body)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_subnets")
+                                 rules="list_subnets")
     @idempotent_id('ddd1d9ae-cf2f-4a74-98ba-b0f481f27977')
     def test_list_subnets(self):
         """
@@ -66,7 +66,7 @@
             self.subnet_client.list_subnets()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_subnets")
+                                 rules="create_subnets")
     @idempotent_id('ee0cb904-d162-44a4-b7b0-a7451f667ed5')
     def test_create_subnets(self):
         """
@@ -76,7 +76,7 @@
             self._create_subnet()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_subnet")
+                                 rules="show_subnet")
     @idempotent_id('994618f2-5b40-460c-a6a8-6479bc15bf80')
     def test_show_subnet(self):
         """
@@ -87,7 +87,7 @@
             self.subnet_client.show_subnet(subnet_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_subnet")
+                                 rules="update_subnet")
     @idempotent_id('565e44c9-eb9b-4ae6-9ebb-db422a9751ee')
     def test_update_subnet(self):
         """
@@ -98,7 +98,7 @@
             self._update_subnet(subnet_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_subnet")
+                                 rules="delete_subnet")
     @idempotent_id('a733b913-7a88-45d9-ac0a-d858fa3dc662')
     def test_delete_subnet(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_virtual_dns.py b/tungsten_tempest_plugin/tests/api/contrail/test_virtual_dns.py
index 5974c8c..6b8f273 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_virtual_dns.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_virtual_dns.py
@@ -77,7 +77,7 @@
         return dns_record
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_virtual_DNSs")
+                                 rules="list_virtual_DNSs")
     @idempotent_id('8401d690-afdf-4b6e-ad60-b9363a8cfb1d')
     def test_list_virtual_dns(self):
         """
@@ -87,7 +87,7 @@
             self.virtual_dns_client.list_virtual_dns()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_virtual_DNSs")
+                                 rules="create_virtual_DNSs")
     @idempotent_id('a7dd2c9e-e1eb-4dc4-ac70-4d48a291a3bf')
     def test_create_virtual_dns(self):
         """
@@ -97,7 +97,7 @@
             self._create_virtual_dns()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_virtual_DNS")
+                                 rules="show_virtual_DNS")
     @idempotent_id('ffc0fc82-3bff-48ab-b65a-3d90b4a3154d')
     def test_show_virtual_dns(self):
         """
@@ -109,7 +109,7 @@
                 dns['virtual-DNS']['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_virtual_DNS")
+                                 rules="delete_virtual_DNS")
     @idempotent_id('4793caa1-7707-4123-b1b4-c3feae91312f')
     def test_delete_virtual_dns(self):
         """
@@ -121,7 +121,7 @@
                 dns['virtual-DNS']['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_virtual_DNS")
+                                 rules="update_virtual_DNS")
     @idempotent_id('2bc43935-57c1-4bf6-9868-78ccfce164bb')
     def test_update_virtual_dns(self):
         """
@@ -139,7 +139,7 @@
                 display_name=display_name)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_virtual_DNS_records")
+                                 rules="list_virtual_DNS_records")
     @idempotent_id('e9103999-2f02-4f04-a8a0-906ca4fb394d')
     def test_list_virtual_dns_records(self):
         """
@@ -149,7 +149,7 @@
             self.virtual_dns_client.list_virtual_dns_records()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_virtual_DNS_records")
+                                 rules="create_virtual_DNS_records")
     @idempotent_id('bd9f3992-0ce4-4477-97a0-1271bc8ad9ef')
     def test_create_virtual_dns_records(self):
         """
@@ -161,7 +161,7 @@
             self._create_virtual_dns_record(dns)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_virtual_DNS_record")
+                                 rules="show_virtual_DNS_record")
     @idempotent_id('fa3d1a2b-d788-4623-89a4-3a9ed1db7a7d')
     def test_show_virtual_dns_record(self):
         """
@@ -175,7 +175,7 @@
                 dns_record['virtual-DNS-record']['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_virtual_DNS_record")
+                                 rules="delete_virtual_DNS_record")
     @idempotent_id('de31e867-c997-4b4c-a095-43c647f5c192')
     def test_delete_virtual_dns_record(self):
         """
@@ -189,7 +189,7 @@
                 dns_record['virtual-DNS-record']['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_virtual_DNS_record")
+                                 rules="update_virtual_DNS_record")
     @idempotent_id('65acef26-646f-4b36-923c-8a1d07e90c5c')
     def test_update_virtual_dns_record(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_virtual_ip.py b/tungsten_tempest_plugin/tests/api/contrail/test_virtual_ip.py
index 0f229a6..41def77 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_virtual_ip.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_virtual_ip.py
@@ -57,7 +57,7 @@
         self.virtual_ip_client.update_virtual_ip(virtual_ip_uuid, **put_body)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_virtual_ips")
+                                 rules="list_virtual_ips")
     @idempotent_id('92303eee-bd96-48bc-a02c-39950bd19a21')
     def test_list_virtual_ips(self):
         """
@@ -67,7 +67,7 @@
             self.virtual_ip_client.list_virtual_ips()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_virtual_ips")
+                                 rules="create_virtual_ips")
     @idempotent_id('e0070888-995d-46ab-91fc-db1412eba2f7')
     def test_create_virtual_ips(self):
         """
@@ -77,7 +77,7 @@
             self._create_virtual_ip()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_virtual_ip")
+                                 rules="show_virtual_ip")
     @idempotent_id('2a4b3abd-c6f7-4d82-aa31-02e53d2a8fb9')
     def test_show_virtual_ip(self):
         """
@@ -88,7 +88,7 @@
             self.virtual_ip_client.show_virtual_ip(virtual_ip_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_virtual_ip")
+                                 rules="update_virtual_ip")
     @idempotent_id('0e975c92-62dc-4e6e-82cc-8cf37da3c5b2')
     def test_update_virtual_ip(self):
         """
@@ -99,7 +99,7 @@
             self._update_virtual_ip(virtual_ip_uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_virtual_ip")
+                                 rules="delete_virtual_ip")
     @idempotent_id('fd0b2635-36bd-4345-97b7-9c0a57372eba')
     def test_delete_virtual_ip(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_virtual_machines.py b/tungsten_tempest_plugin/tests/api/contrail/test_virtual_machines.py
index ae54c78..609256a 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_virtual_machines.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_virtual_machines.py
@@ -104,7 +104,7 @@
         super(VMContrailTest, cls).resource_cleanup()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_virtual_machine_interfaces")
+                                 rules="list_virtual_machine_interfaces")
     @idempotent_id('e27d1fae-7324-4ef3-87b1-e7f519b1e2a7')
     def test_list_vm_interfaces(self):
         """
@@ -115,7 +115,7 @@
             self.vm_client.list_virtual_machine_interfaces()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_virtual_machine_interfaces")
+                                 rules="create_virtual_machine_interfaces")
     @idempotent_id('d8a3a524-d61b-4bcb-8146-c5d4f308df8e')
     def test_add_vm_interfaces(self):
         """
@@ -125,7 +125,7 @@
             self._create_virual_machine_interface()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_virtual_machine_interface")
+                                 rules="show_virtual_machine_interface")
     @idempotent_id('3f17125a-9060-4c4a-a23f-0fe2aba2ccef')
     def test_show_vm_interface(self):
         """
@@ -136,7 +136,7 @@
             self.vm_client.show_virtual_machine_interface(test['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_virtual_machine_interface")
+                                 rules="delete_virtual_machine_interface")
     @idempotent_id('ce7f9471-ba1b-40d2-94f1-bdd0c610e22f')
     def test_delete_vm_interface(self):
         """
@@ -147,7 +147,7 @@
             self.vm_client.delete_vm_interface(body['uuid'])
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_virtual_machine_interface")
+                                 rules="update_virtual_machine_interface")
     @idempotent_id('7ca3046a-6245-4c15-914b-5a8ecdbeee11')
     def test_update_vm_interface(self):
         """
diff --git a/tungsten_tempest_plugin/tests/api/contrail/test_virtual_networks.py b/tungsten_tempest_plugin/tests/api/contrail/test_virtual_networks.py
index 9e91164..5d5d774 100644
--- a/tungsten_tempest_plugin/tests/api/contrail/test_virtual_networks.py
+++ b/tungsten_tempest_plugin/tests/api/contrail/test_virtual_networks.py
@@ -71,7 +71,7 @@
         return network
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="list_virtual_networks")
+                                 rules="list_virtual_networks")
     @idempotent_id('375ebc8d-dc52-4d9c-877b-85aba35b1539')
     def test_list_virtual_networks(self):
         """
@@ -81,7 +81,7 @@
             self.vn_client.list_virtual_networks()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="create_virtual_networks")
+                                 rules="create_virtual_networks")
     @idempotent_id('375ebc8d-dc52-4d9c-877b-96aba35b2530')
     def test_create_virtual_networks(self):
         """
@@ -91,7 +91,7 @@
             self._create_virtual_network()
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="update_virtual_network")
+                                 rules="update_virtual_network")
     @idempotent_id('375ebc8d-dc52-4d9c-566b-150a025c1237')
     def test_update_virtual_network(self):
         """
@@ -104,7 +104,7 @@
                 uuid, router_external=False)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="delete_virtual_network")
+                                 rules="delete_virtual_network")
     @idempotent_id('375ebc8d-dc52-4d9c-877b-17bcb53c3641')
     def test_delete_virtual_network(self):
         """
@@ -115,7 +115,7 @@
             self.vn_client.delete_virtual_network(uuid)
 
     @rbac_rule_validation.action(service="Contrail",
-                                 rule="show_virtual_network")
+                                 rules="show_virtual_network")
     @idempotent_id('375ebc8d-dc52-4d9c-877b-27c1a1242a81')
     def test_show_virtual_network(self):
         """
