Skip to content

yijxiang/DNAC_Ansible_ATX

Repository files navigation

Ansible_ATX

主要是演示Cisco DNA center 与 Ansible互操作。

Python、Ansible、Git 准备工作

Git remote repo 建议使用SSH模式下载和更新上传,利用预先设置 SSH key 可以很方便实现远程repo的同步操作。

ATX demo repo 使用方法

  • Fork 到自己的 github 中;

  • 在本地电脑的项目目录下,运行 git clone 复制项目到本地

    git clone [email protected]:yijxiang/DNAC_Ansible_ATX.git : git clone url-of-your-fork-repo 请修改为自己fork来的链接。因为main.yml 中将执行git push操作,需要对remote repo 有读写权限。

进入到 git clone过程新创建的目录下。

目录、文件说明

文件、目录名称 描述
README.md 本说明文件
api_payload_new_site.json DNAC 中使用Platform-> API-> Try it使用到的payload,用于新创建area site
hosts 定义DNAC主机名字,不需要修改
credential_sample.yml 变量文件,用于定义DNAC访问方法,以其创建新文件credentials.yml,并修改其内容
create_site.yml playbook:用于新创建area
network_device_info.yml playbook:用于获取设备资产信息,例子中有hostname、uuid等信息
config.yml playbook:用于获取设备配置信息,输入信息有 uuid
site_health.yml playbook:用于获取site health,Assurance 使用场景
site_info.yml playbook:用于获取site list,适用于后续需要用到site id等
tag_info.yml playbook:用于获取tag list
main.yml playbook:用于抓取设备配置,并保存到git repo中,可以同步到github
backup 本地设备配置保存目录

Ansible 配置

密码、用户名等配置请修改文件 credential_sample_.yml 并更改文件名为 -> credentials.yml ,该名称将在后续playbook中调用,建议在测试环境中测试使用 ansible playbook,之后在生产环境中实践。

如果密码敏感,则推荐使用Ansible vault。

Ansible Playbook 命令使用方法

ansible-playbook -i hosts main.yml

其中 main.yml 文件替换为其他playbook.yml即可进行测试。

ATX DEMO 中演示的 main.yml playbook 实现几个任务:

  • 从DNAC中获取所有其平台为交换机的资产信息;
  • 保存交换机hostname、uuid 至变量;
  • 从DNAC中获取指定交换机的配置;
  • 并保存该交换机的配置到backup目录;
  • 如果有变化,则通过GIT 更新同步文件至remote github;

参考链接

Releases

No releases published

Packages

No packages published