ansible-的修改配置文件

1. ansible的配置文件

1 [root@1-230 python-2.7.5]# tree /etc/ansible/
2 /etc/ansible/
3 ├── ansible.cfg
4 ├── hosts
5 └── roles
6 
7 1 directory, 2 files

  ansible.cfg:是ansible执行需求的全局性、默认的配置文件
  hosts:默认的主机资产清单文件

2. ansible的配置文件ansible.cfg常用的配置项梳理查看源文件

  1     [root@test-2 ansible]# cat ansible.cfg 
  2     # config file for ansible -- https://ansible.com/
  3     # ===============================================
  4     
  5     # nearly all parameters can be overridden in ansible-playbook
  6     # or with command line flags. ansible will read ANSIBLE_CONFIG,
  7     # ansible.cfg in the current working directory, .ansible.cfg in
  8     # the home directory or /etc/ansible/ansible.cfg, whichever it
  9     # finds first
 10     
 11     [defaults]
 12     
 13     # some basic default values...
 14     
 15     #inventory      = /etc/ansible/hosts
 16     #library        = /usr/share/my_modules/
 17     #module_utils   = /usr/share/my_module_utils/
 18     #remote_tmp     = ~/.ansible/tmp
 19     #local_tmp      = ~/.ansible/tmp
 20     #plugin_filters_cfg = /etc/ansible/plugin_filters.yml
 21     #forks          = 5
 22     #poll_interval  = 15
 23     #sudo_user      = root
 24     #ask_sudo_pass = True
 25     #ask_pass      = True
 26     #transport      = smart
 27     #remote_port    = 22
 28     #module_lang    = C
 29     #module_set_locale = False
 30     
 31     # plays will gather facts by default, which contain information about
 32     # the remote system.
 33     #
 34     # smart - gather by default, but don't regather if already gathered
 35     # implicit - gather by default, turn off with gather_facts: False
 36     # explicit - do not gather by default, must say gather_facts: True
 37     #gathering = implicit
 38     
 39     # This only affects the gathering done by a play's gather_facts directive,
 40     # by default gathering retrieves all facts subsets
 41     # all - gather all subsets
 42     # network - gather min and network facts
 43     # hardware - gather hardware facts (longest facts to retrieve)
 44     # virtual - gather min and virtual facts
 45     # facter - import facts from facter
 46     # ohai - import facts from ohai
 47     # You can combine them using comma (ex: network,virtual)
 48     # You can negate them using ! (ex: !hardware,!facter,!ohai)
 49     # A minimal set of facts is always gathered.
 50     #gather_subset = all
 51     
 52     # some hardware related facts are collected
 53     # with a maximum timeout of 10 seconds. This
 54     # option lets you increase or decrease that
 55     # timeout to something more suitable for the
 56     # environment.
 57     # gather_timeout = 10
 58     
 59     # Ansible facts are available inside the ansible_facts.* dictionary
 60     # namespace. This setting maintains the behaviour which was the default prior
 61     # to 2.5, duplicating these variables into the main namespace, each with a
 62     # prefix of 'ansible_'.
 63     # This variable is set to True by default for backwards compatibility. It
 64     # will be changed to a default of 'False' in a future release.
 65     # ansible_facts.
 66     # inject_facts_as_vars = True
 67     
 68     # additional paths to search for roles in, colon separated
 69     #roles_path    = /etc/ansible/roles
 70     
 71     # uncomment this to disable SSH key host checking
 72     #host_key_checking = False
 73     
 74     # change the default callback, you can only have one 'stdout' type  enabled at a time.
 75     #stdout_callback = skippy
 76     
 77     
 78     ## Ansible ships with some plugins that require whitelisting,
 79     ## this is done to avoid running all of a type by default.
 80     ## These setting lists those that you want enabled for your system.
 81     ## Custom plugins should not need this unless plugin author specifies it.
 82     
 83     # enable callback plugins, they can output to stdout but cannot be 'stdout' type.
 84     #callback_whitelist = timer, mail
 85     
 86     # Determine whether includes in tasks and handlers are "static" by
 87     # default. As of 2.0, includes are dynamic by default. Setting these
 88     # values to True will make includes behave more like they did in the
 89     # 1.x versions.
 90     #task_includes_static = False
 91     #handler_includes_static = False
 92     
 93     # Controls if a missing handler for a notification event is an error or a warning
 94     #error_on_missing_handler = True
 95     
 96     # change this for alternative sudo implementations
 97     #sudo_exe = sudo
 98     
 99     # What flags to pass to sudo
