6.11. 验证 ML2/OVN 部署

验证 Red Hat OpenStack Platform (RHOSP)部署上的 ML2/OVN 网络包括创建测试网络和子网,并执行诊断任务,如验证 specfic 容器是否正在运行。

先决条件

流程

  1. 创建测试网络和子网。

    NETWORK_ID=\
    $(openstack network create internal_network | awk '/\| id/ {print $4}')
    
    openstack subnet create internal_subnet \
    --network $NETWORK_ID \
    --dns-nameserver 8.8.8.8 \
    --subnet-range 192.168.254.0/24

    如果您遇到错误,请执行以下步骤。

  2. 验证相关容器是否在 Controller 主机上运行:

    1. 以具有访问 OVN 容器所需的权限的用户身份登录到 Controller 主机。

      示例

      $ ssh heat-admin@controller-0.ctlplane

    2. 输入以下命令:

      sudo podman ps -a --format="{{.Names}}"|grep ovn

      如以下示例所示,输出应该列出 OVN 容器:

      输出示例

      ovn-dbs-bundle-podman-0
      ovn_dbs_init_bundle
      ovn_controller

  3. 验证相关容器是否在 Compute 主机上运行:

    1. 以具有访问 OVN 容器所需的权限的用户身份登录到 Compute 主机。

      示例

      $ ssh heat-admin@compute-0.ctlplane

    2. 输入以下命令:

      $ sudo podman ps -a --format="{{.Names}}"|grep ovn

      如以下示例所示,输出应该列出 OVN 容器:

      输出示例

      ovn_controller
      ovn_metadata_agent
      neutron-haproxy-ovnmeta-26f493a7-1141-416a-9288-f08ff45fccac
      neutron-haproxy-ovnmeta-b81bd1f1-0ff4-4142-8706-0f295db3c3af

  4. 检查日志文件中的错误消息。

     grep -r ERR /var/log/containers/openvswitch/ /var/log/containers/neutron/
  5. 提供别名文件以运行 OVN 数据库命令。

    更多信息请参阅 第 6.8 节 “为 OVN 故障排除命令创建别名”

    示例

    $ source ~/ovn-alias.sh

  6. 查询 northbound 和 southbound 数据库以检查响应。

    示例

    # ovn-nbctl show
    # ovn-sbctl show

  7. 尝试从同一第 2 层网络上的 OVN 元数据接口 ping 实例。

    更多信息请参阅 第 6.5 节 “在 ML2/OVN 命名空间中执行基本 ICMP 测试”

  8. 如果您需要联系红帽以获取支持,请执行此红帽解决方案中介绍的步骤,如何收集红帽支持所需的所有日志以调查 OpenStack 问题

其他资源