Improve control-host CPU performance
When running from a central host, where multiple other playbooks may also be executing, CPU time quickly becomes the scaleability bottleneck. * Reduce the vars compression level at the cost of network utilization. This assumes the number of vars being transfered back/forth remains reasonably low, where there wouldn't be much advantage from higher compression anyway. Another enhancement ``ControlPersist`` (for ssh) is apt to fall back to opening new connections (slow) for every request under some conditions. This happens if the socket filename is too large (108 characters, including path) - a kernel limitation. Unfortunately, in cloud environments, auto-assigned VM hostnames tend to be rather large to avoid clashes. Worse, in a CI environment, the default home-directory path also tends to be lengthy for the same reason. * Address this by sticking persistent-connection, background socket files in '/tmp/cri-o' (avoid %d). Also remove the username (%r) designation, since this will almost always be the same user anyway. The tradeoff here is clashes between jobs against the same host (unlikely) and weakened security on the control host (less important for CI jobs). Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
parent
4d119c2b14
commit
a04127d3d9
1 changed files with 2 additions and 7 deletions
|
@ -57,11 +57,6 @@ gather_subset = network
|
||||||
#host_key_checking = False
|
#host_key_checking = False
|
||||||
host_key_checking = False
|
host_key_checking = False
|
||||||
|
|
||||||
# change the default callback
|
|
||||||
#stdout_callback = skippy
|
|
||||||
# enable additional callbacks
|
|
||||||
#callback_whitelist = timer, mail
|
|
||||||
|
|
||||||
# Determine whether includes in tasks and handlers are "static" by
|
# Determine whether includes in tasks and handlers are "static" by
|
||||||
# default. As of 2.0, includes are dynamic by default. Setting these
|
# default. As of 2.0, includes are dynamic by default. Setting these
|
||||||
# values to True will make includes behave more like they did in the
|
# values to True will make includes behave more like they did in the
|
||||||
|
@ -165,7 +160,6 @@ deprecation_warnings = False
|
||||||
# instead of shelling out to the git command.
|
# instead of shelling out to the git command.
|
||||||
command_warnings = False
|
command_warnings = False
|
||||||
|
|
||||||
|
|
||||||
# set plugin path directories here, separate with colons
|
# set plugin path directories here, separate with colons
|
||||||
#action_plugins = /usr/share/ansible/plugins/action
|
#action_plugins = /usr/share/ansible/plugins/action
|
||||||
#callback_plugins = /usr/share/ansible/plugins/callback
|
#callback_plugins = /usr/share/ansible/plugins/callback
|
||||||
|
@ -219,7 +213,6 @@ nocolor = 0
|
||||||
# When a playbook fails by default a .retry file will be created in ~/
|
# When a playbook fails by default a .retry file will be created in ~/
|
||||||
# You can disable this feature by setting retry_files_enabled to False
|
# You can disable this feature by setting retry_files_enabled to False
|
||||||
# and you can change the location of the files by setting retry_files_save_path
|
# and you can change the location of the files by setting retry_files_save_path
|
||||||
|
|
||||||
#retry_files_enabled = False
|
#retry_files_enabled = False
|
||||||
retry_files_enabled = False
|
retry_files_enabled = False
|
||||||
|
|
||||||
|
@ -248,6 +241,7 @@ no_target_syslog = True
|
||||||
# worker processes. At the default of 0, no compression
|
# worker processes. At the default of 0, no compression
|
||||||
# is used. This value must be an integer from 0 to 9.
|
# is used. This value must be an integer from 0 to 9.
|
||||||
#var_compression_level = 9
|
#var_compression_level = 9
|
||||||
|
var_compression_level = 3
|
||||||
|
|
||||||
# controls what compression method is used for new-style ansible modules when
|
# controls what compression method is used for new-style ansible modules when
|
||||||
# they are sent to the remote system. The compression types depend on having
|
# they are sent to the remote system. The compression types depend on having
|
||||||
|
@ -298,6 +292,7 @@ ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o UserKnownHostsFile=/de
|
||||||
# Example:
|
# Example:
|
||||||
# control_path = %(directory)s/%%h-%%r
|
# control_path = %(directory)s/%%h-%%r
|
||||||
#control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r
|
#control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r
|
||||||
|
control_path = /tmp/crio-%%n-%%p
|
||||||
|
|
||||||
# Enabling pipelining reduces the number of SSH operations required to
|
# Enabling pipelining reduces the number of SSH operations required to
|
||||||
# execute a module on the remote server. This can result in a significant
|
# execute a module on the remote server. This can result in a significant
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue