fix module defaults (#56020)

* fix module defaults

 - corrected precedence (specific module > group)
 - made into reusable function
 - use from gather_facts/service/package to match 'actual module used'
This commit is contained in:
Brian Coca 2019-05-14 09:59:18 -04:00 committed by GitHub
parent 8968d41599
commit 674a57c3fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 45 additions and 15 deletions

View file

@ -8,6 +8,7 @@ import os
import time
from ansible import constants as C
from ansible.executor.module_common import get_action_args_with_defaults
from ansible.plugins.action import ActionBase
from ansible.utils.vars import combine_vars
@ -39,6 +40,9 @@ class ActionModule(ActionBase):
# This ensures we don't pass a ``None`` value as an argument expecting a specific type
mod_args = dict((k, v) for k, v in mod_args.items() if v is not None)
# handle module defaults
mod_args = get_action_args_with_defaults(fact_module, mod_args, self._task.module_defaults, self._templar)
return mod_args
def run(self, tmp=None, task_vars=None):