ahuffman.sat6_create_hosts
ahuffman.sat6_create_hosts
一个用于在 Satellite 6.x 中创建新的虚拟主机和裸金属主机的 Ansible 角色。需要 Satellite6 API 的 v2 版本。
角色变量
变量名 | 是否必需 | 描述 | 类型 | 默认值 |
---|---|---|---|---|
sat6_fqdn | 是 | Satellite 6 主机的完全合格域名。 | 字符串 | "" |
sat6_user | 是 | 具有创建新主机权限的 Satellite 6 用户名。 | 字符串 | "" |
sat6_pass | 是 | 具有创建新主机权限的 Satellite 6 用户密码。应进行加密以确保安全。 | 字符串 | "" |
sat6_organization | 是 | 要在 sat6_hosts 中定义的 Satellite6 组织,用于创建主机。 |
字符串 | "" |
sat6_fail_on_existing | 否 | 如果 sat6_hosts 中定义的任何主机已存在于 Satellite6,则使 playbook 失败。这在 Ansible Tower 中使用通知时很有用,并且您希望在失败时收到通知。为真时,如果主机存在则失败;为假时,只输出总结,并允许更具幂等性的运行方式(例如,可以反复运行 playbook 并只创建不存在的主机)。 |
布尔值 | 假 |
sat6_power_on_delay | 否 | 在通过计算资源创建新的虚拟机和启动它之间的延迟秒数(以防在外部系统中创建虚拟机时发生竞争条件)。 | 整数 | 30 |
sat6_hosts | 是 | 您希望创建的 Satellite 6 主机 | 字典列表 | [] |
sat6_hosts
字典字段 - 通用
可用于裸金属或虚拟主机创建的字段。
字段名 | 是否必需 | 描述 | 类型 |
---|---|---|---|
name | 是 | 要创建的主机的主机名 | 字符串 |
comment | 否 | 将出现在主机附加信息中的评论。简要描述主机的用途。 | 字符串 |
domain | 否 | 用于创建主机的 Satellite6 域名。如果您希望继承主机组的默认域,则不需要此项,否则将覆盖主机组的默认值。 | 字符串 |
host_group | 是 | 用于创建新主机的 Satellite6 主机组名称。 如果嵌套主机组,则应采用 hostgroup1/hostgroup2/hostgroup3 的形式,该名称在 API 中也称为 title 。 |
字符串 |
ipv4 | 否 | 分配给主机的 IPv4 地址。如果主机组配置为通过 IP 地址管理或 DHCP 建议 IPv4 地址,则不需要此项。 | 字符串 |
location | 是 | 您将在 Satellite6 中部署主机的位置名称。 | 字符串 |
partition_table | 否 | 用于创建主机的 Satellite6 分区表名称。如果您希望继承主机组的默认分区表,则不需要此项。 | 字符串 |
subnet | 否 | 用于创建主机的 Satellite6 子网名称。如果您希望继承主机组的默认子网,则不需要此项。 | 字符串 |
parameters | 否 | 您希望在主机上设置的其他 Satellite6 主机特定参数列表。执行后期配置任务时这很有用,并希望根据这些值使用条件等。 | 字典列表 |
register_only | 否 | 是否仅在 Satellite6 中创建主机条目,而不是实际启动和配置主机(默认为假)。此功能用于除配置外的其他用例(例如,指定位置的客户端注册)。如果使用此方法创建主机,您需要指定计算资源和配置文件,因为它们不会从主机组查询。 | 布尔值 |
manage_host | 否 | 使用 register_only: True 和 force_host_update: True 时,将允许主机的构建周期由 Satellite6 管理。 默认为 False 。 |
|
force_host_update | 否 | 在使用 register_only: True 时,将更新 Satellite6 主机为您指定的选项。默认为 False 。 |
布尔值 |
provision_method | 否 | build 或 image 部署。默认为 build |
字符串 |
sat6_hosts
字典字段 - 虚拟
字段名 | 是否必需 | 描述 | 类型 |
---|---|---|---|
compute_profile | 否 | 您希望用于部署主机的 Satellite6 计算配置文件名称。如果未提供,则将使用主机组的默认配置文件。 | 字符串 |
compute_resource | 是 | 您希望用于部署主机的 Satellite6 计算资源名称。 | 字符串 |
sat6_hosts
字典字段 - 物理
字段名 | 是否必需 | 描述 | 类型 |
---|---|---|---|
mac | 是 | 您希望部署的物理主机的 MAC 地址。 | 字符串 |
sat6_hosts.parameters
字典字段
字段名 | 是否必需 | 描述 | 类型 |
---|---|---|---|
name | 是 | 要创建的参数名称 | 字符串 |
value | 是 | 要创建的参数值 | 字符串 |
调试
要查看完整的调试输出,请在 Ansible Tower 中将详细信息级别提高到 1(详细),或在 Ansible Core/Engine 中使用一个 -v
。
示例 Playbook
---
- name: "ahuffman.sat6_create_hosts 示例 Playbook"
hosts: "localhost"
vars_files:
- "vars/myvaultedsecrets.yml"
tasks:
- name: "配置 Satellite 6 主机"
include_role:
name: "ahuffman.sat6_create_hosts"
vars:
sat6_fqdn: "mysat6server.mydomain.com"
sat6_user: "mysat6admin"
#sat6_pass: "在 vars/myvaultedsecrets.yml 文件中设置"
sat6_organization: "我的组织"
sat6_fail_on_existing: True
#建议将 sat6_hosts 作为额外变量传递,但您也可以将
#sat6_fail_on_existing: False 设置为以更具幂等性的方式运行 playbook,如果您希望
#跟踪您在源控制中创建的所有 sat6 主机
sat6_hosts:
#虚拟机
- name: "my-new-vm"
host_group: "RHEL7-Virtual"
location: "Raleigh"
ipv4: "192.168.122.24"
domain: "redhat.com"
comment: "用于提供酷新网站的 Web 服务器"
compute_resource: "vsphere.vmware.com" #这是您的计算资源名称
compute_profile: "3-Large"
parameters:
- name: "build_type"
value: "httpd"
#裸金属
- name: "my-new-bare-metal"
host_group: "RHEL7-Physical"
location: "Raleigh"
ipv4: "192.168.122.25"
domain: "redhat.com"
comment: "数据库服务器"
mac: "12:34:56:78:91:23"
#仅注册(即仅创建)
- name: "host1"
host_group: "RHEL7-Virtual"
location: "Raleigh"
ipv4: "192.168.122.26"
domain: "redhat.com"
comment: "预注册主机条目"
register_only: True
#更新现有主机(对不起开个玩笑)
- name: "my-new-vm"
host_group: "RHEL7-Virtual"
location: "Armonk"
ipv4: "192.168.122.24"
comment: "迁移 Q3"
domain: "ibm.com"
parameters:
- name: "build_type"
value: "ihs"
register_only: True #表示不要尝试进行配置
force_host_update: True #如果存在则更新主机
#管理当前未管理的现有主机的构建(配置)
- name: "someoldserver"
host_group: "RHEL7-Physical"
mac: "32:34:56:78:91:23"
domain: "redhat.com"
location: "Raleigh"
register_only: True
force_host_update: True
manage_host: True
许可证
作者信息
关于项目
An Ansible role to create new virtual and bare-metal hosts in Satellite 6.x.
安装
ansible-galaxy install ahuffman.sat6_create_hosts
许可证
mit
下载
5.1k