6.8. 为 OVN 故障排除命令创建别名

您可以在 ovn_controller 容器中运行 OVN 命令,如 ovn-nbctl show。该容器在 Controller 节点和 Compute 节点上运行。为简化您对命令的访问,请创建并提供定义别名的脚本。

先决条件

  • 使用 ML2/OVN 部署 Red Hat OpenStack Platform 作为默认机制驱动程序。

流程

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

    示例

    $ ssh tripleo-admin@controller-0.ctlplane

  2. 创建一个 shell 脚本文件,其中包含您要运行的 ovn 命令。

    示例

    vi ~/bin/ovn-alias.sh

  3. 添加 ovn 命令,并保存脚本文件。

    示例

    在本例中,ovn-sbctlovn-nbctlovn-trace 命令已添加到别名文件中:

    REMOTE_IP=$(sudo ovs-vsctl get open . external_ids:ovn-remote)
    NBDB=$(echo $REMOTE_IP | sed 's/6642/6641/g')
    SBDB=$REMOTE_IP
    alias ovn-sbctl="sudo podman exec ovn_controller ovn-sbctl --db=$SBDB"
    alias ovn-nbctl="sudo podman exec ovn_controller ovn-nbctl --db=$NBDB"
    alias ovn-trace="sudo podman exec ovn_controller ovn-trace --db=$SBDB"
  4. 在 Compute 主机上重复此流程中的步骤。

验证

  1. Source 脚本文件。

    示例

    # source ovn-alias.sh

  2. 运行命令以确认您的脚本文件正常工作。

    示例

    # ovn-nbctl show

    输出示例

    switch 26ce22db-1795-41bd-b561-9827cbd81778 (neutron-f8e79863-6c58-43d0-8f7d-8ec4a423e13b) (aka internal_network)
    	port 1913c3ae-8475-4b60-a479-df7bcce8d9c8
        	addresses: ["fa:16:3e:33:c1:fc 192.168.254.76"]
    	port 1aabaee3-b944-4da2-bf0a-573215d3f3d9
        	addresses: ["fa:16:3e:16:cb:ce 192.168.254.74"]
    	port 7e000980-59f9-4a0f-b76a-4fdf4e86f27b
        	type: localport
        	addresses: ["fa:16:3e:c9:30:ed 192.168.254.2"]

其他资源

  • ovn-nbctl --help 命令
  • ovn-sbctl --help 命令
  • ovn-trace --help 命令