vagrant: make sure to bootstrap before configure_ovs.
authorMotonori Shindo <motonori@shin.do>
Fri, 9 Jan 2015 09:31:51 +0000 (18:31 +0900)
committerThomas Graf <tgraf@noironetworks.com>
Fri, 9 Jan 2015 11:08:59 +0000 (12:08 +0100)
The order of execution in Vagrantfile is "outside-in" meaning that
all commands in outer scope are executed first and then the commands
in inner scope. Because of this ordering, "configure_ovs" is executed
before "bootstrap_fedora", resulting in "configure_ovs" to fail as
it is not bootsrapped yet. This change fixes this problem by removing
the nested scope in Vagrant.configure block. Multi-machine is not used
so we don't need config.vm.define block.

Signed-off-by: Motonori Shindo <motonori@shin.do>
Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
Vagrantfile

index 982eb01..82b157c 100644 (file)
@@ -10,6 +10,8 @@ yum -y install autoconf automake openssl-devel libtool \
                python-twisted-core python-zope-interface PyQt4 \
               desktop-file-utils groff graphviz rpmdevtools
 echo "search extra update built-in" >/etc/depmod.d/search_path.conf
+cd /vagrant
+./boot.sh
 SCRIPT
 
 $configure_ovs = <<SCRIPT
@@ -38,11 +40,8 @@ sudo systemctl status openvswitch
 SCRIPT
 
 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
-  config.vm.define "fedora-20" do |fedora|
-    fedora.vm.box = "chef/fedora-20"
-    fedora.vm.provision :shell, inline: $bootstrap_fedora
-  end
-
+  config.vm.box = "chef/fedora-20"
+  config.vm.provision "bootstrap", type: "shell", inline: $bootstrap_fedora
   config.vm.provision "configure_ovs", type: "shell", inline: $configure_ovs, privileged: false
   config.vm.provision "build_ovs", type: "shell", inline: $build_ovs, privileged: false
   config.vm.provision "install_rpm", type: "shell", inline: $install_rpm, privileged: false