mirror of
https://github.com/ZwareBear/awx.git
synced 2026-05-06 08:21:50 -05:00
Merge branch 'release_3.2.1' into devel
* release_3.2.1: fallback to empty dict when processing extra_data fix migration problem from 3.1.1 move 0005a migration to 0005b feedback on ad hoc prohibited vars error msg Fix the way we include i18n files in sdist Fix migrations to support 3.1.2 -> 3.2.1+ upgrade path fix missing parameter to update_capacity method fix WARNING log when launching ad hoc command Validate against ansible variables on ad hoc launch do not allow ansible connection type of local for ad_hoc work around an ansible 2.4 inventory caching bug fix scan job migration unicode issue Assert isolated nodes have capacity set to 0 and restored based on version Set capacity to zero if the isolated node has an old version
This commit is contained in:
@@ -56,7 +56,7 @@ from awx.main.utils import (get_ansible_version, get_ssh_version, decrypt_field,
|
||||
check_proot_installed, build_proot_temp_dir, get_licenser,
|
||||
wrap_args_with_proot, get_system_task_capacity, OutputEventFilter,
|
||||
parse_yaml_or_json, ignore_inventory_computed_fields, ignore_inventory_group_removal,
|
||||
get_type_for_model)
|
||||
get_type_for_model, extract_ansible_vars)
|
||||
from awx.main.utils.reload import restart_local_services, stop_local_services
|
||||
from awx.main.utils.handlers import configure_external_logger
|
||||
from awx.main.consumers import emit_channel_notification
|
||||
@@ -283,7 +283,7 @@ def awx_isolated_heartbeat(self):
|
||||
# Slow pass looping over isolated IGs and their isolated instances
|
||||
if len(isolated_instance_qs) > 0:
|
||||
logger.debug("Managing isolated instances {}.".format(','.join([inst.hostname for inst in isolated_instance_qs])))
|
||||
isolated_manager.IsolatedManager.health_check(isolated_instance_qs)
|
||||
isolated_manager.IsolatedManager.health_check(isolated_instance_qs, awx_application_version)
|
||||
|
||||
|
||||
@task(bind=True, queue='tower', base=LogErrorsTask)
|
||||
@@ -683,7 +683,14 @@ class BaseTask(LogErrorsTask):
|
||||
json_data = json.dumps(instance.inventory.get_script_data(hostvars=True))
|
||||
f.write('#! /usr/bin/env python\n# -*- coding: utf-8 -*-\nprint """%s"""\n' % json_data)
|
||||
os.chmod(path, stat.S_IRUSR | stat.S_IXUSR)
|
||||
return path
|
||||
return path
|
||||
else:
|
||||
# work around an inventory caching bug in Ansible 2.4.0
|
||||
# see: https://github.com/ansible/ansible/pull/30817
|
||||
# see: https://github.com/ansible/awx/issues/246
|
||||
inventory_script = tempfile.mktemp(suffix='.awxrest.py', dir=kwargs['private_data_dir'])
|
||||
shutil.copy(plugin, inventory_script)
|
||||
return inventory_script
|
||||
|
||||
def build_args(self, instance, **kwargs):
|
||||
raise NotImplementedError
|
||||
@@ -2108,6 +2115,12 @@ class RunAdHocCommand(BaseTask):
|
||||
args.append('-%s' % ('v' * min(5, ad_hoc_command.verbosity)))
|
||||
|
||||
if ad_hoc_command.extra_vars_dict:
|
||||
redacted_extra_vars, removed_vars = extract_ansible_vars(ad_hoc_command.extra_vars_dict)
|
||||
if removed_vars:
|
||||
raise ValueError(_(
|
||||
"{} are prohibited from use in ad hoc commands."
|
||||
).format(", ".join(removed_vars)))
|
||||
|
||||
args.extend(['-e', json.dumps(ad_hoc_command.extra_vars_dict)])
|
||||
|
||||
args.extend(['-m', ad_hoc_command.module_name])
|
||||
|
||||
Reference in New Issue
Block a user