示例:在 Python 配置文件中创建 Junos 快照管理员
此示例演示如何在 Python (jsnapy) 配置文件中创建一些基本的 Junos 快照管理员。本主题中的示例有时会在一行中输入任何其他文本之前使用特定数量的空格。这些空格是正确设置 YAML 文件所必需的。当需要在这些示例中键入用户名和密码时,请将单词 user 替换为有效的用户名,将 <password> 文本替换为有效密码。
要求
服务器上安装了 Python 1.0 版中的 Junos 快照管理员。
概述
本主题介绍如何创建多个 jsnapy 配置文件:
连接到一个特定主机并运行一个特定测试的配置文件
连接到一个特定主机、运行两个测试并通过电子邮件发送结果的配置文件
连接到一组主机、运行一个测试并将快照存储在 SQLite 数据库中的配置文件
Python 配置文件中的 Junos 快照管理员由两个必填部分组成:主机和测试,以及两个可选部分:sqlilte 和 mail。指示 jsnapy 连接到单个主机(使用 Junos PyEZ 和 NETCONF)的配置文件定义配置文件中的主机 IP 地址和凭据,而指示 jsnapy 连接到多个主机的配置文件使用 YAML 文件的包含功能从单独的 YAML 文件中读取主机和凭据列表。要对主机执行的测试始终在单独的 YAML 测试文件中定义,这些文件的名称在配置文件的测试部分中指定。可以指定多个测试文件。
有关测试文件的详细信息,请参阅以下内容:
SQLite 配置在配置文件中完成,而电子邮件配置在单独的邮件配置文件中完成,其名称在配置文件中指定。有关设置 jsnapy 以使用电子邮件的信息,请参阅<了解邮件配置>和<创建邮件配置>。
注释可以通过以井号 (#) 开头的任何位置插入到文件中。
一台主机,一项测试
程序
分步过程
此配置文件需要两个部分:主机和测试。对于此示例,请使用文本编辑器创建名为 configuration_one_host_one_test.yml
的新文件。
创建主机部分。
hosts:
指定 IP 地址和登录凭据。
- device: 192.0.2.12 username: user passwd: <password>
创建测试部分。
tests:
指定要使用的测试文件。
- test_exists.yml
结果
生成的配置文件可以使用命令显示在 cat
终端中。
user@jsnapy-server:~> cat configuration_one_host_one_test.yml hosts: - device: 192.0.2.12 username: user password: <password> tests: - test_exists.yml
一台主机,两次电子邮件测试
程序
分步过程
此配置文件需要三个部分:主机、测试和邮件。对于此示例,请使用文本编辑器创建名为 configuration_one_host_two_tests_e-mail.yml
的新文件。
创建主机部分。
hosts:
指定 IP 地址和登录凭据。
- device: 192.0.2.11 username: user passwd: <password>
创建测试部分。
tests:
指定要使用的测试文件。
- test_not_less.yml - test_not_more.yml
指定电子邮件配置文件。
mail: send_mail.yml
结果
生成的配置文件可以使用命令显示在 cat
终端中。
user@jsnapy-server:~> cat configuration_one_host_two_tests_e-mail.yml hosts: - device: 192.0.2.11 username: user password: <password> tests: - test_not_less.yml - test_not_more.yml mail: send_mail.yml
多个主机,使用 SQLite 数据库存储进行一次测试
程序
分步过程
此配置文件需要三个部分:主机、测试和 sqlite。使用文本编辑器创建名为 configuration_multiple_hosts_one_test_sqlite
的新文件。
创建主机部分。
hosts:
指定包含主机 IP 地址和登录凭据的文件。
- include: devices.yml group: MX
创建测试部分。
tests:
指定要使用的测试文件。
- test_diff.yml
创建 sqlite 部分。
sqlite:
-
配置 sqlite 参数。
- store_in_sqlite: yes check_from_sqlite: yes database_name: jsnapy.db
结果
生成的配置文件可以使用命令显示在 cat
终端中。
user@jsnapy-server:~> cat configuration_multiple_hosts_one_tests_sqlite.yml hosts: - include: devices.yml group: MX tests: - test_diff.yml sqlite: - store_in_sqlite: yes check_from_sqlite: yes database_name: jsnapy.db