返回顶部
首页 > 资讯 > 后端开发 > Python >ansible (2.4.2.0) A
  • 430
分享到

ansible (2.4.2.0) A

ansible 2023-01-31 06:01:22 430人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

转自 jumpserver 5.0 测试版本 下载地址 https://GitHub.com/hequan2017/zabbix-models/tree/master/ansible_run 只是简单改了一下 能够单独使用。 目录结构 a

转自 jumpserver 5.0 测试版本 下载地址

https://GitHub.com/hequan2017/zabbix-models/tree/master/ansible_run

只是简单改了一下 能够单独使用。

目录结构

ansible_run/
├── callback.py
├── exceptions.py
├── __init__.py
├── inventory.py
├── runner.py
├── test_inventory.py
└── test_runner.py

下面两个是演示文件

先 pip3 install ansible==2.4.2.0 安装

例子

# -*- coding: utf-8 -*-

from  runner import AdHocRunner, CommandRunner
from  inventory import BaseInventory

def  TestAdHocRunner():
        """
         以yml的形式 执行多个命令
        :return:
        """

        host_data = [
            {
                "hostname": "testserver",
                "ip": "192.168.10.93",
                "port": 22,
                "username": "root",
                "passWord": "password",
            },
        ]
        inventory = BaseInventory(host_data)
        runner = AdHocRunner(inventory)

        tasks = [
            {"action": {"module": "cron","args": "name=\"sync time\" minute=\"*/3\" job=\"/usr/sbin/ntpdate time.nist.Gov &> /dev/null\"" }, "name": "run_cmd"},
            {"action": {"module": "shell", "args": "whoami"}, "name": "run_whoami"},
        ]
        ret = runner.run(tasks, "all")
        print(ret.results_summary)
        print(ret.results_raw)

def TestCommandRunner():
        """
        执行单个命令,返回结果
        :return:
        """

        host_data = [
            {
                "hostname": "testserver",
                "ip": "192.168.10.93",
                "port": 22,
                "username": "root",
                "password": "password",
            },
        ]
        inventory = BaseInventory(host_data)
        runner = CommandRunner(inventory)

        res = runner.execute('pwd', 'all')
        print(res.results_command)
        print(res.results_raw)
        print(res.results_command['testserver']['stdout'])

if __name__ == "__main__":
    TestAdHocRunner()
    TestCommandRunner()
from inventory import BaseInventory

def  Test():
        """
        返回主机信息,组信息,组内主机信息
        :return:
        """
        host_list = [{
            "hostname": "testserver1",
            "ip": "102.1.1.1",
            "port": 22,
            "username": "root",
            "password": "password",
            "private_key": "/tmp/private_key",
            "become": {
                "method": "sudo",
                "user": "root",
                "pass": None,
            },
            "groups": ["group1", "group2"],
            "vars": {"sexy": "yes"},
        }, {
            "hostname": "testserver2",
            "ip": "8.8.8.8",
            "port": 2222,
            "username": "root",
            "password": "password",
            "private_key": "/tmp/private_key",
            "become": {
                "method": "su",
                "user": "root",
                "pass": "123",
            },
            "groups": ["group3", "group4"],
            "vars": {"love": "yes"},
        }]

        inventory = BaseInventory(host_list=host_list)

        print("#"*10 + "Hosts" + "#"*10)
        for host in inventory.hosts:
            print(host)

        print("#" * 10 + "Groups" + "#" * 10)
        for group in inventory.groups:
            print(group)

        print("#" * 10 + "all group hosts" + "#" * 10)
        group = inventory.get_group('all')
        print(group.hosts)

if __name__ == '__main__':
     Test()

--结束END--

本文标题: ansible (2.4.2.0) A

