ovirt.manageiq
在oVirt中部署ManageIQ
此角色已迁移至oVirt Ansible Collection,请从那里使用最新版本。此代码库现在为只读,不再用于主动开发。
ovirt.manageiq
角色下载ManageIQ/CloudForms的QCOW镜像并将其部署到oVirt/Red Hat Virtualization (RHV)中。
该角色还允许您创建一个虚拟机并附加ManageIQ磁盘,然后等待ManageIQ系统初始化,并将oVirt注册为基础设施提供者。
注意
请注意,当从Ansible Galaxy安装此角色时,需要运行以下命令:
$ ansible-galaxy install ovirt.manageiq
这将把角色下载到与您在命令行中指定的名称相同的目录,在本例中为ovirt.manageiq
。请注意,名称是区分大小写的,因此如果您指定OVIRT.manageiq
,它将下载相同的角色,但会将其添加到名为OVIRT.manageiq
的目录中,这样您日后始终需要以大写前缀使用此角色。因此,请小心在命令行中指定角色名称。
在RPM安装中,我们安装三个旧名称oVirt.manageiq
,ovirt.manageiq
和ovirt-manageiq
。因此,您可以使用任何这些名称。本文件及本代码库中的示例使用名称ovirt.manageiq
。oVirt.manageiq
和ovirt-manageiq
角色名称已被弃用。
要求
- oVirt版本必须为4.0.4或更高。
- Ansible版本必须为2.9或更高。
- 必须安装并运行ovirt-imageio。
- oVirt Python SDK版本4。
此外,请执行以下检查以确保所需进程正在运行。
- 检查
ovirt-imageio-proxy
是否在引擎上运行:
systemctl status ovirt-imageio-proxy
- 检查
ovirt-imageio-daemon
是否在主机上运行:
systemctl status ovirt-imageio-daemon
您还需要引擎的CA证书。为此,请将ovirt_ca
变量配置为CA证书的路径。
限制
- 我们不支持Ansible检查模式(干运行),因为此角色使用了几个模块(命令模块),它们不支持此模式。一旦此角色使用的所有模块都支持它,我们将支持此模式。
角色变量
QCOW变量:
名称 | 默认值 | 描述 |
---|---|---|
miq_qcow_url | http://releases.manageiq.org/manageiq-ovirt-hammer-6.qc2 | ManageIQ QCOW镜像的URL。 |
miq_image_path | /tmp/ | QCOW2镜像下载的路径。如果目录,则使用远程服务器上URL的基本名称。 |
miq_image_checksum | UNDEF | 如果定义了校验和,下载后将计算目标文件的哈希值以确保其完整性,并验证传输是否成功。格式::,例如checksum="sha256:D98291AC[...]B6DC7B97"。 |
引擎登录变量:
名称 | 默认值 | 描述 |
---|---|---|
engine_user | UNDEF | 访问引擎的用户。 |
engine_password | UNDEF | 'engine_user'的密码。 |
engine_fqdn | UNDEF | 引擎的FQDN。 |
engine_ca | UNDEF | 引擎的CA证书路径。 |
虚拟机变量:
名称 | 默认值 | 描述 |
---|---|---|
miq_vm_name | manageiq_gaprindashvili-3 | ManageIQ虚拟机的名称。 |
miq_vm_cluster | Default | 虚拟机的集群。 |
miq_vm_memory | 16GiB | 虚拟机的系统内存。 |
miq_vm_memory_guaranteed | UNDEF | 虚拟机的最小保证内存。miq_vm_memory_guaranteed参数不能低于miq_vm_memory参数。 |
miq_vm_memory_max | UNDEF | 虚拟机内存的上限,可以进行热插拔。 |
miq_vm_cpu | 4 | 虚拟机CPU内核的数量。 |
miq_vm_cpu_shares | UNDEF | 为此虚拟机设置CPU共享。 |
miq_vm_cpu_sockets | UNDEF | 虚拟机的虚拟CPU插槽数量。 |
miq_vm_cpu_threads | UNDEF | 虚拟机的虚拟CPU线程数量。 |
miq_vm_os | rhel_7x64 | 虚拟机的操作系统。 |
miq_vm_root_password | miq_app_password |
虚拟机的root密码。 |
miq_vm_cloud_init | UNDEF | 传递给虚拟机的云初始化字典。 |
miq_vm_high_availability | true | 如果是,则ManageIQ虚拟机将设为高可用。 |
miq_vm_high_availability_priority | 50 | 指示虚拟机在运行和迁移队列中的优先级。值为0到100之间的整数,值越高,优先级越高。 |
miq_vm_delete_protected | true | 如果是,则ManageIQ虚拟机将设为删除保护。 |
miq_debug_create | false | 如果为真,记录敏感数据,便于调试。 |
miq_wait_for_ip_version | v4 | 指定应等待哪个IP版本。可选v4或v6。 |
miq_wait_for_ip_timeout | 240 | 剧本应等待IP报告的最大时间。 |
虚拟机主磁盘变量(例如:操作系统):
名称 | 默认值 | 描述 |
---|---|---|
miq_vm_disk_name | miq_vm_name |
虚拟机磁盘的名称。 |
miq_vm_disk_storage | UNDEF | 磁盘的目标存储域。 |
miq_vm_disk_size | QCOW磁盘的大小 | 虚拟机磁盘的大小。 |
miq_vm_disk_interface | virtio_scsi | 虚拟机磁盘接口类型。 |
miq_vm_disk_format | cow | 虚拟机磁盘的格式。 |
虚拟机额外磁盘(例如:数据库、日志、临时):命名为miq_vm_disks
的字典允许描述每个额外磁盘(请参见示例剧本)。请注意,这只在CFME中有效。
对于每个磁盘,可以设置以下属性:
名称 | 默认值 | 描述 |
---|---|---|
name | miq_vm_name _type |
虚拟机磁盘的名称。 |
size | UNDEF | 虚拟机磁盘的大小(XXGiB )。 |
interface | virtio_scsi | 虚拟机磁盘接口类型(virtio 或virtio_scsi )。建议使用virtio_scsi ,因为virtio 的磁盘数量限制较低。 |
format | UNDEF | 虚拟机磁盘的格式(raw 或cow )。 |
timeout | UNDEF | 磁盘创建的超时。 |
虚拟机网络接口卡变量:
名称 | 默认值 | 描述 |
---|---|---|
miq_vm_nics | {'name': 'nic1', 'profile_name': 'ovirtmgmt', 'interaface': 'virtio'} | 定义虚拟机网络接口的字典列表。 |
miq_vm_nics
列表中的每个项可以包含以下属性:
名称 | 默认值 | 描述 |
---|---|---|
name | UNDEF | 网络接口的名称。 |
interface | UNDEF | 网络接口的类型。 |
mac_address | UNDEF | 网络接口的自定义MAC地址,默认从MAC池获取。 |
profile_name | UNDEF | 附加到虚拟机网络接口的虚拟网络接口配置文件。 |
ManageIQ变量:
名称 | 默认值 | 描述 |
---|---|---|
miq_app_username | admin | 用于登录ManageIQ的用户名。 |
miq_app_password | smartvm | 用于登录ManageIQ的用户密码。 |
miq_username | admin | miq_app_username 的别名(向后兼容)。 |
miq_password | smartvm | miq_app_password 的别名(向后兼容)。 |
miq_db_username | root | 连接数据库的用户名。 |
miq_db_password | miq_app_password |
用于连接数据库的用户密码。 |
miq_region | 0 | 在数据库中创建的ManageIQ地区。注意:仅适用于CFME。 |
miq_company | My Company | appliance的公司名称。 |
miq_disabled_roles | [] | 在appliance上禁用的ManageIQ服务器角色列表。 |
miq_enabled_roles | [] | 在appliance上启用的ManageIQ服务器角色列表。 |
在ManageIQ和CloudForms中,默认启用的服务器角色为:
automate
- 自动化引擎database_operations
- 数据库操作event
- 事件监控ems_inventory
- 提供者库存ems_operations
- 提供者操作reporting
- 报告scheduler
- 调度程序smartstate
- 智能状态分析user_interface
- 用户界面websocket
- Websocketweb_services
- Web服务
RHV提供者和RHV指标变量:
名称 | 默认值 | 描述 |
---|---|---|
miq_rhv_provider_name | RHV provider | 在ManageIQ中显示的RHV提供者名称。 |
metrics_fqdn | UNDEF | oVirt/RHV指标的FQDN。 |
metrics_user | engine_history | 连接指标服务器的用户。 |
metrics_password | "" | metrics_user 的密码。 |
metrics_port | 5432 | 连接到oVirt/RHV指标的端口。 |
metrics_db_name | ovirt_engine_history | oVirt引擎指标数据库的数据库名称。 |
依赖关系
无。
示例剧本
请注意,对于密码,您应使用Ansible vault。
以下是如何部署CFME的示例:
- name: 将CFME部署到oVirt引擎
hosts: localhost
gather_facts: no
vars_files:
# 包含使用ansible-vault加密的`engine_password`变量
- passwords.yml
vars:
engine_fqdn: ovirt-engine.example.com
engine_user: admin@internal
miq_qcow_url: https://cdn.example.com/cfme-rhevm-5.9.1.2-1.x86_64.qcow2
miq_vm_name: cfme_59
miq_vm_cluster: mycluster
miq_vm_cloud_init:
host_name: "{{ miq_vm_name }}"
miq_vm_disks:
database:
name: "{{ miq_vm_name }}_database"
size: 10GiB
interface: virtio_scsi
format: raw
log:
name: "{{ miq_vm_name }}_log"
size: 10GiB
interface: virtio_scsi
format: cow
tmp:
name: "{{ miq_vm_name }}_tmp"
size: 10GiB
interface: virtio_scsi
format: cow
miq_disabled_roles:
- smartstate
miq_enabled_roles:
- notifier
- ems_metrics_coordinator
- ems_metrics_collector
- ems_metrics_processor
- embedded_ansible
roles:
- ovirt.manageiq
以下是如何部署ManageIQ的示例:
---
- name: oVirt ManageIQ部署
hosts: localhost
connection: local
gather_facts: false
vars_files:
# 包含使用ansible-vault加密的`engine_password`和`metrics_password`变量
- passwords.yml
vars:
engine_fqdn: ovirt.example.com
engine_user: admin@internal
engine_cafile: /etc/pki/ovirt-engine/ca.pem
miq_qcow_url: http://releases.manageiq.org/manageiq-ovirt-hammer-6.qc2
miq_vm_name: manageiq_hammer6
miq_vm_cluster: mycluster
metrics_fqdn: metrics.example.com
metrics_port: 8443
metrics_user: admin
roles:
- ovirt.manageiq