On Mon, Nov 4, 2019 at 12:46 AM Flavio Fernandes <fla...@flaviof.com> wrote:
>
> Stop usage of python2 as ovs+ovn no longer support it.
> Update vagrant boxes to the following revisions:
>
> - Debian: buster (from jessie)
> - Fedora: v31 (from v29)
> - Centos: 8 (from 7, kinda**)
>
> Centos 7 may still be used, but only if explicitly
> provided in command: 'vagrant up centos-7'
>
> Fedora-31's dnf is not reliable. This patch
> uses a max retry loop to improve the odds of success.
>
> Not all tests are passing when doing 'make check' and
> that is not related to this change [1].
> While provisioning will invoke 'make check', failures will
> be ignored based on this variable: exit_rc_when_failed.
>
> The provisioning does not yet include building rpms+deb
> packages.
>
> [1]: https://github.com/ovn-org/ovn/issues/23
>
> Signed-off-by: Flavio Fernandes <fla...@flaviof.com>

Thanks. I applied this to master.

Numan

> ---
> Vagrantfile | 96 +++++++++++++++++++++++++++++++++++++----------------
>  1 file changed, 68 insertions(+), 28 deletions(-)
>
> diff --git a/Vagrantfile b/Vagrantfile
> index 07ed0b0e0..88c981c71 100644
> --- a/Vagrantfile
> +++ b/Vagrantfile
> @@ -6,41 +6,58 @@ VAGRANTFILE_API_VERSION = "2"
>  Vagrant.require_version ">=1.7.0"
>
>  $bootstrap_ovs_fedora = <<SCRIPT
> -dnf -y update
> -dnf -y install autoconf automake openssl-devel libtool \
> -               python-devel python3-devel \
> -               python-twisted python-zope-interface \
> +#dnf -y update ||:  ; # save your time. "vagrant box update" is your friend
> +
> +# loop to deal with flaky dnf
> +cnt=0
> +until [ $cnt -ge 3 ] ; do
> +   dnf -y -vvv install autoconf automake openssl-devel libtool \
> +               python3-devel \
> +               python3-twisted python3-zope-interface python3-six \
>                 desktop-file-utils groff graphviz rpmdevtools nc curl \
> -               wget python-six pyftpdlib checkpolicy selinux-policy-devel \
> +               wget pyftpdlib checkpolicy selinux-policy-devel \
>                 libcap-ng-devel kernel-devel-`uname -r` ethtool python-tftpy \
>                 lftp
> +   if [ "$?" -eq 0 ]; then break ; fi
> +   (( cnt++ ))
> +   >&2 echo "Sad panda: dnf failed ${cnt} times."
> +done
> +
>  echo "search extra update built-in" >/etc/depmod.d/search_path.conf
>  SCRIPT
>
>  $bootstrap_ovs_debian = <<SCRIPT
> -aptitude -y update
> -aptitude -y upgrade
> -aptitude -y install -R \
> -                build-essential dpkg-dev lintian devscripts fakeroot \
> -                debhelper dh-autoreconf uuid-runtime \
> -                autoconf automake libtool \
> -                python-all python-twisted-core python-twisted-conch \
> -                xdg-utils groff graphviz netcat curl \
> -                wget python-six ethtool \
> -                libcap-ng-dev libssl-dev python-dev openssl \
> -                python-pyftpdlib python-flake8 python-tftpy \
> -                linux-headers-`uname -r` \
> -                lftp
> +update-alternatives --install /usr/bin/python python /usr/bin/python3 1
> +apt-get update
> +#apt-get -y upgrade  ; # save your time. "vagrant box update" is your friend
> +apt-get -y install build-essential fakeroot graphviz autoconf automake bzip2 
> \
> +                   debhelper dh-autoreconf libssl-dev libtool openssl procps 
> \
> +                   python-all python-qt4 python-twisted-conch 
> python-zopeinterface \
> +                   python-six libcap-ng-dev libunbound-dev
>  SCRIPT
>
> -$bootstrap_ovs_centos = <<SCRIPT
> -yum -y update
> +$bootstrap_ovs_centos7 = <<SCRIPT
> +yum -y update  ; # save your time. "vagrant box update" is your friend
>  yum -y install autoconf automake openssl-devel libtool \
> -               python-twisted-core python-zope-interface \
> +               python3-devel python3-twisted-core python3-zope-interface \
>                 desktop-file-utils groff graphviz rpmdevtools nc curl \
>                 wget python-six pyftpdlib checkpolicy selinux-policy-devel \
>                 libcap-ng-devel kernel-devel-`uname -r` ethtool net-tools \
>                 lftp
> +pip3 install six
> +SCRIPT
> +
> +$bootstrap_ovs_centos = <<SCRIPT
> +dnf -y update ||:  ; # save your time. "vagrant box update" is your friend
> +dnf -y install autoconf automake openssl-devel libtool \
> +               python3-devel \
> +               python3-twisted python3-zope-interface python3-six \
> +               desktop-file-utils graphviz rpmdevtools nc curl \
> +               wget checkpolicy selinux-policy-devel \
> +               libcap-ng-devel kernel-devel-`uname -r` ethtool \
> +               lftp
> +echo "search extra update built-in" >/etc/depmod.d/search_path.conf
> +pip3 install pyftpdlib tftpy
>  SCRIPT
>
>  $configure_ovs = <<SCRIPT
> @@ -78,12 +95,17 @@ SCRIPT
>
>  $test_ovn = <<SCRIPT
>  cd ~/build/ovn
> -make check RECHECK=yes
> +exit_rc_when_failed=0 ; # make this non-zero to halt provision
> +make check RECHECK=yes || {
> +   >&2 echo "ERROR: CHECK FAILED $?"
> +   exit ${exit_rc_when_failed}
> +}
>  SCRIPT
>
>  Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
> -  config.vm.define "debian-8" do |debian|
> -       debian.vm.box = "debian/jessie64"
> +  config.vm.define "debian-10" do |debian|
> +       debian.vm.hostname = "debian-10"
> +       debian.vm.box = "debian/buster64"
>         debian.vm.synced_folder ".", "/vagrant", disabled: true
>         debian.vm.synced_folder ".", "/vagrant/ovn", type: "rsync"
>         debian.vm.synced_folder "../ovs", "/vagrant/ovs", type: "rsync"
> @@ -97,8 +119,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
>         debian.vm.provision "build_ovn", type: "shell", inline: $build_ovn
>         debian.vm.provision "test_ovn", type: "shell", inline: $test_ovn
>    end
> -  config.vm.define "fedora-29" do |fedora|
> -       fedora.vm.box = "fedora/29-cloud-base"
> +  config.vm.define "fedora-31" do |fedora|
> +       fedora.vm.hostname = "fedora-31"
> +       fedora.vm.box = "fedora/31-cloud-base"
>         fedora.vm.synced_folder ".", "/vagrant", disabled: true
>         fedora.vm.synced_folder ".", "/vagrant/ovn", type: "rsync"
>         fedora.vm.synced_folder "../ovs", "/vagrant/ovs", type: "rsync"
> @@ -112,8 +135,25 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
>         fedora.vm.provision "build_ovn", type: "shell", inline: $build_ovn
>         fedora.vm.provision "test_ovn", type: "shell", inline: $test_ovn
>    end
> -  config.vm.define "centos-7" do |centos|
> -       centos.vm.box = "centos/7"
> +  config.vm.define "centos-7", autostart: false do |centos7|
> +       centos7.vm.hostname = "centos-7"
> +       centos7.vm.box = "centos/7"
> +       centos7.vm.synced_folder ".", "/vagrant", disabled: true
> +       centos7.vm.synced_folder ".", "/vagrant/ovn", type: "rsync"
> +       centos7.vm.synced_folder "../ovs", "/vagrant/ovs", type: "rsync"
> +       centos7.vm.provision "bootstrap_ovs", type: "shell",
> +                           inline: $bootstrap_ovs_centos7
> +       centos7.vm.provision "configure_ovs", type: "shell",
> +                           inline: $configure_ovs
> +       centos7.vm.provision "build_ovs", type: "shell", inline: $build_ovs
> +       centos7.vm.provision "configure_ovn", type: "shell",
> +                           inline: $configure_ovn
> +       centos7.vm.provision "build_ovn", type: "shell", inline: $build_ovn
> +       centos7.vm.provision "test_ovn", type: "shell", inline: $test_ovn
> +  end
> +  config.vm.define "centos-8" do |centos|
> +       centos.vm.hostname = "centos-8"
> +       centos.vm.box = "generic/centos8"
>         centos.vm.synced_folder ".", "/vagrant", disabled: true
>         centos.vm.synced_folder ".", "/vagrant/ovn", type: "rsync"
>         centos.vm.synced_folder "../ovs", "/vagrant/ovs", type: "rsync"
> --
> 2.17.1
>
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to