-
-
Save onlyhavecans/d5250722d560f19a4a66 to your computer and use it in GitHub Desktop.
Attempting to converge a freebsd node with test-kitchen 1.4.0
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bitm@D3-SD-MBP ~/C/fish-shell (master|✔)> kitchen destroy all | |
-----> Starting Kitchen (v1.4.0) | |
-----> Destroying <default-centos-66>... | |
Finished destroying <default-centos-66> (0m0.00s). | |
-----> Destroying <default-freebsd-93>... | |
Finished destroying <default-freebsd-93> (0m0.00s). | |
-----> Destroying <default-freebsd-101>... | |
==> default: Forcing shutdown of VM... | |
==> default: Destroying VM and associated drives... | |
Vagrant instance <default-freebsd-101> destroyed. | |
Finished destroying <default-freebsd-101> (0m4.85s). | |
-----> Destroying <source-centos-66>... | |
Finished destroying <source-centos-66> (0m0.00s). | |
-----> Destroying <source-freebsd-93>... | |
Finished destroying <source-freebsd-93> (0m0.00s). | |
-----> Destroying <source-freebsd-101>... | |
Finished destroying <source-freebsd-101> (0m0.00s). | |
-----> Kitchen is finished. (0m5.63s) | |
bitm@D3-SD-MBP ~/C/fish-shell (master|✔)> kitchen converge default-freebsd-101 -l debug | |
-----> Starting Kitchen (v1.4.0) | |
D [Vagrant command] BEGIN (vagrant --version) | |
D [Vagrant command] END (0m0.16s) | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 library loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
-----> Creating <default-freebsd-101>... | |
D <default-freebsd-101> is synchronizing on Kitchen::Driver::Vagrant#create | |
D <default-freebsd-101> is messaging Kitchen::Driver::Vagrant#create | |
D Creating Vagrantfile for <default-freebsd-101> (/Users/bitm/Code/fish-shell/.kitchen/kitchen-vagrant/kitchen-fish-shell-default-freebsd-101/Vagrantfile) | |
D ------------ | |
D Vagrant.configure("2") do |c| | |
D c.berkshelf.enabled = false if Vagrant.has_plugin?("vagrant-berkshelf") | |
D c.vm.box = "opscode-freebsd-10.1" | |
D c.vm.box_url = "https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_freebsd-10.1_chef-provisionerless.box" | |
D c.vm.hostname = "default-freebsd-101" | |
D c.vm.synced_folder ".", "/vagrant", disabled: true | |
D c.vm.provider :virtualbox do |p| | |
D end | |
D end | |
D ------------ | |
D [Vagrant command] BEGIN (vagrant up --no-provision --provider virtualbox) | |
Bringing machine 'default' up with 'virtualbox' provider... | |
==> default: Importing base box 'opscode-freebsd-10.1'... | |
==> default: Matching MAC address for NAT networking... | |
==> default: Setting the name of the VM: kitchen-fish-shell-default-freebsd-101_default_1431471906292_60329 | |
==> default: Fixed port collision for 22 => 2222. Now on port 2201. | |
==> default: Clearing any previously set network interfaces... | |
==> default: Preparing network interfaces based on configuration... | |
default: Adapter 1: nat | |
==> default: Forwarding ports... | |
default: 22 => 2201 (adapter 1) | |
==> default: Booting VM... | |
==> default: Waiting for machine to boot. This may take a few minutes... | |
default: SSH address: 127.0.0.1:2201 | |
default: SSH username: vagrant | |
default: SSH auth method: private key | |
default: Warning: Connection timeout. Retrying... | |
default: Warning: Connection timeout. Retrying... | |
default: Warning: Remote connection disconnect. Retrying... | |
The configured shell (config.ssh.shell) is invalid and unable | |
to properly execute commands. The most common cause for this is | |
using a shell that is unavailable on the system. Please verify | |
you're using the full path to the shell and that the shell is | |
executable by the SSH user. | |
D [Vagrant command] END (0m41.58s) | |
>>>>>> ------Exception------- | |
>>>>>> Class: Kitchen::ActionFailed | |
>>>>>> Message: Failed to complete #create action: [Expected process to exit with [0], but received '1' | |
---- Begin output of vagrant up --no-provision --provider virtualbox ---- | |
STDOUT: Bringing machine 'default' up with 'virtualbox' provider... | |
==> default: Importing base box 'opscode-freebsd-10.1'... | |
==> default: Matching MAC address for NAT networking... | |
==> default: Setting the name of the VM: kitchen-fish-shell-default-freebsd-101_default_1431471906292_60329 | |
==> default: Fixed port collision for 22 => 2222. Now on port 2201. | |
==> default: Clearing any previously set network interfaces... | |
==> default: Preparing network interfaces based on configuration... | |
default: Adapter 1: nat | |
==> default: Forwarding ports... | |
default: 22 => 2201 (adapter 1) | |
==> default: Booting VM... | |
==> default: Waiting for machine to boot. This may take a few minutes... | |
default: SSH address: 127.0.0.1:2201 | |
default: SSH username: vagrant | |
default: SSH auth method: private key | |
default: Warning: Connection timeout. Retrying... | |
default: Warning: Connection timeout. Retrying... | |
default: Warning: Remote connection disconnect. Retrying... | |
STDERR: The configured shell (config.ssh.shell) is invalid and unable | |
to properly execute commands. The most common cause for this is | |
using a shell that is unavailable on the system. Please verify | |
you're using the full path to the shell and that the shell is | |
executable by the SSH user. | |
---- End output of vagrant up --no-provision --provider virtualbox ---- | |
Ran vagrant up --no-provision --provider virtualbox returned 1] | |
>>>>>> ---------------------- | |
>>>>>> Please see .kitchen/logs/kitchen.log for more details | |
>>>>>> Also try running `kitchen diagnose --all` for configuration | |
D ------Exception------- | |
D Class: Kitchen::ActionFailed | |
D Message: Failed to complete #create action: [Expected process to exit with [0], but received '1' | |
---- Begin output of vagrant up --no-provision --provider virtualbox ---- | |
STDOUT: Bringing machine 'default' up with 'virtualbox' provider... | |
==> default: Importing base box 'opscode-freebsd-10.1'... | |
==> default: Matching MAC address for NAT networking... | |
==> default: Setting the name of the VM: kitchen-fish-shell-default-freebsd-101_default_1431471906292_60329 | |
==> default: Fixed port collision for 22 => 2222. Now on port 2201. | |
==> default: Clearing any previously set network interfaces... | |
==> default: Preparing network interfaces based on configuration... | |
default: Adapter 1: nat | |
==> default: Forwarding ports... | |
default: 22 => 2201 (adapter 1) | |
==> default: Booting VM... | |
==> default: Waiting for machine to boot. This may take a few minutes... | |
default: SSH address: 127.0.0.1:2201 | |
default: SSH username: vagrant | |
default: SSH auth method: private key | |
default: Warning: Connection timeout. Retrying... | |
default: Warning: Connection timeout. Retrying... | |
default: Warning: Remote connection disconnect. Retrying... | |
STDERR: The configured shell (config.ssh.shell) is invalid and unable | |
to properly execute commands. The most common cause for this is | |
using a shell that is unavailable on the system. Please verify | |
you're using the full path to the shell and that the shell is | |
executable by the SSH user. | |
---- End output of vagrant up --no-provision --provider virtualbox ---- | |
Ran vagrant up --no-provision --provider virtualbox returned 1] | |
D ---Nested Exception--- | |
D Class: Kitchen::ShellOut::ShellCommandFailed | |
D Message: Expected process to exit with [0], but received '1' | |
---- Begin output of vagrant up --no-provision --provider virtualbox ---- | |
STDOUT: Bringing machine 'default' up with 'virtualbox' provider... | |
==> default: Importing base box 'opscode-freebsd-10.1'... | |
==> default: Matching MAC address for NAT networking... | |
==> default: Setting the name of the VM: kitchen-fish-shell-default-freebsd-101_default_1431471906292_60329 | |
==> default: Fixed port collision for 22 => 2222. Now on port 2201. | |
==> default: Clearing any previously set network interfaces... | |
==> default: Preparing network interfaces based on configuration... | |
default: Adapter 1: nat | |
==> default: Forwarding ports... | |
default: 22 => 2201 (adapter 1) | |
==> default: Booting VM... | |
==> default: Waiting for machine to boot. This may take a few minutes... | |
default: SSH address: 127.0.0.1:2201 | |
default: SSH username: vagrant | |
default: SSH auth method: private key | |
default: Warning: Connection timeout. Retrying... | |
default: Warning: Connection timeout. Retrying... | |
default: Warning: Remote connection disconnect. Retrying... | |
STDERR: The configured shell (config.ssh.shell) is invalid and unable | |
to properly execute commands. The most common cause for this is | |
using a shell that is unavailable on the system. Please verify | |
you're using the full path to the shell and that the shell is | |
executable by the SSH user. | |
---- End output of vagrant up --no-provision --provider virtualbox ---- | |
Ran vagrant up --no-provision --provider virtualbox returned 1 | |
D ------Backtrace------- | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/shell_out.rb:73:in `rescue in run_command' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/shell_out.rb:61:in `run_command' | |
D /Users/bitm/.chefdk/gem/ruby/2.1.0/gems/kitchen-vagrant-0.18.0/lib/kitchen/driver/vagrant.rb:318:in `run_command' | |
D /Users/bitm/.chefdk/gem/ruby/2.1.0/gems/kitchen-vagrant-0.18.0/lib/kitchen/driver/vagrant.rb:302:in `run' | |
D /Users/bitm/.chefdk/gem/ruby/2.1.0/gems/kitchen-vagrant-0.18.0/lib/kitchen/driver/vagrant.rb:348:in `run_vagrant_up' | |
D /Users/bitm/.chefdk/gem/ruby/2.1.0/gems/kitchen-vagrant-0.18.0/lib/kitchen/driver/vagrant.rb:88:in `create' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:424:in `public_send' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:424:in `block in perform_action' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:485:in `call' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:485:in `block in synchronize_or_call' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:483:in `synchronize' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:483:in `synchronize_or_call' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:453:in `block in action' | |
D /opt/chefdk/embedded/lib/ruby/2.1.0/benchmark.rb:279:in `measure' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:452:in `action' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:424:in `perform_action' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:352:in `create_action' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:341:in `block in transition_to' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:340:in `each' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:340:in `transition_to' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/instance.rb:138:in `converge' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command.rb:176:in `public_send' | |
D /opt/chefdk/embedded/apps/test-kitchen/lib/kitchen/command.rb:176:in `block (2 levels) in run_action' | |
D ---------------------- | |
fish: Prior command failed; [20] | |
bitm@D3-SD-MBP ~/C/fish-shell (master|✔)> kitchen destroy all | |
-----> Starting Kitchen (v1.4.0) | |
-----> Destroying <default-centos-66>... | |
Finished destroying <default-centos-66> (0m0.00s). | |
-----> Destroying <default-freebsd-93>... | |
Finished destroying <default-freebsd-93> (0m0.00s). | |
-----> Destroying <default-freebsd-101>... | |
Finished destroying <default-freebsd-101> (0m0.00s). | |
-----> Destroying <source-centos-66>... | |
Finished destroying <source-centos-66> (0m0.00s). | |
-----> Destroying <source-freebsd-93>... | |
Finished destroying <source-freebsd-93> (0m0.00s). | |
-----> Destroying <source-freebsd-101>... | |
Finished destroying <source-freebsd-101> (0m0.00s). | |
-----> Kitchen is finished. (0m0.57s) | |
bitm@D3-SD-MBP ~/C/fish-shell (master|✔)> kitchen create default-freebsd-101 -l debug | |
-----> Starting Kitchen (v1.4.0) | |
D [Vagrant command] BEGIN (vagrant --version) | |
D [Vagrant command] END (0m0.17s) | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 library loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
-----> Creating <default-freebsd-101>... | |
D <default-freebsd-101> is synchronizing on Kitchen::Driver::Vagrant#create | |
D <default-freebsd-101> is messaging Kitchen::Driver::Vagrant#create | |
D Creating Vagrantfile for <default-freebsd-101> (/Users/bitm/Code/fish-shell/.kitchen/kitchen-vagrant/kitchen-fish-shell-default-freebsd-101/Vagrantfile) | |
D ------------ | |
D Vagrant.configure("2") do |c| | |
D c.berkshelf.enabled = false if Vagrant.has_plugin?("vagrant-berkshelf") | |
D c.vm.box = "opscode-freebsd-10.1" | |
D c.vm.box_url = "https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_freebsd-10.1_chef-provisionerless.box" | |
D c.vm.hostname = "default-freebsd-101" | |
D c.vm.synced_folder ".", "/vagrant", disabled: true | |
D c.vm.provider :virtualbox do |p| | |
D end | |
D end | |
D ------------ | |
D [Vagrant command] BEGIN (vagrant up --no-provision --provider virtualbox) | |
Bringing machine 'default' up with 'virtualbox' provider... | |
==> default: VirtualBox VM is already running. | |
D [Vagrant command] END (0m1.78s) | |
D [Vagrant command] BEGIN (vagrant ssh-config) | |
D [Vagrant command] END (0m1.46s) | |
D [SSH] opening connection to vagrant@127.0.0.1<{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2201", :compression=>"zlib", :compression_level=>6, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :keys_only=>true, :keys=>["/Users/bitm/.vagrant.d/insecure_private_key"]}> | |
D [SSH] vagrant@127.0.0.1<{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2201", :compression=>"zlib", :compression_level=>6, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :keys_only=>true, :keys=>["/Users/bitm/.vagrant.d/insecure_private_key"], :user=>"vagrant"}> (echo '[SSH] Established') | |
[SSH] Established | |
Vagrant instance <default-freebsd-101> created. | |
Finished creating <default-freebsd-101> (0m3.80s). | |
-----> Kitchen is finished. (0m4.31s) | |
bitm@D3-SD-MBP ~/C/fish-shell (master|✔)> kitchen converge default-freebsd-101 -l debug | |
-----> Starting Kitchen (v1.4.0) | |
D [Vagrant command] BEGIN (vagrant --version) | |
D [Vagrant command] END (0m0.18s) | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 library loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
D Berksfile found at /Users/bitm/Code/fish-shell/Berksfile, loading Berkshelf | |
D Berkshelf 3.2.3 previously loaded | |
-----> Converging <default-freebsd-101>... | |
Preparing files for transfer | |
D Creating local sandbox in /var/folders/ly/gpj2bddx4jb2m0fc1bk2gwc00000gn/T/default-freebsd-101-sandbox-20150512-87618-12d4jd9 | |
Preparing dna.json | |
D Creating dna.json from {:run_list=>["recipe[fish-shell::default]"]} | |
Resolving cookbook dependencies with Berkshelf 3.2.3... | |
D Using Berksfile from /Users/bitm/Code/fish-shell/Berksfile | |
Removing non-cookbook files before transfer | |
Preparing validation.pem | |
D Using a dummy validation.pem | |
Preparing client.rb | |
D Creating client.rb from {:node_name=>"default-freebsd-101", :checksum_path=>"/tmp/kitchen/checksums", :file_cache_path=>"/tmp/kitchen/cache", :file_backup_path=>"/tmp/kitchen/backup", :cookbook_path=>["/tmp/kitchen/cookbooks", "/tmp/kitchen/site-cookbooks"], :data_bag_path=>"/tmp/kitchen/data_bags", :environment_path=>"/tmp/kitchen/environments", :node_path=>"/tmp/kitchen/nodes", :role_path=>"/tmp/kitchen/roles", :client_path=>"/tmp/kitchen/clients", :user_path=>"/tmp/kitchen/users", :validation_key=>"/tmp/kitchen/validation.pem", :client_key=>"/tmp/kitchen/client.pem", :chef_server_url=>"http://127.0.0.1:8889", :encrypted_data_bag_secret=>"/tmp/kitchen/encrypted_data_bag_secret"} | |
D [SSH] vagrant@127.0.0.1<{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2201", :compression=>"zlib", :compression_level=>6, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :keys_only=>true, :keys=>["/Users/bitm/.vagrant.d/insecure_private_key"]}> (sh -c ' | |
chef_omnibus_root="/opt/chef" | |
chef_omnibus_url="https://www.chef.io/chef/install.sh" | |
install_flags="" | |
pretty_version="install only if missing" | |
sudo_sh="sudo -E sh" | |
version="true" | |
tmp_stderr="/tmp/stderr"; | |
# capture_tmp_stderr SOURCE | |
capture_tmp_stderr() { | |
# spool up $tmp_stderr from all the commands we called | |
if test -f "$tmp_stderr"; then | |
output="`cat $tmp_stderr`"; | |
stderr_results="${stderr_results}\nSTDERR from $1:\n\n${output}\n"; | |
rm $tmp_stderr; | |
fi | |
} | |
# do_curl URL FILENAME | |
do_curl() { | |
echo "Trying curl..."; | |
curl -sL -D "$tmp_stderr" "$1" > "$2"; | |
ec=$?; | |
# check for 404 | |
grep "404 Not Found" "$tmp_stderr" 2>&1 >/dev/null; | |
if test $? -eq 0; then | |
http_404_error "$1"; | |
fi | |
# check for bad return status or empty output | |
if test $ec -ne 0 || test ! -s "$2"; then | |
capture_tmp_stderr "curl"; | |
return 1; | |
else | |
echo "Download complete."; | |
return 0; | |
fi | |
} | |
# do_download URL FILENAME | |
do_download() { | |
echo "Downloading ${1} to file ${2}"; | |
exists wget; | |
if test $? -eq 0; then | |
do_wget "$1" "$2" && return 0; | |
fi | |
exists curl; | |
if test $? -eq 0; then | |
do_curl "$1" "$2" && return 0; | |
fi | |
exists fetch; | |
if test $? -eq 0; then | |
do_fetch "$1" "$2" && return 0; | |
fi | |
exists python; | |
if test $? -eq 0; then | |
do_python "$1" "$2" && return 0; | |
fi | |
exists perl; | |
if test $? -eq 0; then | |
do_perl "$1" "$2" && return 0; | |
fi | |
unable_to_download "$1" "$2"; | |
} | |
# do_fetch URL FILENAME | |
do_fetch() { | |
echo "Trying fetch..."; | |
fetch -o "$2" "$1" 2>"$tmp_stderr"; | |
ec=$?; | |
# check for 404 | |
grep "Not Found" "$tmp_stderr" 2>&1 >/dev/null; | |
if test $? -eq 0; then | |
http_404_error "$1"; | |
fi | |
# check for bad return status or empty output | |
if test $ec -ne 0 || test ! -s "$2"; then | |
capture_tmp_stderr "fetch"; | |
return 1; | |
else | |
echo "Download complete."; | |
return 0; | |
fi | |
} | |
# do_perl URL FILENAME | |
do_perl() { | |
echo "Trying perl..."; | |
perl -e "use LWP::Simple; getprint(\$ARGV[0]);" "$1" > "$2" 2>"$tmp_stderr"; | |
ec=$?; | |
# check for 404 | |
grep "404 Not Found" "$tmp_stderr" 2>&1 >/dev/null; | |
if test $? -eq 0; then | |
http_404_error "$1"; | |
fi | |
# check for bad return status or empty output | |
if test $ec -ne 0 || test ! -s "$2"; then | |
capture_tmp_stderr "perl"; | |
return 1; | |
else | |
echo "Download complete."; | |
return 0; | |
fi | |
} | |
# do_python URL FILENAME | |
do_python() { | |
echo "Trying python..."; | |
python -c "import sys,urllib2 ; sys.stdout.write(urllib2.urlopen(sys.argv[1]).read())" "$1" > "$2" 2>"$tmp_stderr"; | |
ec=$?; | |
# check for 404 | |
grep "HTTP Error 404" "$tmp_stderr" 2>&1 >/dev/null; | |
if test $? -eq 0; then | |
http_404_error "$1"; | |
fi | |
# check for bad return status or empty output | |
if test $ec -ne 0 || test ! -s "$2"; then | |
capture_tmp_stderr "python"; | |
return 1; | |
else | |
echo "Download complete."; | |
return 0; | |
fi | |
} | |
# do_wget URL FILENAME | |
do_wget() { | |
echo "Trying wget..."; | |
wget -O "$2" "$1" 2>"$tmp_stderr"; | |
ec=$?; | |
# check for 404 | |
grep "ERROR 404" "$tmp_stderr" 2>&1 >/dev/null; | |
if test $? -eq 0; then | |
http_404_error "$1"; | |
fi | |
# check for bad return status or empty output | |
if test $ec -ne 0 || test ! -s "$2"; then | |
capture_tmp_stderr "wget"; | |
return 1; | |
else | |
echo "Download complete."; | |
return 0; | |
fi | |
} | |
# exists COMMAND | |
exists() { | |
if command -v "$1" >/dev/null 2>&1; then | |
return 0; | |
else | |
return 1; | |
fi | |
} | |
# http_404_error URL | |
http_404_error() { | |
echo ">>>>>> Downloading ${1} resulted in an HTTP/404, aborting"; | |
exit 40; | |
} | |
# should_update_chef ROOT VERSION | |
should_update_chef() { | |
if test ! -d "$1"; then | |
return 0; | |
elif test "$2" = "true"; then | |
return 1; | |
elif test "$2" = "latest"; then | |
return 0; | |
fi | |
chef_version="`${1}/bin/chef-solo -v | cut -d \" \" -f 2`"; | |
echo "$chef_version" | grep "^${2}" 2>&1 >/dev/null; | |
if test $? -eq 0; then | |
return 1; | |
else | |
return 0; | |
fi | |
} | |
# unable_to_download URL FILE | |
unable_to_download() { | |
echo "Unable to download $1 to $2, aborting"; | |
if test "x${stderr_results}" != "x"; then | |
echo "\nDEBUG OUTPUT FOLLOWS:\n${stderr_results}"; | |
fi | |
exit 10; | |
} | |
# main | |
main() { | |
should_update_chef "$chef_omnibus_root" "$version" | |
if test $? -eq 0; then | |
echo "-----> Installing Chef Omnibus (${pretty_version})"; | |
# solaris 10 lacks recent enough credentials, so http url is used | |
platform="`/usr/bin/uname -s 2>/dev/null`"; | |
platform_version="`/usr/bin/uname -r 2>/dev/null`"; | |
if test "x${platform}" = "xSunOS" && test "x${platform_version}" = "x5.10"; then | |
chef_omnibus_url=`echo "$chef_omnibus_url" | sed -e "s/https/http/"`; | |
fi | |
do_download "$chef_omnibus_url" /tmp/install.sh; | |
$sudo_sh /tmp/install.sh $install_flags; | |
else | |
echo "-----> Chef Omnibus installation detected (${pretty_version})"; | |
fi | |
} | |
# augment path in an attempt to find a download program | |
PATH="${PATH}:/opt/local/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/sfw/bin"; | |
export PATH; | |
main | |
') | |
D [SSH] opening connection to vagrant@127.0.0.1<{:user_known_hosts_file=>"/dev/null", :paranoid=>false, :port=>"2201", :compression=>"zlib", :compression_level=>6, :keepalive=>true, :keepalive_interval=>60, :timeout=>15, :keys_only=>true, :keys=>["/Users/bitm/.vagrant.d/insecure_private_key"]}> | |
-----> Installing Chef Omnibus (install only if missing) | |
Downloading https://www.chef.io/chef/install.sh to file /tmp/install.sh | |
Trying curl... | |
Download complete. | |
Downloading Chef for freebsd... | |
downloading https://www.getchef.com/chef/metadata?v=&prerelease=false&nightlies=false&p=freebsd&pv=10&m=amd64 | |
to file /tmp/install.sh.746/metadata.txt | |
trying curl... | |
url https://opscode-omnibus-packages.s3.amazonaws.com/freebsd/10/amd64/chef-12.3.0_1.amd64.sh | |
md5 6e9d332e6147d20c13a96bcc8772e84c | |
sha256 424cce391fe6e1833d46b45526882af221744c2a2e7096e3924806652254feee | |
downloaded metadata file looks valid... | |
downloading https://opscode-omnibus-packages.s3.amazonaws.com/freebsd/10/amd64/chef-12.3.0_1.amd64.sh | |
to file /tmp/install.sh.746/chef-12.3.0_1.amd64.sh | |
trying curl... | |
Comparing checksum with shasum... | |
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING | |
You are installing an omnibus package without a version pin. If you are installing | |
on production servers via an automated process this is DANGEROUS and you will | |
be upgraded without warning on new releases, even to new major release. | |
Letting the version float is only appropriate in desktop, test, development or | |
CI/CD environments. | |
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING | |
Installing Chef | |
installing with sh... | |
Verifying archive integrity... All good. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment