• aiops时代, 10分钟学会用AIAnsbile去调试ansible任务


    AIAnsible:

    aiansible地址:
    https://github.com/sunnycloudy/aiansible

    调试ansible, 用ai自动注释,自动分析报错,自动给出建议

    技术问答:

    qq群: 937374915

    ai提示效果/example:

    默认是中文版,中文版效果:

    在这里插入图片描述!

    如果要设置成英文版:

    export AIANSIBLE_LANG=EN
    

    或在aiansible中用":cn"或":en"命令切换:

    在这里插入图片描述

    安装并开始使用 :

    • (1) 下载和安装:
      git clone https://github.com/sunnycloudy/aiansible.git
      cd aiansible
      pip install .  #=> 会生成插件目录: ~/.aiansible_plugin
    
    • (2) 安装依赖:
    pip install  -r requirements.txt
    
    • (3) 创建一个:debug.cfg
    [defaults]
    callback_plugins = ~/.aiansible_plugin
    callbacks_enabled = aiansible.py
    
    • (4) 配置ai参数:

    使用配置文件(推荐)

    如果不设置就没有ai提示功能,

    创建配置文件位置: ~/.aiansible_plugin/config.yml

    openai:
      api_key: https://api.moonshot.cn/v1 #或者其他兼容openai的api地址
      api_url: your_openai_api_url_here #或者其他兼容openai的key
      model: moonshot-v1-8k #或者其他兼容openai的model名
    

    或者使用环境变量配置ai

    export OPENAI_API_URL=https://api.moonshot.cn/v1  #或者其他兼容openai的api地址
    export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx #或者其他兼容openai的key
    export OPENAI_MODEL=moonshot-v1-8k #或者其他兼容openai的model名
    
    • (5) 运行:
    # 在debug.cfg中配置好插件
    export ANSIBLE_CONFIG=./debug.cfg
    ansible-playbook  xxx_playbook.yml
    

    基本使用说明/basic usage:

    :cn            设置语言为中文
    :en            设置语言为英文
    i              对当前执行的任务代码进行注释
    ir             对当前执行的任务代码进行注释, 再分析一下运行结果, 再给出改进建议
    ask            请根据当前ansible任务:回答问题
    n    next      运行下一个任务
    m              不再在紧接着的同一个任务处停留
    c    continue  继续运行直到下一个断点
    b              创建断点
    p              查看已经创建的断点
    d    delete    删除断点
    bt             查看已经运行过哪些任务了
    code           查看正在运行的任务的代码
    v              用vscode打开对应文件
    a    arg       查看所有参数, 或单个参数 (在任务没有被skipped的前提下)
    ?    help      查看使用说明
    exit           退出
    

    查看当前任务的运行结果:

    Aiansible(CN) => result._result
    {'msg': 'Check roles/kubespray-defaults/defaults/main.yml', '_ansible_verbose_always': True, '_ansible_no_log': False, 'changed': False}
    
  • 相关阅读:
    JVM内存模型与垃圾回收
    超级明星们的人物化身 NFT 将来到 The Sandbox 元宇宙
    Brain Teaser计算类 - 双败淘汰制
    Jenkins一站成魔【1】传统安装与说明
    分布式事务解决方案
    Android Platform Architecture 安卓平台架构
    ECMAScript 6.0
    Java 下载excel文件
    做了大量数据分析,数据分析思维还有没有意义
    Object转List<>,转List<Map<>>
  • 原文地址:https://blog.csdn.net/nujnus9221/article/details/139331384