乐趣区

ansible-笔记

anisble 加载 ansible.cfg 配置文件的顺序

  1. 环境变量 os.getenv(“ANSIBLE_CONFIG”, SENTINEL)
  2. 当前工作目录 cwd_cfg = os.path.join(cwd, “ansible.cfg”)
  3. 用户 home 目录 ~/.ansible.cfg
  4. /etc/ansible/ansible.cfg

魔术变量

MAGIC_VARIABLE_MAPPING = dict(

# base
connection=('ansible_connection',),
module_compression=('ansible_module_compression',),
shell=('ansible_shell_type',),
executable=('ansible_shell_executable',),

# connection common
remote_addr=('ansible_ssh_host', 'ansible_host'),
remote_user=('ansible_ssh_user', 'ansible_user'),
password=('ansible_ssh_pass', 'ansible_password'),
port=('ansible_ssh_port', 'ansible_port'),
pipelining=('ansible_ssh_pipelining', 'ansible_pipelining'),
timeout=('ansible_ssh_timeout', 'ansible_timeout'),
private_key_file=('ansible_ssh_private_key_file', 'ansible_private_key_file'),

# networking modules
network_os=('ansible_network_os',),
connection_user=('ansible_connection_user',),

# ssh TODO: remove
ssh_executable=('ansible_ssh_executable',),
ssh_common_args=('ansible_ssh_common_args',),
sftp_extra_args=('ansible_sftp_extra_args',),
scp_extra_args=('ansible_scp_extra_args',),
ssh_extra_args=('ansible_ssh_extra_args',),
ssh_transfer_method=('ansible_ssh_transfer_method',),

# docker TODO: remove
docker_extra_args=('ansible_docker_extra_args',),

# become
become=('ansible_become',),
become_method=('ansible_become_method',),
become_user=('ansible_become_user',),
become_pass=('ansible_become_password', 'ansible_become_pass'),
become_exe=('ansible_become_exe',),
become_flags=('ansible_become_flags',),

# deprecated
sudo=('ansible_sudo',),
sudo_user=('ansible_sudo_user',),
sudo_pass=('ansible_sudo_password', 'ansible_sudo_pass'),
sudo_exe=('ansible_sudo_exe',),
sudo_flags=('ansible_sudo_flags',),
su=('ansible_su',),
su_user=('ansible_su_user',),
su_pass=('ansible_su_password', 'ansible_su_pass'),
su_exe=('ansible_su_exe',),
su_flags=('ansible_su_flags',),

)

退出移动版