Remove implied playbook extensions

We deprecated this a while ago, and most changes to OpenStack
projects implementing the change have landed.

Change-Id: Ie2519f2b4144761b8e4d17ec3299cf4238e16f08
diff --git a/doc/source/user/config.rst b/doc/source/user/config.rst
index 3ea20ab..cc509c7 100644
--- a/doc/source/user/config.rst
+++ b/doc/source/user/config.rst
@@ -798,13 +798,6 @@
       are run after the parent's.  See :ref:`job` for more
       information.
 
-      .. warning::
-
-         If the path as specified does not exist, Zuul will try
-         appending the extensions ``.yaml`` and ``.yml``.  This
-         behavior is deprecated and will be removed in the future all
-         playbook paths should include the file extension.
-
    .. attr:: post-run
 
       The name of a playbook or list of playbooks to run after the
@@ -815,13 +808,6 @@
       playbooks are run before the parent's.  See :ref:`job` for more
       information.
 
-      .. warning::
-
-         If the path as specified does not exist, Zuul will try
-         appending the extensions ``.yaml`` and ``.yml``.  This
-         behavior is deprecated and will be removed in the future all
-         playbook paths should include the file extension.
-
    .. attr:: run
 
       The name of the main playbook for this job.  If it is not
@@ -833,13 +819,6 @@
 
          run: playbooks/job-playbook.yaml
 
-      .. warning::
-
-         If the path as specified does not exist, Zuul will try
-         appending the extensions ``.yaml`` and ``.yml``.  This
-         behavior is deprecated and will be removed in the future all
-         playbook paths should include the file extension.
-
    .. attr:: roles
 
       A list of Ansible roles to prepare for the job.  Because a job
diff --git a/zuul/executor/server.py b/zuul/executor/server.py
index 016d0e6..b78ca33 100644
--- a/zuul/executor/server.py
+++ b/zuul/executor/server.py
@@ -958,13 +958,11 @@
                     "non-trusted repo." % (entry, path))
 
     def findPlaybook(self, path, trusted=False):
-        for ext in ['', '.yaml', '.yml']:
-            fn = path + ext
-            if os.path.exists(fn):
-                if not trusted:
-                    playbook_dir = os.path.dirname(os.path.abspath(fn))
-                    self._blockPluginDirs(playbook_dir)
-                return fn
+        if os.path.exists(path):
+            if not trusted:
+                playbook_dir = os.path.dirname(os.path.abspath(path))
+                self._blockPluginDirs(playbook_dir)
+            return path
         raise ExecutorError("Unable to find playbook %s" % path)
 
     def preparePlaybooks(self, args):