batfish.base

Batfish的Ansible角色

Intentionet创建了这个Ansible角色,以使用户能够将BatfishBatfish Enterprise的预部署验证嵌入到任何Ansible剧本中。这个角色在Ansible Galaxy上以batfish.base的形式提供。该角色包含一组Ansible模块,用于分析整个(或部分)网络的配置文件,允许用户提取配置数据,并以完全与供应商无关的方式进行网络范围的验证测试。

模块概述

该角色中包含的一些模块有:

请参阅文档以获取完整的模块列表及其文档,以及打包您的网络快照的说明

示例

下面的示例剧本概述了如何使用batfish.base角色提取网络中所有设备的接口列表。查看教程以获取更多示例。

---
- name: 使用Batfish和Ansible提取网络设备事实
  hosts: localhost
  connection: local
  gather_facts: no
  roles:
    - batfish.base

  tasks:

  - name: 设置与Batfish服务的连接
    bf_session:
      host: localhost
      name: local_batfish

  - name: 初始化示例网络
    bf_init_snapshot:
      network: example_network
      snapshot: example_snapshot
      snapshot_data: ../networks/example
      overwrite: true

  - name: 获取Batfish事实
    bf_extract_facts:
      output_directory: data/bf_facts
    register: bf_facts

  - name: 显示所有节点上所有接口的配置
    debug: msg=" {{item.value.Interfaces}} "
    with_dict: "{{bf_facts.result.nodes}}"
    loop_control:
      label: " {{item.key}}.Interfaces "
    when: bf_facts.failed|bool == false

注意:要连接到Batfish Enterprise服务,只需在设置任务的parameters:下添加session_type: bfe,例如:

  - name: 设置与Batfish Enterprise服务的连接
    bf_session:
      host: localhost
      name: local_batfish
      parameters:
        session_type: bfe

依赖

此模块需要在Ansible控制机器上安装以下软件包:

  • Python 3.6或3.7

  • Ansible >=2.7 <=2.9.9

  • requirements.txt中列出的Batfish模块要求

    • 要安装这些要求,请运行:
      python3 -m pip install -r https://raw.githubusercontent.com/batfish/ansible/master/requirements.txt
      
  • Batfish服务和客户端

    • 对于开源用户:要安装Batfish和Pybatfish,您可以使用batfish设置剧本或运行以下命令来更新和运行Batfish:

      python3 -m pip install --upgrade pybatfish
      docker pull batfish/allinone
      docker run -v batfish-data:/data -p 8888:8888 -p 9997:9997 -p 9996:9996 batfish/allinone
      
    • 对于企业用户:请遵循与Batfish Enterprise一起提供的说明

安装

确保满足上述依赖, 然后从Ansible Galaxy获取最新版本的角色。

ansible-galaxy install --force batfish.base

许可证

Apache 2.0

支持

有关错误报告和功能请求,您可以:

贡献者

Intentionet正在为这个存储库贡献和维护。

关于项目

Ansible modules for Batfish (www.batfish.org)

安装
ansible-galaxy install batfish.base
许可证
apache-2.0
下载
8.8k
拥有者