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.manageiqovirt.manageiqovirt-manageiq。因此,您可以使用任何这些名称。本文件及本代码库中的示例使用名称ovirt.manageiqoVirt.manageiqovirt-manageiq角色名称已被弃用。

要求

此外,请执行以下检查以确保所需进程正在运行。

  • 检查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 虚拟机磁盘接口类型(virtiovirtio_scsi)。建议使用virtio_scsi,因为virtio的磁盘数量限制较低。
format UNDEF 虚拟机磁盘的格式(rawcow)。
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 - Websocket
  • web_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
关于项目

Role to deploy ManageIQ/CloudForms into oVirt/RHV.

安装
ansible-galaxy install ovirt.manageiq
许可证
apache-2.0
下载
15.2k
拥有者
Open Virtual Datacenter