mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Avoid default inventory proccessing for pull (#32135)
* Avoid default inventory proccessing for pull - now pull's own special inventory processing should work correctly - also removed ineffective set_defaults fixes #31449 * use class property instead * only do localhost for adhoc (cherry picked from commit aad5d1432583c4aa4105b774f38c80498e85de59)
This commit is contained in:
parent
11153df0a1
commit
ca71a50459
2 changed files with 8 additions and 11 deletions
|
@ -112,6 +112,7 @@ class CLI(with_metaclass(ABCMeta, object)):
|
||||||
# -F (quit-if-one-screen) -R (allow raw ansi control chars)
|
# -F (quit-if-one-screen) -R (allow raw ansi control chars)
|
||||||
# -S (chop long lines) -X (disable termcap init and de-init)
|
# -S (chop long lines) -X (disable termcap init and de-init)
|
||||||
LESS_OPTS = 'FRSX'
|
LESS_OPTS = 'FRSX'
|
||||||
|
SKIP_INVENTORY_DEFAULTS = False
|
||||||
|
|
||||||
def __init__(self, args, callback=None):
|
def __init__(self, args, callback=None):
|
||||||
"""
|
"""
|
||||||
|
@ -424,8 +425,7 @@ class CLI(with_metaclass(ABCMeta, object)):
|
||||||
|
|
||||||
if inventory_opts:
|
if inventory_opts:
|
||||||
parser.add_option('-i', '--inventory', '--inventory-file', dest='inventory', action="append",
|
parser.add_option('-i', '--inventory', '--inventory-file', dest='inventory', action="append",
|
||||||
help="specify inventory host path (default=[%s]) or comma separated host list. "
|
help="specify inventory host path or comma separated host list. --inventory-file is deprecated")
|
||||||
"--inventory-file is deprecated" % C.DEFAULT_HOST_LIST)
|
|
||||||
parser.add_option('--list-hosts', dest='listhosts', action='store_true',
|
parser.add_option('--list-hosts', dest='listhosts', action='store_true',
|
||||||
help='outputs a list of matching hosts; does not execute anything else')
|
help='outputs a list of matching hosts; does not execute anything else')
|
||||||
parser.add_option('-l', '--limit', default=C.DEFAULT_SUBSET, dest='subset',
|
parser.add_option('-l', '--limit', default=C.DEFAULT_SUBSET, dest='subset',
|
||||||
|
@ -605,8 +605,8 @@ class CLI(with_metaclass(ABCMeta, object)):
|
||||||
skip_tags.add(tag.strip())
|
skip_tags.add(tag.strip())
|
||||||
self.options.skip_tags = list(skip_tags)
|
self.options.skip_tags = list(skip_tags)
|
||||||
|
|
||||||
# process inventory options
|
# process inventory options except for CLIs that require their own processing
|
||||||
if hasattr(self.options, 'inventory'):
|
if hasattr(self.options, 'inventory') and not self.SKIP_INVENTORY_DEFAULTS:
|
||||||
|
|
||||||
if self.options.inventory:
|
if self.options.inventory:
|
||||||
|
|
||||||
|
@ -616,7 +616,6 @@ class CLI(with_metaclass(ABCMeta, object)):
|
||||||
|
|
||||||
# Ensure full paths when needed
|
# Ensure full paths when needed
|
||||||
self.options.inventory = [unfrackpath(opt, follow=False) if ',' not in opt else opt for opt in self.options.inventory]
|
self.options.inventory = [unfrackpath(opt, follow=False) if ',' not in opt else opt for opt in self.options.inventory]
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.options.inventory = C.DEFAULT_HOST_LIST
|
self.options.inventory = C.DEFAULT_HOST_LIST
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,8 @@ class PullCLI(CLI):
|
||||||
"look for a playbook based on the host's fully-qualified domain name,"
|
"look for a playbook based on the host's fully-qualified domain name,"
|
||||||
'on the host hostname and finally a playbook named *local.yml*.', }
|
'on the host hostname and finally a playbook named *local.yml*.', }
|
||||||
|
|
||||||
|
SKIP_INVENTORY_DEFAULTS = True
|
||||||
|
|
||||||
def _get_inv_cli(self):
|
def _get_inv_cli(self):
|
||||||
|
|
||||||
inv_opts = ''
|
inv_opts = ''
|
||||||
|
@ -77,9 +79,6 @@ class PullCLI(CLI):
|
||||||
elif ',' in inv or os.path.exists(inv):
|
elif ',' in inv or os.path.exists(inv):
|
||||||
inv_opts += ' -i %s ' % inv
|
inv_opts += ' -i %s ' % inv
|
||||||
|
|
||||||
if not inv_opts:
|
|
||||||
inv_opts = " -i localhost, "
|
|
||||||
|
|
||||||
return inv_opts
|
return inv_opts
|
||||||
|
|
||||||
def parse(self):
|
def parse(self):
|
||||||
|
@ -125,9 +124,6 @@ class PullCLI(CLI):
|
||||||
self.parser.add_option("--check", default=False, dest='check', action='store_true',
|
self.parser.add_option("--check", default=False, dest='check', action='store_true',
|
||||||
help="don't make any changes; instead, try to predict some of the changes that may occur")
|
help="don't make any changes; instead, try to predict some of the changes that may occur")
|
||||||
|
|
||||||
# for pull we don't want a default
|
|
||||||
self.parser.set_defaults(inventory=None)
|
|
||||||
|
|
||||||
super(PullCLI, self).parse()
|
super(PullCLI, self).parse()
|
||||||
|
|
||||||
if not self.options.dest:
|
if not self.options.dest:
|
||||||
|
@ -177,6 +173,8 @@ class PullCLI(CLI):
|
||||||
# Attempt to use the inventory passed in as an argument
|
# Attempt to use the inventory passed in as an argument
|
||||||
# It might not yet have been downloaded so use localhost as default
|
# It might not yet have been downloaded so use localhost as default
|
||||||
inv_opts = self._get_inv_cli()
|
inv_opts = self._get_inv_cli()
|
||||||
|
if not inv_opts:
|
||||||
|
inv_opts = " -i localhost, "
|
||||||
|
|
||||||
# FIXME: enable more repo modules hg/svn?
|
# FIXME: enable more repo modules hg/svn?
|
||||||
if self.options.module_name == 'git':
|
if self.options.module_name == 'git':
|
||||||
|
|
Loading…
Add table
Reference in a new issue