100     # WARNING: leaving out the defaults might create unexpected behaviours
101     #sudo_flags = -H -S -n
102     
103     # SSH timeout
104     #timeout = 10
105     
106     # default user to use for playbooks if user is not specified
107     # (/usr/bin/ansible will use current user as default)
108     #remote_user = root
109     
110     # logging is off by default unless this path is defined
111     # if so defined, consider logrotate
112     #log_path = /var/log/ansible.log
113     
114     # default module name for /usr/bin/ansible
115     #module_name = command
116     
117     # use this shell for commands executed under sudo
118     # you may need to change this to bin/bash in rare instances
119     # if sudo is constrained
120     #executable = /bin/sh
121     
122     # if inventory variables overlap, does the higher precedence one win
123     # or are hash values merged together?  The default is 'replace' but
124     # this can also be set to 'merge'.
125     #hash_behaviour = replace
126     
127     # by default, variables from roles will be visible in the global variable
128     # scope. To prevent this, the following option can be enabled, and only
129     # tasks and handlers within the role will see the variables there
130     #private_role_vars = yes
131     
132     # list any Jinja2 extensions to enable here:
133     #jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n
134     
135     # if set, always use this private key file for authentication, same as
136     # if passing --private-key to ansible or ansible-playbook
137     #private_key_file = /path/to/file
138     
139     # If set, configures the path to the Vault password file as an alternative to
140     # specifying --vault-password-file on the command line.
141     #vault_password_file = /path/to/vault_password_file
142     
143     # format of string {{ ansible_managed }} available within Jinja2
144     # templates indicates to users editing templates files will be replaced.
145     # replacing {file}, {host} and {uid} and strftime codes with proper values.
146     #ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}
147     # {file}, {host}, {uid}, and the timestamp can all interfere with idempotence
148     # in some situations so the default is a static string:
149     #ansible_managed = Ansible managed
150     
151     # by default, ansible-playbook will display "Skipping [host]" if it determines a task
152     # should not be run on a host.  Set this to "False" if you don't want to see these "Skipping"
153     # messages. NOTE: the task header will still be shown regardless of whether or not the
154     # task is skipped.
155     #display_skipped_hosts = True
156     
157     # by default, if a task in a playbook does not include a name: field then
158     # ansible-playbook will construct a header that includes the task's action but
159     # not the task's args.  This is a security feature because ansible cannot know
160     # if the *module* considers an argument to be no_log at the time that the
161     # header is printed.  If your environment doesn't have a problem securing
162     # stdout from ansible-playbook (or you have manually specified no_log in your
163     # playbook on all of the tasks where you have secret information) then you can
164     # safely set this to True to get more informative messages.
165     #display_args_to_stdout = False
166     
167     # by default (as of 1.3), Ansible will raise errors when attempting to dereference
168     # Jinja2 variables that are not set in templates or action lines. Uncomment this line
169     # to revert the behavior to pre-1.3.
170     #error_on_undefined_vars = False
171     
172     # by default (as of 1.6), Ansible may display warnings based on the configuration of the
173     # system running ansible itself. This may include warnings about 3rd party packages or
174     # other conditions that should be resolved if possible.
175     # to disable these warnings, set the following value to False:
176     #system_warnings = True
177     
178     # by default (as of 1.4), Ansible may display deprecation warnings for language
179     # features that should no longer be used and will be removed in future versions.
180     # to disable these warnings, set the following value to False:
181     #deprecation_warnings = True
182     
183     # (as of 1.8), Ansible can optionally warn when usage of the shell and
184     # command module appear to be simplified by using a default Ansible module
185     # instead.  These warnings can be silenced by adjusting the following
186     # setting or adding warn=yes or warn=no to the end of the command line
187     # parameter string.  This will for example suggest using the git module
188     # instead of shelling out to the git command.
189     # command_warnings = False
190     
191     
192     # set plugin path directories here, separate with colons
193     #action_plugins     = /usr/share/ansible/plugins/action
194     #cache_plugins      = /usr/share/ansible/plugins/cache
195     #callback_plugins   = /usr/share/ansible/plugins/callback
196     #connection_plugins = /usr/share/ansible/plugins/connection
197     #lookup_plugins     = /usr/share/ansible/plugins/lookup
198     #inventory_plugins  = /usr/share/ansible/plugins/inventory
199     #vars_plugins       = /usr/share/ansible/plugins/vars
200     #filter_plugins     = /usr/share/ansible/plugins/filter
201     #test_plugins       = /usr/share/ansible/plugins/test
202     #terminal_plugins   = /usr/share/ansible/plugins/terminal
203     #strategy_plugins   = /usr/share/ansible/plugins/strategy
204     
205     
206     # by default, ansible will use the 'linear' strategy but you may want to try
207     # another one
208     #strategy = free
209     
210     # by default callbacks are not loaded for /bin/ansible, enable this if you
211     # want, for example, a notification or logging callback to also apply to
212     # /bin/ansible runs
213     #bin_ansible_callbacks = False
214     
215     
216     # don't like cows?  that's unfortunate.
217     # set to 1 if you don't want cowsay support or export ANSIBLE_NOCOWS=1
218     #nocows = 1
219     
220     # set which cowsay stencil you'd like to use by default. When set to 'random',
221     # a random stencil will be selected for each task. The selection will be filtered
222     # against the `cow_whitelist` option below.
223     #cow_selection = default
224     #cow_selection = random
225     
226     # when using the 'random' option for cowsay, stencils will be restricted to this list.
227     # it should be formatted as a comma-separated list with no spaces between names.
228     # NOTE: line continuations here are for formatting purposes only, as the INI parser
229     #       in python does not support them.
230     #cow_whitelist=bud-frogs,bunny,cheese,daemon,default,dragon,elephant-in-snake,elephant,eyes,\
231     #              hellokitty,kitty,luke-koala,meow,milk,moofasa,moose,ren,sheep,small,stegosaurus,\
232     #              stimpy,supermilker,three-eyes,turkey,turtle,tux,udder,vader-koala,vader,www
233     
234     # don't like colors either?
235     # set to 1 if you don't want colors, or export ANSIBLE_NOCOLOR=1
236     #nocolor = 1
237     
238     # if set to a persistent type (not 'memory', for example 'redis') fact values
239     # from previous runs in Ansible will be stored.  This may be useful when
240     # wanting to use, for example, IP information from one group of servers
241     # without having to talk to them in the same playbook run to get their
242     # current IP information.
243     #fact_caching = memory
244     
245     #This option tells Ansible where to cache facts. The value is plugin dependent.
246     #For the jsonfile plugin, it should be a path to a local directory.
247     #For the redis plugin, the value is a host:port:database triplet: fact_caching_connection = localhost:6379:0
248     
249     #fact_caching_connection=/tmp
250     
251     
252     
253     # retry files
254     # When a playbook fails by default a .retry file will be created in ~/
255     # You can disable this feature by setting retry_files_enabled to False
256     # and you can change the location of the files by setting retry_files_save_path
257     
258     #retry_files_enabled = False
259     #retry_files_save_path = ~/.ansible-retry
260     
261     # squash actions
262     # Ansible can optimise actions that call modules with list parameters
263     # when looping. Instead of calling the module once per with_ item, the
264     # module is called once with all items at once. Currently this only works
265     # under limited circumstances, and only with parameters named 'name'.
266     #squash_actions = apk,apt,dnf,homebrew,pacman,pkgng,yum,zypper
267     
268     # prevents logging of task data, off by default
269     #no_log = False
270     
271     # prevents logging of tasks, but only on the targets, data is still logged on the master/controller
272     #no_target_syslog = False
273     
274     # controls whether Ansible will raise an error or warning if a task has no
275     # choice but to create world readable temporary files to execute a module on
276     # the remote machine.  This option is False by default for security.  Users may
277     # turn this on to have behaviour more like Ansible prior to 2.1.x.  See
278     # https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user
279     # for more secure ways to fix this than enabling this option.
280     #allow_world_readable_tmpfiles = False
281     
282     # controls the compression level of variables sent to
283     # worker processes. At the default of 0, no compression
284     # is used. This value must be an integer from 0 to 9.
285     #var_compression_level = 9
286     
287     # controls what compression method is used for new-style ansible modules when
288     # they are sent to the remote system.  The compression types depend on having
289     # support compiled into both the controller's python and the client's python.
290     # The names should match with the python Zipfile compression types:
291     # * ZIP_STORED (no compression. available everywhere)
292     # * ZIP_DEFLATED (uses zlib, the default)
293     # These values may be set per host via the ansible_module_compression inventory
294     # variable
295     #module_compression = 'ZIP_DEFLATED'
296     
297     # This controls the cutoff point (in bytes) on --diff for files
298     # set to 0 for unlimited (RAM may suffer!).
299     #max_diff_size = 1048576
300     
301     # This controls how ansible handles multiple --tags and --skip-tags arguments
302     # on the CLI.  If this is True then multiple arguments are merged together.  If
303     # it is False, then the last specified argument is used and the others are ignored.
304     # This option will be removed in 2.8.
305     #merge_multiple_cli_flags = True
306     
307     # Controls showing custom stats at the end, off by default
308     #show_custom_stats = True
309     
310     # Controls which files to ignore when using a directory as inventory with
311     # possibly multiple sources (both static and dynamic)
312     #inventory_ignore_extensions = ~, .orig, .bak, .ini, .cfg, .retry, .pyc, .pyo
313     
314     # This family of modules use an alternative execution path optimized for network appliances
315     # only update this setting if you know how this works, otherwise it can break module execution
316     #network_group_modules=eos, nxos, ios, iosxr, junos, vyos
317     
318     # When enabled, this option allows lookups (via variables like {{lookup('foo')}} or when used as
319     # a loop with `with_foo`) to return data that is not marked "unsafe". This means the data may contain
320     # jinja2 templating language which will be run through the templating engine.
321     # ENABLING THIS COULD BE A SECURITY RISK
322     #allow_unsafe_lookups = False
323     
324     # set default errors for all plays
325     #any_errors_fatal = False
326     
327     [inventory]
328     # enable inventory plugins, default: 'host_list', 'script', 'yaml', 'ini', 'auto'
329     #enable_plugins = host_list, virtualbox, yaml, constructed
330     
331     # ignore these extensions when parsing a directory as inventory source
332     #ignore_extensions = .pyc, .pyo, .swp, .bak, ~, .rpm, .md, .txt, ~, .orig, .ini, .cfg, .retry
333     
334     # ignore files matching these patterns when parsing a directory as inventory source
335     #ignore_patterns=
336     
337     # If 'true' unparsed inventory sources become fatal errors, they are warnings otherwise.
338     #unparsed_is_failed=False
339     
340     [privilege_escalation]
341     #become=True
342     #become_method=sudo
343     #become_user=root
344     #become_ask_pass=False
345     
346     [paramiko_connection]
347     
348     # uncomment this line to cause the paramiko connection plugin to not record new host
349     # keys encountered.  Increases performance on new host additions.  Setting works independently of the
350     # host key checking setting above.
351     #record_host_keys=False
352     
353     # by default, Ansible requests a pseudo-terminal for commands executed under sudo. Uncomment this
354     # line to disable this behaviour.
355     #pty=False
356     
357     # paramiko will default to looking for SSH keys initially when trying to
358     # authenticate to remote devices.  This is a problem for some network devices
359     # that close the connection after a key failure.  Uncomment this line to
360     # disable the Paramiko look for keys function
361     #look_for_keys = False
362     
363     # When using persistent connections with Paramiko, the connection runs in a
364     # background process.  If the host doesn't already have a valid SSH key, by
365     # default Ansible will prompt to add the host key.  This will cause connections
366     # running in background processes to fail.  Uncomment this line to have
367     # Paramiko automatically add host keys.
368     #host_key_auto_add = True
369     
370     [ssh_connection]
371     
372     # ssh arguments to use
373     # Leaving off ControlPersist will result in poor performance, so use
374     # paramiko on older platforms rather than removing it, -C controls compression use
375     #ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
376     
377     # The base directory for the ControlPath sockets.
378     # This is the "%(directory)s" in the control_path option
379     #
380     # Example:
381     # control_path_dir = /tmp/.ansible/cp
382     #control_path_dir = ~/.ansible/cp
383     
384     # The path to use for the ControlPath sockets. This defaults to a hashed string of the hostname,
385     # port and username (empty string in the config). The hash mitigates a common problem users
386     # found with long hostames and the conventional %(directory)s/ansible-ssh-%%h-%%p-%%r format.
387     # In those cases, a "too long for Unix domain socket" ssh error would occur.
388     #
389     # Example:
390     # control_path = %(directory)s/%%h-%%r
391     #control_path =
392     
393     # Enabling pipelining reduces the number of SSH operations required to
394     # execute a module on the remote server. This can result in a significant
395     # performance improvement when enabled, however when using "sudo:" you must
396     # first disable 'requiretty' in /etc/sudoers
397     #
398     # By default, this option is disabled to preserve compatibility with
399     # sudoers configurations that have requiretty (the default on many distros).
400     #
401     #pipelining = False
402     
403     # Control the mechanism for transferring files (old)
404     #   * smart = try sftp and then try scp [default]
405     #   * True = use scp only
406     #   * False = use sftp only
407     #scp_if_ssh = smart
408     
409     # Control the mechanism for transferring files (new)
410     # If set, this will override the scp_if_ssh option
411     #   * sftp  = use sftp to transfer files
412     #   * scp   = use scp to transfer files
413     #   * piped = use 'dd' over SSH to transfer files
414     #   * smart = try sftp, scp, and piped, in that order [default]
415     #transfer_method = smart
416     
417     # if False, sftp will not use batch mode to transfer files. This may cause some
418     # types of file transfer failures impossible to catch however, and should
419     # only be disabled if your sftp version has problems with batch mode
420     #sftp_batch_mode = False
421     
422     # The -tt argument is passed to ssh when pipelining is not enabled because sudo 
423     # requires a tty by default. 
424     #use_tty = True
425     
426     # Number of times to retry an SSH connection to a host, in case of UNREACHABLE.
427     # For each retry attempt, there is an exponential backoff,
428     # so after the first attempt there is 1s wait, then 2s, 4s etc. up to 30s (max).
429     #retries = 3
430     
431     [persistent_connection]
432     
433     # Configures the persistent connection timeout value in seconds.  This value is
434     # how long the persistent connection will remain idle before it is destroyed.
435     # If the connection doesn't receive a request before the timeout value
436     # expires, the connection is shutdown. The default value is 30 seconds.
437     #connect_timeout = 30
438     
439     # Configures the persistent connection retry timeout.  This value configures the
440     # the retry timeout that ansible-connection will wait to connect
441     # to the local domain socket. This value must be larger than the
442     # ssh timeout (timeout) and less than persistent connection idle timeout (connect_timeout).
443     # The default value is 15 seconds.
444     #connect_retry_timeout = 15
445     
446     # The command timeout value defines the amount of time to wait for a command
447     # or RPC call before timing out. The value for the command timeout must
448     # be less than the value of the persistent connection idle timeout (connect_timeout)
449     # The default value is 10 second.
450     #command_timeout = 10
451     
452     [accelerate]
453     #accelerate_port = 5099
454     #accelerate_timeout = 30
455     #accelerate_connect_timeout = 5.0
456     
457     # The daemon timeout is measured in minutes. This time is measured
458     # from the last activity to the accelerate daemon.
459     #accelerate_daemon_timeout = 30
460     
461     # If set to yes, accelerate_multi_key will allow multiple
462     # private keys to be uploaded to it, though each user must
463     # have access to the system via SSH to add a new key. The default
464     # is "no".
465     #accelerate_multi_key = yes
466     
467     [selinux]
468     # file systems that require special treatment when dealing with security context
469     # the default behaviour that copies the existing context or uses the user default
470     # needs to be changed to use the file system dependent context.
471     #special_context_filesystems=nfs,vboxsf,fuse,ramfs,9p
472     
473     # Set this to yes to allow libvirt_lxc connections to work without SELinux.
474     #libvirt_lxc_noseclabel = yes
475     
476     [colors]
477     #highlight = white
478     #verbose = blue
479     #warn = bright purple
480     #error = red
481     #debug = dark gray
482     #deprecate = purple
483     #skip = cyan
484     #unreachable = red
485     #ok = green
486     #changed = yellow
487     #diff_add = green
488     #diff_remove = red
489     #diff_lines = cyan
490     
491     
492     [diff]
493     # Always print diff when running ( same as always running with -D/--diff )
494     # always = no
495     
496     # Set how many context lines to show in diff
497     # context = 3

