From afa0404c4b3cc0e3a14d30fe7867c68cb19b43ba Mon Sep 17 00:00:00 2001 From: Karol Latecki Date: Thu, 25 Jun 2020 13:18:24 +0200 Subject: [PATCH] Revert "scripts/vagrant: Remove inline shell scripts" This reverts commit 436b9be9d0255bc7a7826afb1b4554b1aee59482. Reason: these change makes Vagrantfile rely on env variables (eg. spdk_dir), which are only set when running scripts/vagrant/create_vbox.sh script. After create_vbox.sh has finished env variables are not accessible, but still needed to work with Vagrantfile using Vagrant commands like 'vagrant ssh' or 'vagrant reload', etc. This results in configuration errors from Vagrant and scripts being unusable. Signed-off-by: Karol Latecki Change-Id: I135c42d248c13dfa93c2210dabce49df8116e8f0 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3055 Reviewed-by: Maciej Wawryk Reviewed-by: Darek Stojaczyk Reviewed-by: Jim Harris Tested-by: SPDK CI Jenkins Community-CI: Mellanox Build Bot --- scripts/vagrant/Vagrantfile | 49 ++++++++++++------- .../vagrant/vagrantfiles/clearlinux_cflags.sh | 9 ---- scripts/vagrant/vagrantfiles/freebsd_proxy.sh | 11 ----- .../vagrant/vagrantfiles/freebsd_spdk_repo.sh | 6 --- scripts/vagrant/vagrantfiles/tsocks_setup.sh | 5 -- 5 files changed, 32 insertions(+), 48 deletions(-) delete mode 100755 scripts/vagrant/vagrantfiles/clearlinux_cflags.sh delete mode 100755 scripts/vagrant/vagrantfiles/freebsd_proxy.sh delete mode 100755 scripts/vagrant/vagrantfiles/freebsd_spdk_repo.sh delete mode 100755 scripts/vagrant/vagrantfiles/tsocks_setup.sh diff --git a/scripts/vagrant/Vagrantfile b/scripts/vagrant/Vagrantfile index 9b64a266b..a66fbef37 100644 --- a/scripts/vagrant/Vagrantfile +++ b/scripts/vagrant/Vagrantfile @@ -74,11 +74,14 @@ Vagrant.configure(2) do |config| # Copy the tsocks configuration file for use when installing some spdk test pool dependencies if File.file?("/etc/tsocks.conf") + $tsocks_copy = <<-SCRIPT + sudo -s + mv -f tsocks.conf /etc/tsocks.conf + chown root /etc/tsocks.conf + chmod 644 /etc/tsocks.conf + SCRIPT config.vm.provision "file", source: "/etc/tsocks.conf", destination: "tsocks.conf" - config.vm.provision "shell" do |setup| - setup.path = "#{spdk_dir}/scripts/vagrant/vagrantfiles/tsocks_setup.sh" - setup.privileged = true - end + config.vm.provision "shell", inline: $tsocks_copy end # vagrant-cachier caches apt/yum etc to speed subsequent @@ -102,11 +105,15 @@ Vagrant.configure(2) do |config| # Proxyconf does not seem to support FreeBSD boxes or at least it's # docs do not mention that. Set up proxy configuration manually. if distro.include?("freebsd") - config.vm.provision "shell" do |setup| - setup.path = "#{spdk_dir}/scripts/vagrant/vagrantfiles/freebsd_proxy.sh" - setup.privileged = true - setup.args = ["#{ENV['http_proxy']}"] - end + $freebsd_proxy = <<-SCRIPT + sudo -s + echo "export http_proxy=#{ENV['http_proxy']}" >> /etc/profile + echo "export https_proxy=#{ENV['http_proxy']}" >> /etc/profile + echo "pkg_env: {http_proxy: #{ENV['http_proxy']}}" > /usr/local/etc/pkg.conf + chown root:wheel /usr/local/etc/pkg.conf + chmod 644 /usr/local/etc/pkg.conf + SCRIPT + config.vm.provision "shell", inline: $freebsd_proxy end end @@ -115,10 +122,14 @@ Vagrant.configure(2) do |config| # To make sources usable in the guest VM we need to unmount them and use # local copy. if distro.include?("freebsd") - config.vm.provision "shell" do |setup| - setup.path = "#{spdk_dir}/scripts/vagrant/vagrantfiles/freebsd_spdk_repo.sh" - setup.privileged = true - end + $freebsd_spdk_repo = <<-SCRIPT + sudo -s + cp -R /home/vagrant/spdk_repo/spdk /tmp/spdk + umount /home/vagrant/spdk_repo/spdk && rm -rf /home/vagrant/spdk_repo/spdk + mv /tmp/spdk /home/vagrant/spdk_repo/spdk + chown -R vagrant:vagrant /home/vagrant/spdk_repo/spdk + SCRIPT + config.vm.provision "shell", inline: $freebsd_spdk_repo end config.ssh.forward_agent = true @@ -241,10 +252,14 @@ Vagrant.configure(2) do |config| # Clear CFLAGS in clear linux if distro == "clearlinux" - config.vm.provision "shell" do |setup| - setup.path = "#{spdk_dir}/scripts/vagrant/vagrantfiles/clearlinux_cflags.sh" - setup.privileged = false - end + $clearcflags = <<-SCRIPT + echo "export CFLAGS=" >> /etc/profile.d/clearcflags.sh + echo "export CFFLAGS=" >> /etc/profile.d/clearcflags.sh + echo "export CXXFLAGS=" >> /etc/profile.d/clearcflags.sh + echo "export FFLAGS=" >> /etc/profile.d/clearcflags.sh + echo "export THEANO_FLAGS=" >> /etc/profile.d/clearcflags.sh + SCRIPT + config.vm.provision "shell", inline: $clearcflags, run: "always" end # Copy in the user's tools if they exists diff --git a/scripts/vagrant/vagrantfiles/clearlinux_cflags.sh b/scripts/vagrant/vagrantfiles/clearlinux_cflags.sh deleted file mode 100755 index 455fa490d..000000000 --- a/scripts/vagrant/vagrantfiles/clearlinux_cflags.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -cat <<- FLAGS >> /etc/profile.d/clearcflags.sh - export CFLAGS= - export CFFLAGS= - export CXXFLAGS= - export FFLAGS= - export THEANO_FLAGS= -FLAGS diff --git a/scripts/vagrant/vagrantfiles/freebsd_proxy.sh b/scripts/vagrant/vagrantfiles/freebsd_proxy.sh deleted file mode 100755 index 7fea0e964..000000000 --- a/scripts/vagrant/vagrantfiles/freebsd_proxy.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -http_proxy=$1 - -cat <<- PROXY >> /etc/profile - export http_proxy=${http_proxy} - export https_proxy=${http_proxy} -PROXY -echo "pkg_env: {http_proxy: ${http_proxy}" > /usr/local/etc/pkg.conf -chown root:wheel /usr/local/etc/pkg.conf -chmod 644 /usr/local/etc/pkg.conf diff --git a/scripts/vagrant/vagrantfiles/freebsd_spdk_repo.sh b/scripts/vagrant/vagrantfiles/freebsd_spdk_repo.sh deleted file mode 100755 index 67fe0b92a..000000000 --- a/scripts/vagrant/vagrantfiles/freebsd_spdk_repo.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -cp -R /home/vagrant/spdk_repo/spdk /tmp/spdk -umount /home/vagrant/spdk_repo/spdk && rm -rf /home/vagrant/spdk_repo/spdk -mv /tmp/spdk /home/vagrant/spdk_repo/spdk -chown -R vagrant:vagrant /home/vagrant/spdk_repo/spdk diff --git a/scripts/vagrant/vagrantfiles/tsocks_setup.sh b/scripts/vagrant/vagrantfiles/tsocks_setup.sh deleted file mode 100755 index 6e98668aa..000000000 --- a/scripts/vagrant/vagrantfiles/tsocks_setup.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -mv -f tsocks.conf /etc/tsocks.conf -chown root /etc/tsocks.conf -chmod 644 /etc/tsocks.conf