]> git.proxmox.com Git - mirror_ovs.git/blobdiff - Vagrantfile
ovsdb: Remove break after OVS_NOT_REACHED.
[mirror_ovs.git] / Vagrantfile
index 03e8693a6fea97b5494a1a8bfe007afeeb1e5f72..28e9219b8c728d7030e54816f81386b6c99e8321 100644 (file)
@@ -6,20 +6,47 @@ VAGRANTFILE_API_VERSION = "2"
 Vagrant.require_version ">=1.7.0"
 
 $bootstrap_fedora = <<SCRIPT
+dnf -y update
+dnf -y install autoconf automake openssl-devel libtool \
+               python-devel python3-devel \
+               python-twisted python-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 python-tftpy
+echo "search extra update built-in" >/etc/depmod.d/search_path.conf
+SCRIPT
+
+$bootstrap_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`
+SCRIPT
+
+$bootstrap_centos = <<SCRIPT
 yum -y update
 yum -y install autoconf automake openssl-devel libtool \
-               python-twisted-core python-zope-interface PyQt4 \
-               desktop-file-utils groff graphviz rpmdevtools \
-               kernel-devel-`uname -r`
-echo "search extra update built-in" >/etc/depmod.d/search_path.conf
-cd /vagrant
-./boot.sh
+               python-twisted-core python-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
 SCRIPT
 
 $configure_ovs = <<SCRIPT
+cd /vagrant
+./boot.sh
+[ -f Makefile ] && ./configure && make distclean
 mkdir -p ~/build
 cd ~/build
-/vagrant/configure --with-linux=/lib/modules/`uname -r`/build
+/vagrant/configure --with-linux=/lib/modules/`uname -r`/build --enable-silent-rules
 SCRIPT
 
 $build_ovs = <<SCRIPT
@@ -29,7 +56,7 @@ SCRIPT
 
 $test_kmod = <<SCRIPT
 cd ~/build
-make check-kmod
+make check-kmod RECHECK=yes
 SCRIPT
 
 $install_rpm = <<SCRIPT
@@ -41,19 +68,77 @@ cp openvswitch-$PACKAGE_VERSION.tar.gz $HOME/rpmbuild/SOURCES
 rpmbuild --bb -D "kversion `uname -r`" /vagrant/rhel/openvswitch-kmod-fedora.spec
 rpmbuild --bb --without check /vagrant/rhel/openvswitch-fedora.spec
 rpm -e openvswitch
-rpm -ivh $HOME/rpmbuild/RPMS/x86_64/openvswitch-$PACKAGE_VERSION-1.fc20.x86_64.rpm
+rpm -ivh $HOME/rpmbuild/RPMS/x86_64/openvswitch-$PACKAGE_VERSION-1.fc23.x86_64.rpm
+systemctl enable openvswitch
+systemctl start openvswitch
+systemctl status openvswitch
+SCRIPT
+
+$install_centos_rpm = <<SCRIPT
+cd ~/build
+PACKAGE_VERSION=`autom4te -l Autoconf -t 'AC_INIT:$2' /vagrant/configure.ac`
+make && make dist
+rpmdev-setuptree
+cp openvswitch-$PACKAGE_VERSION.tar.gz $HOME/rpmbuild/SOURCES
+rpmbuild --bb -D "kversion `uname -r`" /vagrant/rhel/openvswitch-kmod-fedora.spec
+rpmbuild --bb --without check /vagrant/rhel/openvswitch-fedora.spec
+rpm -e openvswitch
+rpm -ivh $HOME/rpmbuild/RPMS/x86_64/openvswitch-$PACKAGE_VERSION-1.x86_64.rpm
 systemctl enable openvswitch
 systemctl start openvswitch
 systemctl status openvswitch
 SCRIPT
 
+$install_deb = <<SCRIPT
+cd ~/build
+PACKAGE_VERSION=`autom4te -l Autoconf -t 'AC_INIT:$2' /vagrant/configure.ac`
+make dist
+cd ~/
+ln -sf ~/build/openvswitch-$PACKAGE_VERSION.tar.gz openvswitch_$PACKAGE_VERSION.orig.tar.gz
+rm -rf ~/openvswitch-$PACKAGE_VERSION
+tar xzf openvswitch_$PACKAGE_VERSION.orig.tar.gz
+cd ~/openvswitch-$PACKAGE_VERSION
+debuild -us -uc
+dpkg -i ../openvswitch-{common,switch}*deb
+systemctl enable openvswitch-switch
+systemctl start openvswitch-switch
+systemctl status openvswitch-switch
+SCRIPT
+
+$test_ovs_system_userspace = <<SCRIPT
+cd ~/build
+make check-system-userspace RECHECK=yes
+SCRIPT
+
 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
-  config.vm.define "fedora-20" do |fedora|
-       fedora.vm.box = "chef/fedora-20"
+  config.vm.define "debian-8" do |debian|
+       debian.vm.box = "debian/jessie64"
+       debian.vm.synced_folder ".", "/vagrant", type: "rsync"
+       debian.vm.provision "bootstrap", type: "shell", inline: $bootstrap_debian
+       debian.vm.provision "configure_ovs", type: "shell", inline: $configure_ovs
+       debian.vm.provision "build_ovs", type: "shell", inline: $build_ovs
+       debian.vm.provision "test_ovs_kmod", type: "shell", inline: $test_kmod
+       debian.vm.provision "test_ovs_system_userspace", type: "shell", inline: $test_ovs_system_userspace
+       debian.vm.provision "install_deb", type: "shell", inline: $install_deb
+  end
+  config.vm.define "fedora-23" do |fedora|
+       fedora.vm.box = "fedora/23-cloud-base"
+       fedora.vm.synced_folder ".", "/vagrant", type: "rsync"
        fedora.vm.provision "bootstrap", type: "shell", inline: $bootstrap_fedora
        fedora.vm.provision "configure_ovs", type: "shell", inline: $configure_ovs
        fedora.vm.provision "build_ovs", type: "shell", inline: $build_ovs
        fedora.vm.provision "test_ovs_kmod", type: "shell", inline: $test_kmod
+       fedora.vm.provision "test_ovs_system_userspace", type: "shell", inline: $test_ovs_system_userspace
        fedora.vm.provision "install_rpm", type: "shell", inline: $install_rpm
   end
+  config.vm.define "centos-7" do |centos|
+       centos.vm.box = "centos/7"
+       centos.vm.synced_folder ".", "/vagrant", type: "rsync"
+       centos.vm.provision "bootstrap", type: "shell", inline: $bootstrap_centos
+       centos.vm.provision "configure_ovs", type: "shell", inline: $configure_ovs
+       centos.vm.provision "build_ovs", type: "shell", inline: $build_ovs
+       centos.vm.provision "test_ovs_kmod", type: "shell", inline: $test_kmod
+       centos.vm.provision "test_ovs_system_userspace", type: "shell", inline: $test_ovs_system_userspace
+       centos.vm.provision "install_rpm", type: "shell", inline: $install_centos_rpm
+  end
 end