3.Ansible.cfg是ansible自动化任务所用的一个核心配置文件,大部分的配置文件都集中在defualts配置项目中。以下需要修改的配置

 1     1)inventory 
 2     该参数表示资源清单inventory文件的位置,资源清单就是一些Ansible需要连接管理的主机列表 
 3     inventory = /root/ansible/hosts
 4     
 5     2)library 
 6     Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块,这个library参数就是指向存放Ansible模块的目录 
 7     library = /usr/share/ansible
 8     
 9     3)forks 
10     设置默认情况下Ansible最多能有多少个进程同时工作,默认设置最多5个进程并行处理。具体需要设置多少个,可以根据控制主机的性能和被管理节点的数量来确定。 
11     forks = 5
12     
13     4)sudo_user 
14     这是设置默认执行命令的用户,也可以在playbook中重新设置这个参数 
15     sudo_user = root
16     //注意:新版本已经作了修改,如ansible2.4.1下已经为:
17     default_sudo_user = root 
18     
19     5)remote_port 
20     这是指定连接被关节点的管理端口,默认是22,除非设置了特殊的SSH端口,不然这个参数一般是不需要修改的 
21     remote_port = 22
22     
23     6)host_key_checking 
24     这是设置是否检查SSH主机的密钥。可以设置为True或False 
25     host_key_checking = False
26     
27     7)timeout 
28     这是设置SSH连接的超时间隔,单位是秒。 
29     timeout = 20
30     
31     8)log_path 
32     Ansible系统默认是不记录日志的,如果想把Ansible系统的输出记录到人i治稳健中,需要设置log_path来指定一个存储Ansible日志的文件 
33     log_path = /var/log/ansible.log
34     
35     另外需要注意,执行Ansible的用户需要有写入日志的权限,模块将会调用被管节点的syslog来记录,口令是不会出现的日志中的
36     
37     9)private_key_file
38     
39     默认
40     private_key_file=/path/to/file.pem
41     
42     在使用ssh公钥私钥登录系统时候,需要修改密钥路径。
43     private_key_file = /root/.ssh/id_rsa
44     
45     10)deprecation_warnings
46             #deprecation_warnings = True
47             注释:
48             以上使用的默认的,配置会提示警告信息,我们需要修改为False,关闭警告
49             [DEPRECATION WARNING]: DEFAULT_SUDO_USER option, In favor of Ansible Become, which is a generic framework. See become_user. , use become instead. This feature will be 
50             removed in version 2.8. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
51             
52             deprecation_warnings = False
53             

