]> git.proxmox.com Git - mirror_ovs.git/blobdiff - Vagrantfile
Add OpenFlow command to flush conntrack table entries.
[mirror_ovs.git] / Vagrantfile
index e8c104de7975b0204dd0183c1ae0dd94df98241b..72f224c6ea4f499ca71759c6df06971d886a329d 100644 (file)
@@ -6,20 +6,36 @@ VAGRANTFILE_API_VERSION = "2"
 Vagrant.require_version ">=1.7.0"
 
 $bootstrap_fedora = <<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`
+dnf -y update
+dnf -y install autoconf automake openssl-devel libtool \
+               python-twisted-core python-zope-interface \
+               desktop-file-utils groff graphviz rpmdevtools nc \
+               wget python-six pyftpdlib checkpolicy selinux-policy-devel \
+               libcap-ng-devel kernel-devel-`uname -r` ethtool
 echo "search extra update built-in" >/etc/depmod.d/search_path.conf
-cd /vagrant
-./boot.sh
+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 \
+               wget python-six ethtool \
+               libcap-ng-dev libssl-dev python-dev openssl \
+               python-pyftpdlib python-flake8 \
+               linux-headers-`uname -r`
 SCRIPT
 
 $configure_ovs = <<SCRIPT
+cd /vagrant
+./boot.sh
 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
@@ -41,20 +57,46 @@ 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_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
 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 = "bento/fedora-23"
        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