From 6cbc69447b97035940131e1b8a1c68e142fd58b5 Mon Sep 17 00:00:00 2001
From: Peter Sprygada <psprygada@ansible.com>
Date: Sat, 3 Mar 2018 22:54:34 -0500
Subject: [PATCH] adds fix for terminal plugins

---
 lib/ansible/config/base.yml   | 9 ++++++++-
 lib/ansible/plugins/loader.py | 3 ++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/lib/ansible/config/base.yml b/lib/ansible/config/base.yml
index 058f40fc81f..b640689b6a9 100644
--- a/lib/ansible/config/base.yml
+++ b/lib/ansible/config/base.yml
@@ -481,7 +481,6 @@ DEFAULT_CLICONF_PLUGIN_PATH:
   ini:
   - {key: cliconf_plugins, section: defaults}
   type: pathspec
-  yaml: {key: plugins.connection.path}
 DEFAULT_CONNECTION_PLUGIN_PATH:
   name: Connection Plugins Path
   default: ~/.ansible/plugins/connection:/usr/share/ansible/plugins/connection
@@ -1100,6 +1099,14 @@ DEFAULT_TASK_INCLUDES_STATIC:
     why: include itself is deprecated and this setting will not matter in the future
     version: "2.8"
     alternatives: None, as its already built into the decision between include_tasks and import_tasks
+DEFAULT_TERMINAL_PLUGIN_PATH:
+  name: Terminal Plugins Path
+  default: ~/.ansible/plugins/terminal:/usr/share/ansible/plugins/terminal
+  description: Colon separated paths in which Ansible will search for Terminal Plugins.
+  env: [{name: ANSIBLE_TERMINAL_PLUGINS}]
+  ini:
+  - {key: terminal_plugins, section: defaults}
+  type: pathspec
 DEFAULT_TEST_PLUGIN_PATH:
   name: Jinja2 Test Plugins Path
   description: Colon separated paths in which Ansible will search for Jinja2 Test Plugins.
diff --git a/lib/ansible/plugins/loader.py b/lib/ansible/plugins/loader.py
index 5c3b81a9225..9dba4cc2fab 100644
--- a/lib/ansible/plugins/loader.py
+++ b/lib/ansible/plugins/loader.py
@@ -630,8 +630,9 @@ strategy_loader = PluginLoader(
 terminal_loader = PluginLoader(
     'TerminalModule',
     'ansible.plugins.terminal',
+    C.DEFAULT_TERMINAL_PLUGIN_PATH,
     'terminal_plugins',
-    'terminal_plugins'
+    required_base_class='TerminalBase'
 )
 
 vars_loader = PluginLoader(