4.Ansible.cfg修改后的配置文件

  1 [root@test-1 bin]# cat /etc/ansible/
  2 ansible.cfg  hosts        roles/       
  3 [root@test-1 bin]# cat /etc/ansible/ansible.cfg 
  4 # config file for ansible -- https://ansible.com/
  5 # ===============================================
  6 
  7 # nearly all parameters can be overridden in ansible-playbook
  8 # or with command line flags. ansible will read ANSIBLE_CONFIG,
  9 # ansible.cfg in the current working directory, .ansible.cfg in
 10 # the home directory or /etc/ansible/ansible.cfg, whichever it
 11 # finds first
 12 
 13 [defaults]
 14 
 15 # some basic default values...
 16 
 17 inventory      = /etc/ansible/hosts
 18 library        = /usr/share/ansible
 19 #module_utils   = /usr/share/my_module_utils/
 20 #remote_tmp     = ~/.ansible/tmp
 21 #local_tmp      = ~/.ansible/tmp
 22 #plugin_filters_cfg = /etc/ansible/plugin_filters.yml
 23 forks          = 5
 24 #poll_interval  = 15
 25 sudo_user      = root
 26 #ask_sudo_pass = True
 27 #ask_pass      = True
 28 #transport      = smart
 29 remote_port    = 22
 30 #module_lang    = C
 31 #module_set_locale = False
 32 
 33 # plays will gather facts by default, which contain information about
 34 # the remote system.
 35 #
 36 # smart - gather by default, but don't regather if already gathered
 37 # implicit - gather by default, turn off with gather_facts: False
 38 # explicit - do not gather by default, must say gather_facts: True
 39 #gathering = implicit
 40 
 41 # This only affects the gathering done by a play's gather_facts directive,
 42 # by default gathering retrieves all facts subsets
 43 # all - gather all subsets
 44 # network - gather min and network facts
 45 # hardware - gather hardware facts (longest facts to retrieve)
 46 # virtual - gather min and virtual facts
 47 # facter - import facts from facter
 48 # ohai - import facts from ohai
 49 # You can combine them using comma (ex: network,virtual)
 50 # You can negate them using ! (ex: !hardware,!facter,!ohai)
 51 # A minimal set of facts is always gathered.
 52 #gather_subset = all
 53 
 54 # some hardware related facts are collected
 55 # with a maximum timeout of 10 seconds. This
 56 # option lets you increase or decrease that
 57 # timeout to something more suitable for the
 58 # environment.
 59 # gather_timeout = 10
 60 
 61 # Ansible facts are available inside the ansible_facts.* dictionary
 62 # namespace. This setting maintains the behaviour which was the default prior
 63 # to 2.5, duplicating these variables into the main namespace, each with a
 64 # prefix of 'ansible_'.
 65 # This variable is set to True by default for backwards compatibility. It
 66 # will be changed to a default of 'False' in a future release.
 67 # ansible_facts.
 68 # inject_facts_as_vars = True
 69 
 70 # additional paths to search for roles in, colon separated
 71 #roles_path    = /etc/ansible/roles
 72 
 73 # uncomment this to disable SSH key host checking
 74 host_key_checking = False
 75 
 76 # change the default callback, you can only have one 'stdout' type  enabled at a time.
 77 #stdout_callback = skippy
 78 
 79 
 80 ## Ansible ships with some plugins that require whitelisting,
 81 ## this is done to avoid running all of a type by default.
 82 ## These setting lists those that you want enabled for your system.
 83 ## Custom plugins should not need this unless plugin author specifies it.
 84 
 85 # enable callback plugins, they can output to stdout but cannot be 'stdout' type.
 86 #callback_whitelist = timer, mail
 87 
 88 # Determine whether includes in tasks and handlers are "static" by
 89 # default. As of 2.0, includes are dynamic by default. Setting these
 90 # values to True will make includes behave more like they did in the
 91 # 1.x versions.
 92 #task_includes_static = False
 93 #handler_includes_static = False
 94 
 95 # Controls if a missing handler for a notification event is an error or a warning
 96 #error_on_missing_handler = True
 97 
 98 # change this for alternative sudo implementations
 99 #sudo_exe = sudo
