install openvswitch 2.7.0 and ovn on centos 7

前言

主要参考此安装文档 http://docs.openvswitch.org/en/latest/intro/install/fedora/
不过此文档只适用于fedora。

rpm编译

在centos7上编译过程如下:

  1. 安装依赖包

    1
    yum install rpm-build autoconf automake libtool systemd-units openssl openssl-devel python-devel groff graphviz desktop-file-utils python-twisted python-zope-interface python-six procps-ng checkpolicy selinux-policy-devel libcap-ng libcap-ng-devel
  2. 安装额外的依赖包python3-devel。

    1
    2
    rpm -ivh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
    yum install python3-devel
  3. 如果要支持ovs-dpdk,

  4. 初始化环境

    1
    2
    3
    4
    tar xf openvswitch-2.7.0.tar.gz
    cd openvswitch-2.7.0
    ./boot.sh
    ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc
  5. 生成用户态rpm包,

    • 如果不需要dpdk,把–with dpdk去掉。同时,这里去掉了测试。

      1
      make rpm-fedora RPMBUILD_OPT="--with dpdk --without check"
  6. 生成内核态rpm包,

    1
    make rpm-fedora-kmod

生成的包在rpm/rpmbuild/RPMS下,包括ovn相关的。如果只想体验ovs,安装openvswitch-2.7.0-1.el7.centos.x86_64.rpmopenvswitch-kmod-2.7.0-1.el7.centos.x86_64.rpm即可。

rpm安装时的注意事项

  • 如果安装rpm时,提示没有依赖包python2-six/python2-twisted/python2-zope-interface,加参数--nodep跳过依赖(前面其实已经安装了python-six等)
  • openvswitch-ovn依赖firewalld-filesystem,通过yum install firewalld-filesystem安装。