Nornir 项目下载及安装教程
1. 项目介绍
Nornir 是一个纯 Python 编写的自动化框架,旨在直接从 Python 代码中进行操作。与大多数使用自己的领域特定语言(DSL)的自动化框架不同,Nornir 允许您完全通过 Python 控制一切。这种方法的一个显著优势是易于调试:如果出现问题,您可以直接使用 Python 的现有调试工具(例如 import pdb; pdb.set_trace()
)。Nornir 负责处理您的库存管理,并管理将任务分派到您的节点和设备的工作。
2. 项目下载位置
您可以从以下 GitHub 仓库下载 Nornir 项目:
3. 项目安装环境配置
环境要求
- Python 3.8 或更高版本
环境配置示例
以下是一个简单的环境配置示例,假设您已经安装了 Python 3.8 或更高版本。
-
安装 Python:
- 访问 Python 官方网站 下载并安装 Python 3.8 或更高版本。
-
安装 pip:
- 确保您的系统上已安装
pip
,Python 的包管理工具。
- 确保您的系统上已安装
-
安装依赖:
- 使用
pip
安装 Nornir 及其依赖项。
- 使用
pip install nornir
环境配置图片示例
4. 项目安装方式
使用 pip 安装
pip install nornir
从源码安装
如果您想从源码安装 Nornir,可以按照以下步骤操作:
- 克隆 GitHub 仓库:
git clone https://github.com/nornir-automation/nornir.git
- 进入项目目录:
cd nornir
- 使用
poetry
安装:
poetry install
5. 项目处理脚本
以下是一个简单的 Nornir 脚本示例,用于连接到设备并执行命令:
from nornir import InitNornir
from nornir_netmiko.tasks import netmiko_send_command
from nornir_utils.plugins.functions import print_result
# 初始化 Nornir
nr = InitNornir(config_file="config.yaml")
# 定义任务
def my_task(task):
result = task.run(task=netmiko_send_command, command_string="show version")
return result
# 运行任务
results = nr.run(task=my_task)
# 打印结果
print_result(results)
配置文件示例 (config.yaml
)
inventory:
plugin: SimpleInventory
options:
host_file: "inventory/hosts.yaml"
group_file: "inventory/groups.yaml"
defaults_file: "inventory/defaults.yaml"
库存文件示例 (inventory/hosts.yaml
)
r1:
hostname: 192.168.1.1
platform: cisco_ios
username: admin
password: cisco
通过以上步骤,您可以成功下载、安装并运行 Nornir 项目。