mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-17 02:14:54 +00:00
Vagrant tests: set prompts to be more consistent
Also a small amount of cleanup in the way we create VMs - just a bit less repetition. Prompts are always of the form "box:cwd$ ". Even for root. Which is ok because you don't have to be that careful with root because these are VMs that you can destroy and recreate quickly.
This commit is contained in:
parent
13a347239a
commit
b6f2cebf8b
54
Vagrantfile
vendored
54
Vagrantfile
vendored
@ -22,32 +22,32 @@
|
||||
# under the License.
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
config.vm.define "precise", autostart: false do |config|
|
||||
config.vm.define "precise" do |config|
|
||||
config.vm.box = "ubuntu/precise64"
|
||||
ubuntu_common config
|
||||
end
|
||||
config.vm.define "trusty", autostart: false do |config|
|
||||
config.vm.define "trusty" do |config|
|
||||
config.vm.box = "ubuntu/trusty64"
|
||||
ubuntu_common config
|
||||
end
|
||||
config.vm.define "vivid", autostart: false do |config|
|
||||
config.vm.define "vivid" do |config|
|
||||
config.vm.box = "ubuntu/vivid64"
|
||||
ubuntu_common config
|
||||
end
|
||||
config.vm.define "wheezy", autostart: false do |config|
|
||||
config.vm.define "wheezy" do |config|
|
||||
config.vm.box = "debian/wheezy64"
|
||||
deb_common(config)
|
||||
end
|
||||
config.vm.define "jessie", autostart: false do |config|
|
||||
config.vm.define "jessie" do |config|
|
||||
config.vm.box = "debian/jessie64"
|
||||
deb_common(config)
|
||||
end
|
||||
config.vm.define "centos-6", autostart: false do |config|
|
||||
config.vm.define "centos-6" do |config|
|
||||
# TODO switch from chef to boxcutter to provide?
|
||||
config.vm.box = "chef/centos-6.6"
|
||||
rpm_common(config)
|
||||
end
|
||||
config.vm.define "centos-7", autostart: false do |config|
|
||||
config.vm.define "centos-7" do |config|
|
||||
# There is a centos/7 box but it doesn't have rsync or virtualbox guest
|
||||
# stuff on there so its slow to use. So chef it is....
|
||||
# TODO switch from chef to boxcutter to provide?
|
||||
@ -59,11 +59,11 @@ Vagrant.configure(2) do |config|
|
||||
# config.vm.box = "boxcutter/oel66"
|
||||
# rpm_common(config)
|
||||
# end
|
||||
config.vm.define "oel-7", autostart: false do |config|
|
||||
config.vm.define "oel-7" do |config|
|
||||
config.vm.box = "boxcutter/oel70"
|
||||
rpm_common(config)
|
||||
end
|
||||
config.vm.define "fedora-22", autostart: false do |config|
|
||||
config.vm.define "fedora-22" do |config|
|
||||
# Fedora hosts their own 'cloud' images that aren't in Vagrant's Atlas but
|
||||
# and are missing required stuff like rsync. It'd be nice if we could use
|
||||
# them but they much slower to get up and running then the boxcutter image.
|
||||
@ -75,6 +75,33 @@ Vagrant.configure(2) do |config|
|
||||
# the elasticsearch project called vagrant....
|
||||
config.vm.synced_folder ".", "/vagrant", disabled: true
|
||||
config.vm.synced_folder "", "/elasticsearch"
|
||||
if Vagrant.has_plugin?("vagrant-cachier")
|
||||
config.cache.scope = :box
|
||||
end
|
||||
config.vm.defined_vms.each do |name, config|
|
||||
config.options[:autostart] = false
|
||||
set_prompt = lambda do |config|
|
||||
# Sets up a consistent prompt for all users. Or tries to. The VM might
|
||||
# contain overrides for root and vagrant but this attempts to work around
|
||||
# them by re-source-ing the standard prompt file.
|
||||
config.vm.provision "prompt", type: "shell", inline: <<-SHELL
|
||||
cat \<\<PROMPT > /etc/profile.d/elasticsearch_prompt.sh
|
||||
export PS1='#{name}:\\w$ '
|
||||
PROMPT
|
||||
grep 'source /etc/profile.d/elasticsearch_prompt.sh' ~/.bashrc |
|
||||
cat \<\<SOURCE_PROMPT >> ~/.bashrc
|
||||
# Replace the standard prompt with a consistent one
|
||||
source /etc/profile.d/elasticsearch_prompt.sh
|
||||
SOURCE_PROMPT
|
||||
grep 'source /etc/profile.d/elasticsearch_prompt.sh' ~vagrant/.bashrc |
|
||||
cat \<\<SOURCE_PROMPT >> ~vagrant/.bashrc
|
||||
# Replace the standard prompt with a consistent one
|
||||
source /etc/profile.d/elasticsearch_prompt.sh
|
||||
SOURCE_PROMPT
|
||||
SHELL
|
||||
end
|
||||
config.config_procs.push ['2', set_prompt]
|
||||
end
|
||||
end
|
||||
|
||||
def ubuntu_common(config)
|
||||
@ -90,24 +117,17 @@ end
|
||||
def deb_common(config)
|
||||
provision(config, "apt-get update", "/var/cache/apt/archives/last_update",
|
||||
"apt-get install -y", "openjdk-7-jdk")
|
||||
if Vagrant.has_plugin?("vagrant-cachier")
|
||||
config.cache.scope = :box
|
||||
end
|
||||
end
|
||||
|
||||
def rpm_common(config)
|
||||
provision(config, "yum check-update", "/var/cache/yum/last_update",
|
||||
"yum install -y", "java-1.7.0-openjdk-devel")
|
||||
if Vagrant.has_plugin?("vagrant-cachier")
|
||||
config.cache.scope = :box
|
||||
end
|
||||
end
|
||||
|
||||
def dnf_common(config)
|
||||
provision(config, "dnf check-update", "/var/cache/dnf/last_update",
|
||||
"dnf install -y", "java-1.8.0-openjdk-devel")
|
||||
if Vagrant.has_plugin?("vagrant-cachier")
|
||||
config.cache.scope = :box
|
||||
# Autodetect doesn't work....
|
||||
config.cache.auto_detect = false
|
||||
config.cache.enable :generic, { :cache_dir => "/var/cache/dnf" }
|
||||
@ -116,7 +136,7 @@ end
|
||||
|
||||
|
||||
def provision(config, update_command, update_tracking_file, install_command, java_package)
|
||||
config.vm.provision "elasticsearch bats dependencies", type: "shell", inline: <<-SHELL
|
||||
config.vm.provision "bats dependencies", type: "shell", inline: <<-SHELL
|
||||
set -e
|
||||
installed() {
|
||||
command -v $1 2>&1 >/dev/null
|
||||
|
Loading…
x
Reference in New Issue
Block a user