从配置驱动器写入静态配置的简单程序

glean的Python项目详细描述


glean是一个程序,用于根据 在configuration drive中提供的配置。

你为什么要收集?

不同的云提供商提供网络的方式不同 以及对来宾虚拟机的其他配置。许多使用dhcp但是 其他的,特别是机架空间,使用通过 配置驱动器。

格里恩做什么?

一般来说,glean会检查基于配置驱动器的信息, 如果找到,使用它来配置网络。如果配置驱动器不是 找到后,它会返回到配置任何可用接口 DHCP。

特别地,它将安装带有标签的特殊块设备 config-2并解析network\u info.jsonvendor\u info.json 中的文件。如果找到适当的网络配置,它将 写出网络配置文件。

网络信息json文件的格式是文档化的here。 请注意,glean并没有实现列出的所有功能。

如果没有找到网络信息,则可以探测可用的接口 从/sys/class/net和任何看起来是up的都将被配置 用于DHCP。

它还将处理授权密钥和主机名信息 元数据.json

格里恩是怎么做到的?

glean确定运行的网络配置环境 平台和适当配置接口。

系统环境

在检测到systemd的平台上,glean install将添加 udev在任何网络上触发的规则文件(99 glean.rules) 正在添加设备。这将运行glean@.服务 指定接口的模板。

这个系统单元首先确定是否已经有 /etc/sysconfig/network/接口的配置;如果是,则 接口被认为已配置并被跳过。

如果不是,则使用触发此事件的接口启动glean 指定为参数。探测配置驱动器以查看 接口的网络配置可用。如果是,它会 添加,否则将为DHCP配置接口。

注意

默认情况下,glean为network init提供配置 脚本服务network.service在redhat平台上(或 与其他平台相同)。你应该确保这项服务 已启用和其他工具(如NetworkManager)已禁用 在此模式下正确操作。关于Fedora 29的说明,这是 在一个单独的包中,网络脚本 已弃用。

或者,将networkmanager与ifcfg rh插件一起使用 要管理接口,请使用 –使用nm标志。在这种情况下,请确保已安装NetworkManager。 这将触发glean来写出 适合与NetworkManager一起使用,并使用稍有不同的 不会触发像ifup这样的传统工具的服务文件。

网络

networkd支持作为单独的分发类型实现。 目前它只在gentoo上受支持,并且将自动 由glean install选择。它同样会安装一个systemd 服务文件或openrc配置文件(gentoo支持这两个文件)和 udev规则调用glean。

其他平台

upstartsysv环境也受支持。这些会有 安装了init脚本以在启动时运行glean。

我该如何使用Glean?

glean ships glean install,一个将glean安装到您的 系统启动环境。它应该处理系统新贵 系统d覆盖所有主要分布。这个应该运行一次, 在安装或映像生成期间。

启动环境将被修改为 配置找到的任何接口。

与cloud init的区别?

glean不同于cloud init,主要是它的依赖性非常小 足迹。在动态ci环境(如openstack)中,许多 cloud init的python依赖项可能导致与包的冲突 或测试所需的版本。

glean还更好地支持配置驱动器中的静态IP分配, 在机架空间环境中尤为重要。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
由于java的原因,maven无法运行代码。lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge   Android项目中的java Creative SDK图像编辑器UI   java如何在Android Studio中使用DataOutputStream上传文件并将其他参数传递到web服务器   java倒计时服务打开时崩溃   java将RubyonRails项目转换为JRubyonRails项目   java我的图库意图是不显示图像?为什么?   java如何在春季启动时跳过mongodb/   java@Autowired在Spring中是如何实现的   甲骨文Akka java。util。同时发生的timeoutexception线程池频繁超时   java maven依赖项对spring启动应用程序有何影响?   java Firestore执行复合查询,未截获事件“已修改”   java ItemStreamException:未能初始化读取器,原因是:IllegalStateException:流已初始化。重新开放前关闭   java将空标记解组到集合的新实例中   使用AspectJ的java新手:无法调用aspect   java查找棋类游戏的所有组合   你为什么要这样做and==与Java中的equals方法不一样吗?   如何对使用JavaUUID的代码进行单元测试?