]>
Commit | Line | Data |
---|---|---|
b56b2566 AZ |
1 | # -*- mode: ruby -*- |
2 | # vi: set ft=ruby : | |
3 | ||
4 | # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! | |
5 | VAGRANTFILE_API_VERSION = "2" | |
3314f01e | 6 | Vagrant.require_version ">=1.7.0" |
b56b2566 AZ |
7 | |
8 | $bootstrap_fedora = <<SCRIPT | |
d64c5e86 MG |
9 | dnf -y update |
10 | dnf -y install autoconf automake openssl-devel libtool \ | |
06c58061 | 11 | python-twisted-core python-zope-interface \ |
e259119c | 12 | desktop-file-utils groff graphviz rpmdevtools nc \ |
6a6b35fc | 13 | wget python-six pyftpdlib checkpolicy selinux-policy-devel \ |
e4f2c621 | 14 | libcap-ng-devel kernel-devel-`uname -r` ethtool |
b56b2566 | 15 | echo "search extra update built-in" >/etc/depmod.d/search_path.conf |
7c127f28 TLSC |
16 | SCRIPT |
17 | ||
18 | $bootstrap_debian = <<SCRIPT | |
19 | aptitude -y update | |
20 | aptitude -y upgrade | |
21 | aptitude -y install -R \ | |
22 | build-essential dpkg-dev lintian devscripts fakeroot \ | |
23 | debhelper dh-autoreconf uuid-runtime \ | |
24 | autoconf automake libtool \ | |
25 | python-all python-twisted-core python-twisted-conch \ | |
26 | xdg-utils groff graphviz netcat \ | |
27 | wget python-six ethtool \ | |
28 | libcap-ng-dev libssl-dev python-dev openssl \ | |
29 | python-pyftpdlib python-flake8 \ | |
30 | linux-headers-`uname -r` | |
b56b2566 AZ |
31 | SCRIPT |
32 | ||
33 | $configure_ovs = <<SCRIPT | |
7c127f28 TLSC |
34 | cd /vagrant |
35 | ./boot.sh | |
3d982663 | 36 | [ -f Makefile ] && ./configure && make distclean |
b56b2566 AZ |
37 | mkdir -p ~/build |
38 | cd ~/build | |
1a523ec4 | 39 | /vagrant/configure --with-linux=/lib/modules/`uname -r`/build --enable-silent-rules |
b56b2566 AZ |
40 | SCRIPT |
41 | ||
42 | $build_ovs = <<SCRIPT | |
43 | cd ~/build | |
44 | make | |
45 | SCRIPT | |
46 | ||
3314f01e AZ |
47 | $test_kmod = <<SCRIPT |
48 | cd ~/build | |
960e99dc | 49 | make check-kmod RECHECK=yes |
3314f01e AZ |
50 | SCRIPT |
51 | ||
b56b2566 AZ |
52 | $install_rpm = <<SCRIPT |
53 | cd ~/build | |
54 | PACKAGE_VERSION=`autom4te -l Autoconf -t 'AC_INIT:$2' /vagrant/configure.ac` | |
55 | make && make dist | |
56 | rpmdev-setuptree | |
57 | cp openvswitch-$PACKAGE_VERSION.tar.gz $HOME/rpmbuild/SOURCES | |
d06c1ff8 | 58 | rpmbuild --bb -D "kversion `uname -r`" /vagrant/rhel/openvswitch-kmod-fedora.spec |
b56b2566 | 59 | rpmbuild --bb --without check /vagrant/rhel/openvswitch-fedora.spec |
3314f01e | 60 | rpm -e openvswitch |
53de7528 | 61 | rpm -ivh $HOME/rpmbuild/RPMS/x86_64/openvswitch-$PACKAGE_VERSION-1.fc23.x86_64.rpm |
3314f01e AZ |
62 | systemctl enable openvswitch |
63 | systemctl start openvswitch | |
64 | systemctl status openvswitch | |
b56b2566 AZ |
65 | SCRIPT |
66 | ||
7c127f28 TLSC |
67 | $install_deb = <<SCRIPT |
68 | cd ~/build | |
69 | PACKAGE_VERSION=`autom4te -l Autoconf -t 'AC_INIT:$2' /vagrant/configure.ac` | |
70 | make dist | |
71 | cd ~/ | |
72 | ln -sf ~/build/openvswitch-$PACKAGE_VERSION.tar.gz openvswitch_$PACKAGE_VERSION.orig.tar.gz | |
73 | rm -rf ~/openvswitch-$PACKAGE_VERSION | |
74 | tar xzf openvswitch_$PACKAGE_VERSION.orig.tar.gz | |
75 | cd ~/openvswitch-$PACKAGE_VERSION | |
76 | debuild -us -uc | |
77 | dpkg -i ../openvswitch-{common,switch}*deb | |
78 | systemctl enable openvswitch-switch | |
79 | systemctl start openvswitch-switch | |
80 | systemctl status openvswitch-switch | |
81 | SCRIPT | |
82 | ||
548f9fe7 DDP |
83 | $test_ovs_system_userspace = <<SCRIPT |
84 | cd ~/build | |
960e99dc | 85 | make check-system-userspace RECHECK=yes |
548f9fe7 DDP |
86 | SCRIPT |
87 | ||
b56b2566 | 88 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| |
7c127f28 TLSC |
89 | config.vm.define "debian-8" do |debian| |
90 | debian.vm.box = "debian/jessie64" | |
91 | debian.vm.synced_folder ".", "/vagrant", type: "rsync" | |
92 | debian.vm.provision "bootstrap", type: "shell", inline: $bootstrap_debian | |
93 | debian.vm.provision "configure_ovs", type: "shell", inline: $configure_ovs | |
94 | debian.vm.provision "build_ovs", type: "shell", inline: $build_ovs | |
95 | debian.vm.provision "test_ovs_kmod", type: "shell", inline: $test_kmod | |
96 | debian.vm.provision "test_ovs_system_userspace", type: "shell", inline: $test_ovs_system_userspace | |
97 | debian.vm.provision "install_deb", type: "shell", inline: $install_deb | |
98 | end | |
53de7528 JS |
99 | config.vm.define "fedora-23" do |fedora| |
100 | fedora.vm.box = "bento/fedora-23" | |
3314f01e AZ |
101 | fedora.vm.provision "bootstrap", type: "shell", inline: $bootstrap_fedora |
102 | fedora.vm.provision "configure_ovs", type: "shell", inline: $configure_ovs | |
103 | fedora.vm.provision "build_ovs", type: "shell", inline: $build_ovs | |
104 | fedora.vm.provision "test_ovs_kmod", type: "shell", inline: $test_kmod | |
548f9fe7 | 105 | fedora.vm.provision "test_ovs_system_userspace", type: "shell", inline: $test_ovs_system_userspace |
3314f01e AZ |
106 | fedora.vm.provision "install_rpm", type: "shell", inline: $install_rpm |
107 | end | |
b56b2566 | 108 | end |