ansible-completion

Basic bash completion for Ansible
授权协议 GPL-3.0 License
开发语言 SHELL
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 钱弘壮
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ansible-completion

Provide a bash completion on host name, module name and options for ansible.

Important

As of Ansible 2.9, you can add shell completion of the Ansible command line utilities by installing an optional dependency called argcomplete. argcomplete supports bash, and has limited support for zsh and tcsh.

The difference with the official auto-completion is ansible-completion support completion of the hosts, based on the inventory file, and modules.The official auto-completion is however much more up-to-date with all the arguments names.

Installation

  1. Get the ansible-completion.bash file.

  2. Copy/move the ansible-completion.bash in your bash_completion.dfolder (/etc/bash_completion.d, /usr/local/etc/bash_completion.dor ~/bash_completion.d).

  3. Or copy/move it where you want and then load the ansible-completion.bash file in your ~/.bashrc or ~/.profile like that:source ~/ansible-completion.bash

  4. Reload your shell with something like source ~/.bashrc or source ~/.profile

Note for OSX

  1. Clone the repo, install bash an auto-completion2 with homebew: brew install bash bash-completion2

  2. Change your terminal bash to a homebrew one by setting the command option to /usr/local/bin/bash

  3. Add the following code to your ~/.profile:

    if [ -f $(brew --prefix)/share/bash-completion/bash_completion ]; then
      . $(brew --prefix)/share/bash-completion/bash_completion
    fi
    
  4. Create a symbolik link for ansible-completion.bash:

    ln -vs ~/soft/ansible-completion/ansible-completion.bash /usr/local/share/bash-completion/completions/ansible
    

Good to know

If the --module-path (-M) or --inventory-file (-i) is on the command line, the completion will use it.

For the completion on module name, the completion script build a cache of modules names.

You can set the cache timeout with the environement variable ANSIBLE_COMPLETION_CACHE_TIMEOUT, the default value is 120 seconds.

