metalsmith.instance_config 模块

class metalsmith.instance_config.CloudInitConfig(ssh_keys=None, user_data=None, meta_data=None)

基类: GenericConfig

使用 cloud-init 配置目标实例。

GenericConfig 相比,此配置增加了管理用户支持。

变量:
  • ssh_keys – SSH 公钥列表。

  • user_data – 云配置数据,格式为字典。

  • meta_data – 要添加到生成的 meta_data 的字典

add_user(name, admin=True, password_hash=None, sudo=False, **kwargs)

添加要在首次启动时创建的用户。

参数:
  • name – 用户名。

  • admin – 是否将用户添加到管理员组 (wheel)。

  • password_hash – 用户密码哈希,如果需要密码身份验证。

  • sudo – 是否允许用户无需密码即可使用 sudo。

  • kwargs – 其他要传递的参数。

populate_user_data()

获取此配置的用户数据。

获取自定义用户数据,并将请求的用户追加到其中。

返回值:

用户数据,格式为字符串。

class metalsmith.instance_config.GenericConfig(ssh_keys=None, user_data=None, meta_data=None)

基类: object

目标实例的配置。

此对象附加的信息将通过 configdrive 传递到实例的首次启动脚本(例如 cloud-init)。

此类表示与大多数首次启动实现兼容的通用配置。对于特定于 cloud-init 的功能,请使用 CloudInitConfig

变量:
  • ssh_keys – SSH 公钥列表。

  • user_data – 用户数据,格式为字符串。

  • meta_data – 要添加到生成的 meta_data 的字典

generate(node, hostname=None, network_data=None)

生成 configdrive 信息。

参数:
  • nodeNode 对象。

  • hostname – 所需的主机名(默认为节点名称或 ID)。

  • network_data – 网络元数据,格式为字典

返回值:

configdrive 内容,格式为包含键的字典

meta_data

元数据字典

network_data

网络数据,格式为字典

user_data

用户数据,格式为字符串

populate_user_data()

获取此配置的用户数据。

可以重写以提供其他功能。

返回值:

用户数据,格式为字符串。