本文链接: https://lsjlt.com/news/190049.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ansible (2.4.2.0) A
    转自 jumpserver 5.0 测试版本 下载地址 https://github.com/hequan2017/zabbix-models/tree/master/ansible_run 只是简单改了一下 能够单独使用。 目录结构 a...
    99+
    2023-01-31
    ansible
  • ansible
    用ansible在客户端上创建一个用户,用户名为test,脚本语言如下:[root@master ansible]# vim 1.yml  --- - name: create_user               /说明代码的作用。可以...
    99+
    2023-01-31
    ansible
  • ansible--roles
    role类似于salt-stack里面的state,state有一定的组织架构。而role则是ansible中playbook的目录组织架构,如果把所有内容都写到playbooks里,可能会导致playbo...
    99+
    2024-04-02
  • ansible + tornado + MongoDB
    http://blog.csdn.net/smallfish2983/article/details/38078019照着上面那哥们写的,初学,不要吐血,基本功能实现了。root@ubuntu12:~/an...
    99+
    2024-04-02
  • ansible--基础
    马哥出品 ansible中文文档:http://www.ansible.com.cn/index.htmlansible介绍:ansible是个什么东西呢?官方的title是“Ansible is Simp...
    99+
    2024-04-02
  • ansible--变量
    ansible中的变量主要来源于以下几种场景:Inventory(host vars,group vars)playbook里面命令行playbook执行task过程中产生结果,可以register起来,作...
    99+
    2024-04-02
  • ansible python api 2
     最近想利用python来调用anbile来实现一些功能,发现ansible的api已经升级到了2.0,使用上比以前复杂了许多。 这里我参考了官方文档的例子,做了一些整改,写了一个python调用ansible的函数,执行过程中输出执行结果...
    99+
    2023-01-31
    ansible python api
  • 3,Ansible---动态Invent
    动态 InventoryCobbler 外部 Inventory 脚本AWS EC2 外部 inventory 脚本其它 inventory 脚本使用多个 inventory 源动态组作为静态组的子组使用配置管理系统经常有一种需求,可能要在...
    99+
    2023-01-31
    动态 Ansible Invent
  • ansible一键安装mysql8.0
    ansbile安装: # ansible在CentOS7中需要安装epel仓库 yum install -y epel-release yum install -y ansible 安装有好几种方法,yum安装是最简单的,安装...
    99+
    2015-12-30
    ansible一键安装mysql8.0
  • ansible 构建 MariaDB Galera Clus
    1、环境,本文只是介绍mxc 的配置,其他配置(全部配置)我会发下载连接 https://down.51cto.com/data/2467920192.168.56.21   ansible 192.168...
    99+
    2024-04-02
  • Ansible怎么部署Tomcat
    这篇文章主要讲解了“Ansible怎么部署Tomcat”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ansible怎么部署Tomcat”吧!Ansible的特性:ansible基于Pytho...
    99+
    2023-06-27
  • Python ansible常用模块
    import ansible.runnerimport ansible.playbookimport ansible.inventoryfrom ansible import callbacksfrom ansible import uti...
    99+
    2023-01-31
    模块 常用 Python
  • Python之 ansible 动态In
    1.Ansible Inventory  介绍;Ansible Inventory 是包含静态 Inventory 和动态 Inventory 两部分的,静态 Inventory 指的是在文件中指定的主机和组,动态 Inventory 指通...
    99+
    2023-01-31
    动态 Python ansible
  • yum如何安装ansible
    这篇文章将为大家详细讲解有关yum如何安装ansible,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。os版本:[root@iz2zecm5evly3vhbie5ik4z ~]# ca...
    99+
    2023-06-05
  • Ansible模块有哪些
    本篇内容介绍了“Ansible模块有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!authorized_keySSH 是 Ansible...
    99+
    2023-06-05
  • Linux下ansible如何安装
    这篇文章给大家分享的是有关Linux下ansible如何安装的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、...
    99+
    2023-06-27
  • Linux下怎么安装Ansible
    本篇内容主要讲解“Linux下怎么安装Ansible”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下怎么安装Ansible”吧!1、yum源安装以centos为例,默认在源里没有ans...
    99+
    2023-06-28
  • 使用kolla-ansible 部署OpenStack
    步骤如下:1. 安装依赖:确保在部署节点上安装了git、ansible和sshpass。使用以下命令安装依赖:```$ sudo a...
    99+
    2023-10-11
    openstack
  • ansible中playbook怎么使用
    在Ansible中,Playbooks是用来描述任务和配置的YAML文件。使用Playbooks可以实现任务的自动化部署和配置。 以...
    99+
    2023-10-24
    ansible playbook
  • Ansible 入门学习笔记
    本文 的主要内容来自ansible官网书籍。 本文采用vagrant软件基于VirtualBox的虚拟机进行自动化管理,先要安装VirtualBox和vagrant两个软件。类似Docker有Dockerfile, Jenkins有Je...
    99+
    2023-01-31
    学习笔记 入门 Ansible
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作