Contributors

  • 剧本的作用:可以一键化完成多个任务 剧本的组成部分 演员信息 hosts 干的事情 tasks 剧本编写规范:pyyaml——三点要求 合理的信息缩进 在ansible中一定不能用tab进行缩进 冒号的使用方法 hosts: 172.16.1.41 tasks: yum: name=xx 使用冒号时后面要有空格信息 以冒号结尾,冒号信息出现在注释说明中,后面不需要加上空格 短横线应用 -(列表功

  • 写着写着就偷懒了,里面运行了很多shell脚本,后面我会把那些脚本全部符在后面。 别学我,初学者还是能用Ansible-playbook模块尽可能使用。 - hosts: test   remote_user: root   gather_facts: false   tasks:   - name: set disabled selinux     lineinfile:        dest

  • 通过ansible-playbook,批量部署LNMP环境。 下面是部署mysql的信息: mysql_basedir: /usr/local/mysql/ 源码目录 mysql_datadir: /data/mysql/ 数据目录 mysql_user: mysql

  • 通过ansible-playbook,以源码编译方式部署nginx。 将所有部署nginx主机分为webserver组: # vim /etc/ansible/hosts [webserver] 192.168.30.128 192.168.30.129 192.168.30.130   创建管理目录: # mkdir -p nginx/roles/nginx_install/{files,h

  • 基于OpenStack Ussuri版,源码下载地址: # git clone https://github.com/openstack/kolla-ansible -b stable/ussuri 相关命令: # kolla-ansible -i ./multinode bootstrap-servers # kolla-ansible -i ./multinode prechecks # k

  • 通过ansible-playbook,批量部署tomcat。 将所有部署tomcat的主机分为javaserver组: # vim /etc/ansible/hosts [javaserver] 192.168.30.128 192.168.30.129 192.168.30.130 创建管理目录: # mkdir -p tomcat/roles/tomcat_install/{files,ha

  • 通过ansible-playbook,以源码编译方式部署php。 将所有部署php主机分为webserver组: # vim /etc/ansible/hosts [webserver] 192.168.30.128 192.168.30.129 192.168.30.130 创建管理目录: # mkdir -p php/roles/php_install/{files,handlers,me

  • 通过ansible-playbook,以二进制包方式批量部署mysql。 将所有部署mysql主机分为dbserver组: # vim /etc/ansible/hosts [dbserver] 192.168.30.128 192.168.30.129 192.168.30.130 创建管理目录: # mkdir -p mysql/roles/mysql_install/{files,han

  • 首先简单说明一下playbook,playbook是什么呢? 根本上说playbook和shell脚本没有任何的区别,playbook就像shell一样,也是把一堆的命令组合起来,然后加入对应条件判断等等,在shell脚本中是一条一条的命令,而在playbook中是一个一个的task任务构成,每个task任务可以看做shell中的一条命令;shell脚本一般只是在当前服务器上执行,而playboo

  • 通过ansible-playbook,以源码编译方式部署nginx。 将所有部署nginx主机分为webserver组: # vim /etc/ansible/hosts [webserver] 192.168.30.128 192.168.30.129 192.168.30.130 创建管理目录: # mkdir -p nginx/roles/nginx_install/{files,han

  • 工作中学习的kolla-ansible用法 1. 添加module ansible/library/test.py,用法就在EXAMPLES中 #!/usr/bin/env python DOCUMENTATION = ''' --- module: test short_description: This is a test module description: - This is

  • 9.1 插件 9.1.1 插件介绍 ansible插件是增强ansible的核心功能的代码片段,ansible使用插件架构来实现丰富,灵活和可扩展的功能集。 Ansible提供了许多方便的插件,您可以轻松编写自己的插件。 下边简单介绍Ansible包含的各种插件(插件具体用法请参考官方文档或者ansible-doc): action插件 Action插件与模块一起执行PlayBook任务所需的操作

  • SSH 长连接 vim /etc/ansible/ansible.cfg ssh_args = -C -o ControlMaster=auto -o ControlPersist=7200s · 开启 SSH 流水线功能 SSH pipelining 是一个加速 Ansible 执行速度的简单方法,默认是关闭的。之所以默认关闭是为了兼容不同的 sudo 配置,主要是 requiretty 选项

  • https://www.jianshu.com/p/19b8d185c770 转载于:https://www.cnblogs.com/heaven-xi/p/10527755.html

 相关资料
  • 在我們成功利用 Vagrant 模擬出所需的環境後,接下來就可以開始使用 Ansible 這套自動化工具來進行部署了。

  • Ansible Engine 什么是 Ansible Ansible 是一款开源自动化平台,它是一款简单自动化语言,能够在 Ansible Playbook 中完美地描述 IT 基础架构。它同时提供了一个自动化引擎用来执行 Asible Playbook。 Ansible 具有多个重要的优点: 跨平台支持 - Ansible 提供 Linux、Windows、UNIX 和网络设备的无代理支持,适用

  • Ansible 提供一种最简单的方式用于发布、管理和编排计算机系统的工具,你可在数分钟内搞定。 Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用 SSH 进行远程连接。无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展。

  • 认识ansible tower 我们先来点点鼠标看看tower中都有什么,不过在点鼠标之前心中应该有数,所有的功能都不会脱离三大类 用户权限管理 执行ansible playbook(ansible管理员节点)需要配置的 统计信息 当然,ansible管理节点需要配置的东西较多,也是tower的主体功能,所以涉及的页面也会多一样。 回顾下安装后的第一个页面(如下图)。 主要版面 页面的主要版面是D

  • Ansible Tower是一个中心化的管理节点网站,需要解决企业级的 用户的两个难题,一个是直接在每个管理员自己的电脑上放置ssh有安全的隐患,另外一个是如果有新管理员加入,面对海量的机群配置ssh连接有工作量巨大,效率低下。 作为一个ansilbe管理节点网站,那么它自然应该具备两个方面的功能: 像其它管理网站一样,具有用户的创建和权限管理的功能; 像ansible管理节点一样,配置远程主机的

  • 可以配置什麼? 从基本的,主机目录文件”inventory”,extra module放置路径”library” ,远程主机的临时文件位置” remote_tmp” ,管理节点上临时文件的位置”local_tmp” inventory = /etc/ansible/hosts library = /usr/share/my_modules/ remote_tmp =

  • 什么是Ansible Module? bash无论在命令行上执行,还是bash脚本中,都需要调用cd、ls、copy、yum等命令;module就是Ansible的“命令”,module是ansible命令行和脚本中都需要调用的。常用的Ansible module有yum、copy、template等。 在bash,调用命令时可以跟不同的参数,每个命令的参数都是该命令自定义的;同样,ansible

  • 本文向大家介绍ansible 在MacOS上安装Ansible,包括了ansible 在MacOS上安装Ansible的使用技巧和注意事项,需要的朋友参考一下 示例 有两种主要方法可以使用Homebrew或Pip软件包管理器在OS X上安装Ansible。 如果您有自制软件,则可以使用以下命令安装最新的Ansible: 要安装Ansible 1.9.X分支,请使用以下命令: 要安装Ansible