100 
101 # What flags to pass to sudo
102 # WARNING: leaving out the defaults might create unexpected behaviours
103 #sudo_flags = -H -S -n
104 
105 # SSH timeout
106 timeout = 20
107 
108 # default user to use for playbooks if user is not specified
109 # (/usr/bin/ansible will use current user as default)
110 #remote_user = root
111 
112 # logging is off by default unless this path is defined
113 # if so defined, consider logrotate
114 log_path = /var/log/ansible/ansible.log
115 
116 # default module name for /usr/bin/ansible
117 #module_name = command
118 
119 # use this shell for commands executed under sudo
120 # you may need to change this to bin/bash in rare instances
121 # if sudo is constrained
122 #executable = /bin/sh
123 
124 # if inventory variables overlap, does the higher precedence one win
125 # or are hash values merged together?  The default is 'replace' but
126 # this can also be set to 'merge'.
127 #hash_behaviour = replace
128 
129 # by default, variables from roles will be visible in the global variable
130 # scope. To prevent this, the following option can be enabled, and only
131 # tasks and handlers within the role will see the variables there
132 #private_role_vars = yes
133 
134 # list any Jinja2 extensions to enable here:
135 #jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n
136 
137 # if set, always use this private key file for authentication, same as
138 # if passing --private-key to ansible or ansible-playbook
139 private_key_file = /root/.ssh/id_rsa
140 
141 # If set, configures the path to the Vault password file as an alternative to
142 # specifying --vault-password-file on the command line.
143 #vault_password_file = /path/to/vault_password_file
144 
145 # format of string {{ ansible_managed }} available within Jinja2
146 # templates indicates to users editing templates files will be replaced.
147 # replacing {file}, {host} and {uid} and strftime codes with proper values.
148 #ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}
149 # {file}, {host}, {uid}, and the timestamp can all interfere with idempotence
150 # in some situations so the default is a static string:
151 #ansible_managed = Ansible managed
152 
153 # by default, ansible-playbook will display "Skipping [host]" if it determines a task
154 # should not be run on a host.  Set this to "False" if you don't want to see these "Skipping"
155 # messages. NOTE: the task header will still be shown regardless of whether or not the
156 # task is skipped.
157 #display_skipped_hosts = True
158 
159 # by default, if a task in a playbook does not include a name: field then
160 # ansible-playbook will construct a header that includes the task's action but
161 # not the task's args.  This is a security feature because ansible cannot know
162 # if the *module* considers an argument to be no_log at the time that the
163 # header is printed.  If your environment doesn't have a problem securing
164 # stdout from ansible-playbook (or you have manually specified no_log in your
165 # playbook on all of the tasks where you have secret information) then you can
166 # safely set this to True to get more informative messages.
167 #display_args_to_stdout = False
168 
169 # by default (as of 1.3), Ansible will raise errors when attempting to dereference
170 # Jinja2 variables that are not set in templates or action lines. Uncomment this line
171 # to revert the behavior to pre-1.3.
172 #error_on_undefined_vars = False
173 
174 # by default (as of 1.6), Ansible may display warnings based on the configuration of the
175 # system running ansible itself. This may include warnings about 3rd party packages or
176 # other conditions that should be resolved if possible.
177 # to disable these warnings, set the following value to False:
178 #system_warnings = True
179 
180 # by default (as of 1.4), Ansible may display deprecation warnings for language
181 # features that should no longer be used and will be removed in future versions.
182 # to disable these warnings, set the following value to False:
183 deprecation_warnings = False
184 
185 # (as of 1.8), Ansible can optionally warn when usage of the shell and
186 # command module appear to be simplified by using a default Ansible module
187 # instead.  These warnings can be silenced by adjusting the following
188 # setting or adding warn=yes or warn=no to the end of the command line
189 # parameter string.  This will for example suggest using the git module
190 # instead of shelling out to the git command.
191 # command_warnings = False
192 
193 
194 # set plugin path directories here, separate with colons
195 #action_plugins     = /usr/share/ansible/plugins/action
196 #become_plugins     = /usr/share/ansible/plugins/become
197 #cache_plugins      = /usr/share/ansible/plugins/cache
198 #callback_plugins   = /usr/share/ansible/plugins/callback
199 #connection_plugins = /usr/share/ansible/plugins/connection
200 #lookup_plugins     = /usr/share/ansible/plugins/lookup
201 #inventory_plugins  = /usr/share/ansible/plugins/inventory
202 #vars_plugins       = /usr/share/ansible/plugins/vars
203 #filter_plugins     = /usr/share/ansible/plugins/filter
204 #test_plugins       = /usr/share/ansible/plugins/test
205 #terminal_plugins   = /usr/share/ansible/plugins/terminal
206 #strategy_plugins   = /usr/share/ansible/plugins/strategy
207 
208 
209 # by default, ansible will use the 'linear' strategy but you may want to try
210 # another one
211 #strategy = free
212 
213 # by default callbacks are not loaded for /bin/ansible, enable this if you
214 # want, for example, a notification or logging callback to also apply to
215 # /bin/ansible runs
216 #bin_ansible_callbacks = False
217 
218 
219 # don't like cows?  that's unfortunate.
220 # set to 1 if you don't want cowsay support or export ANSIBLE_NOCOWS=1
221 #nocows = 1
222 
223 # set which cowsay stencil you'd like to use by default. When set to 'random',
224 # a random stencil will be selected for each task. The selection will be filtered
225 # against the `cow_whitelist` option below.
226 #cow_selection = default
227 #cow_selection = random
228 
229 # when using the 'random' option for cowsay, stencils will be restricted to this list.
230 # it should be formatted as a comma-separated list with no spaces between names.
231 # NOTE: line continuations here are for formatting purposes only, as the INI parser
232 #       in python does not support them.
233 #cow_whitelist=bud-frogs,bunny,cheese,daemon,default,dragon,elephant-in-snake,elephant,eyes,\
234 #              hellokitty,kitty,luke-koala,meow,milk,moofasa,moose,ren,sheep,small,stegosaurus,\
235 #              stimpy,supermilker,three-eyes,turkey,turtle,tux,udder,vader-koala,vader,www
236 
237 # don't like colors either?
238 # set to 1 if you don't want colors, or export ANSIBLE_NOCOLOR=1
239 #nocolor = 1
240 
241 # if set to a persistent type (not 'memory', for example 'redis') fact values
242 # from previous runs in Ansible will be stored.  This may be useful when
243 # wanting to use, for example, IP information from one group of servers
244 # without having to talk to them in the same playbook run to get their
245 # current IP information.
246 #fact_caching = memory
247 
248 #This option tells Ansible where to cache facts. The value is plugin dependent.
249 #For the jsonfile plugin, it should be a path to a local directory.
250 #For the redis plugin, the value is a host:port:database triplet: fact_caching_connection = localhost:6379:0
251 
252 #fact_caching_connection=/tmp
253 
254 
255 
256 # retry files
257 # When a playbook fails a .retry file can be created that will be placed in ~/
258 # You can enable this feature by setting retry_files_enabled to True
259 # and you can change the location of the files by setting retry_files_save_path
260 
261 #retry_files_enabled = False
262 #retry_files_save_path = ~/.ansible-retry
263 
264 # squash actions
265 # Ansible can optimise actions that call modules with list parameters
266 # when looping. Instead of calling the module once per with_ item, the
267 # module is called once with all items at once. Currently this only works
268 # under limited circumstances, and only with parameters named 'name'.
269 #squash_actions = apk,apt,dnf,homebrew,pacman,pkgng,yum,zypper
270 
271 # prevents logging of task data, off by default
272 #no_log = False
273 
274 # prevents logging of tasks, but only on the targets, data is still logged on the master/controller
275 #no_target_syslog = False
276 
277 # controls whether Ansible will raise an error or warning if a task has no
278 # choice but to create world readable temporary files to execute a module on
279 # the remote machine.  This option is False by default for security.  Users may
280 # turn this on to have behaviour more like Ansible prior to 2.1.x.  See
281 # https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user
282 # for more secure ways to fix this than enabling this option.
283 #allow_world_readable_tmpfiles = False
284 
285 # controls the compression level of variables sent to
286 # worker processes. At the default of 0, no compression
287 # is used. This value must be an integer from 0 to 9.
288 #var_compression_level = 9
289 
290 # controls what compression method is used for new-style ansible modules when
291 # they are sent to the remote system.  The compression types depend on having
292 # support compiled into both the controller's python and the client's python.
293 # The names should match with the python Zipfile compression types:
294 # * ZIP_STORED (no compression. available everywhere)
295 # * ZIP_DEFLATED (uses zlib, the default)
296 # These values may be set per host via the ansible_module_compression inventory
297 # variable
298 #module_compression = 'ZIP_DEFLATED'
299 
300 # This controls the cutoff point (in bytes) on --diff for files
301 # set to 0 for unlimited (RAM may suffer!).
302 #max_diff_size = 1048576
303 
304 # This controls how ansible handles multiple --tags and --skip-tags arguments
305 # on the CLI.  If this is True then multiple arguments are merged together.  If
306 # it is False, then the last specified argument is used and the others are ignored.
307 # This option will be removed in 2.8.
308 #merge_multiple_cli_flags = True
309 
310 # Controls showing custom stats at the end, off by default
311 #show_custom_stats = True
312 
313 # Controls which files to ignore when using a directory as inventory with
314 # possibly multiple sources (both static and dynamic)
315 #inventory_ignore_extensions = ~, .orig, .bak, .ini, .cfg, .retry, .pyc, .pyo
316 
317 # This family of modules use an alternative execution path optimized for network appliances
318 # only update this setting if you know how this works, otherwise it can break module execution
319 #network_group_modules=eos, nxos, ios, iosxr, junos, vyos
320 
321 # When enabled, this option allows lookups (via variables like {{lookup('foo')}} or when used as
322 # a loop with `with_foo`) to return data that is not marked "unsafe". This means the data may contain
323 # jinja2 templating language which will be run through the templating engine.
324 # ENABLING THIS COULD BE A SECURITY RISK
325 #allow_unsafe_lookups = False
326 
327 # set default errors for all plays
328 #any_errors_fatal = False
329 
330 [inventory]
331 # enable inventory plugins, default: 'host_list', 'script', 'auto', 'yaml', 'ini', 'toml'
332 #enable_plugins = host_list, virtualbox, yaml, constructed
333 
334 # ignore these extensions when parsing a directory as inventory source
335 #ignore_extensions = .pyc, .pyo, .swp, .bak, ~, .rpm, .md, .txt, ~, .orig, .ini, .cfg, .retry
336 
337 # ignore files matching these patterns when parsing a directory as inventory source
338 #ignore_patterns=
339 
340 # If 'true' unparsed inventory sources become fatal errors, they are warnings otherwise.
341 #unparsed_is_failed=False
342 
343 [privilege_escalation]
344 #become=True
345 #become_method=sudo
346 #become_user=root
347 #become_ask_pass=False
348 
349 [paramiko_connection]
350 
351 # uncomment this line to cause the paramiko connection plugin to not record new host
352 # keys encountered.  Increases performance on new host additions.  Setting works independently of the
353 # host key checking setting above.
354 #record_host_keys=False
355 
356 # by default, Ansible requests a pseudo-terminal for commands executed under sudo. Uncomment this
357 # line to disable this behaviour.
358 #pty=False
359 
360 # paramiko will default to looking for SSH keys initially when trying to
361 # authenticate to remote devices.  This is a problem for some network devices
362 # that close the connection after a key failure.  Uncomment this line to
363 # disable the Paramiko look for keys function
364 #look_for_keys = False
365 
366 # When using persistent connections with Paramiko, the connection runs in a
367 # background process.  If the host doesn't already have a valid SSH key, by
368 # default Ansible will prompt to add the host key.  This will cause connections
369 # running in background processes to fail.  Uncomment this line to have
370 # Paramiko automatically add host keys.
371 #host_key_auto_add = True
372 
373 [ssh_connection]
374 
375 # ssh arguments to use
376 # Leaving off ControlPersist will result in poor performance, so use
377 # paramiko on older platforms rather than removing it, -C controls compression use
378 #ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
379 
380 # The base directory for the ControlPath sockets.
381 # This is the "%(directory)s" in the control_path option
382 #
383 # Example:
384 # control_path_dir = /tmp/.ansible/cp
385 #control_path_dir = ~/.ansible/cp
386 
387 # The path to use for the ControlPath sockets. This defaults to a hashed string of the hostname,
388 # port and username (empty string in the config). The hash mitigates a common problem users
389 # found with long hostnames and the conventional %(directory)s/ansible-ssh-%%h-%%p-%%r format.
390 # In those cases, a "too long for Unix domain socket" ssh error would occur.
391 #
392 # Example:
393 # control_path = %(directory)s/%%h-%%r
394 #control_path =
395 
396 # Enabling pipelining reduces the number of SSH operations required to
397 # execute a module on the remote server. This can result in a significant
398 # performance improvement when enabled, however when using "sudo:" you must
399 # first disable 'requiretty' in /etc/sudoers
400 #
401 # By default, this option is disabled to preserve compatibility with
402 # sudoers configurations that have requiretty (the default on many distros).
403 #
404 #pipelining = False
405 
406 # Control the mechanism for transferring files (old)
407 #   * smart = try sftp and then try scp [default]
408 #   * True = use scp only
409 #   * False = use sftp only
410 #scp_if_ssh = smart
411 
412 # Control the mechanism for transferring files (new)
413 # If set, this will override the scp_if_ssh option
414 #   * sftp  = use sftp to transfer files
415 #   * scp   = use scp to transfer files
416 #   * piped = use 'dd' over SSH to transfer files
417 #   * smart = try sftp, scp, and piped, in that order [default]
418 #transfer_method = smart
419 
420 # if False, sftp will not use batch mode to transfer files. This may cause some
421 # types of file transfer failures impossible to catch however, and should
422 # only be disabled if your sftp version has problems with batch mode
423 #sftp_batch_mode = False
424 
425 # The -tt argument is passed to ssh when pipelining is not enabled because sudo 
426 # requires a tty by default. 
427 #usetty = True
428 
429 # Number of times to retry an SSH connection to a host, in case of UNREACHABLE.
430 # For each retry attempt, there is an exponential backoff,
431 # so after the first attempt there is 1s wait, then 2s, 4s etc. up to 30s (max).
432 #retries = 3
433 
434 [persistent_connection]
435 
436 # Configures the persistent connection timeout value in seconds.  This value is
437 # how long the persistent connection will remain idle before it is destroyed.
438 # If the connection doesn't receive a request before the timeout value
439 # expires, the connection is shutdown. The default value is 30 seconds.
440 #connect_timeout = 30
441 
442 # The command timeout value defines the amount of time to wait for a command
443 # or RPC call before timing out. The value for the command timeout must
444 # be less than the value of the persistent connection idle timeout (connect_timeout)
445 # The default value is 30 second.
446 #command_timeout = 30
447 
448 [accelerate]
449 #accelerate_port = 5099
450 #accelerate_timeout = 30
451 #accelerate_connect_timeout = 5.0
452 
453 # The daemon timeout is measured in minutes. This time is measured
454 # from the last activity to the accelerate daemon.
455 #accelerate_daemon_timeout = 30
456 
457 # If set to yes, accelerate_multi_key will allow multiple
458 # private keys to be uploaded to it, though each user must
459 # have access to the system via SSH to add a new key. The default
460 # is "no".
461 #accelerate_multi_key = yes
462 
463 [selinux]
464 # file systems that require special treatment when dealing with security context
465 # the default behaviour that copies the existing context or uses the user default
466 # needs to be changed to use the file system dependent context.
467 #special_context_filesystems=nfs,vboxsf,fuse,ramfs,9p
468 
469 # Set this to yes to allow libvirt_lxc connections to work without SELinux.
470 #libvirt_lxc_noseclabel = yes
471 
472 [colors]
473 #highlight = white
474 #verbose = blue
475 #warn = bright purple
476 #error = red
477 #debug = dark gray
478 #deprecate = purple
479 #skip = cyan
480 #unreachable = red
481 #ok = green
482 #changed = yellow
483 #diff_add = green
484 #diff_remove = red
485 #diff_lines = cyan
486 
487 
488 [diff]
489 # Always print diff when running ( same as always running with -D/--diff )
490 # always = no
491 
492 # Set how many context lines to show in diff
493 # context = 3

 

posted @ 2019-08-21 13:50  七月流星雨  阅读(5588)  评论(0编辑  收藏  举报