用于解析netplan配置数据的库
netplan的Python项目详细描述
netplan-用于分析netplan配置数据的python库。
说明
此模块解析描述系统的 netplan.io包使用的格式的网络配置。 主解析器是“netplan.parser.parser”类(也导出为 “netplan.parser”);其“parse()”方法返回 “netplan.config.netplan”类(也导出为“netplan.netplan”)。
示例用法
import netplan
p = netplan.Parser()
data = p.parse()
for iface, cfg in data.items():
print('{section}/{name}'.format(section=cfg.section, name=iface)
p = netplan.Parser()
data = p.parse(exclude=['set-mtu.yaml'])
fix = {'version': 2}
for iface, cfg in data.get_all_interfaces(['br-enp4s0']).data.items():
if cfg.get('mtu') != 9000:
if cfg.section not in fix:
fix[cfg.section] = {}
fix[cfg.section][iface] = {'mtu': 9000}
fix = {'network': fix}
with open('/etc/netplan/set-mtu.yaml', mode='w') as f:
print(yaml.dump(fix), file=f, end='')
netplan解析器工具
三种类型的查询-解析接口数据,获取所有相关的
接口,并且只获取与物理相关的接口
可通过命令行netplan-parser
工具获得:
# Show the configuration of all interfaces in YAML format
netplan-parser show
# Show the configuration of the specified interfaces in JSON format
netplan-parser -f json show eno1 eno2.617
# List the names of the interfaces related to the specified one
netplan-parser -f names related eno2.617
# Show the configuration of the physical interfaces related to
# the specified ones
netplan-parser --format=json physical eno2.617 br1-eno1
联系人
python库是由peter pentchev作为 位于StorPool的OpenStack development团队。