Próbuję skonfigurować serwer szefa kuchni na lokalnej maszynie wirtualnej za pomocą Vagrant / VirtualBox. Mój plik Vagrant to:
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.hostname = "dtom-chef-server"
config.vm.provision :shell, path: "bootstrap.sh"
config.vm.network :forwarded_port, host: 4567, guest: 80
end
Mój skrypt bootstrap.sh wygląda następująco:
# Set hostname and FQDN
hostnamectl set-hostname dtom-chef-server
IPADDR="$(ifconfig eth0|grep -Po 't addr:\K[\d.]+')"
sed "s/ip-addr/$IPADDR/g" /vagrant/hosts_orig > /etc/hosts
# Install Chef server
cd && mkdir downloads && cd downloads
wget https://web-dl.packagecloud.io/chef/stable/packages/ubuntu/trusty/chef-server-core_12.0.8-1_amd64.deb
dpkg -i chef-server-core_*.deb
chef-server-ctl reconfigure
Wszystko wydaje się działać dobrze, dopóki nie dostanę
==> default: [2015-05-05T19:48:38+00:00] INFO: Processing execute[oc_id_schema] action run (private-chef::oc_id line 130)
==> default:
==> default:================================================================================
==> default: Error executing action `run` on resource 'execute[oc_id_schema]'
==> default: ================================================================================
==> default:
==> default: Mixlib::ShellOut::ShellCommandFailed
==> default: ------------------------------------
==> default: Expected process to exit with [0], but received ''
==> default: ---- Begin output of bundle exec rake db:migrate ----
==> default: STDOUT:
==> default: STDERR: no ruby in PATH/CONFIG
==> default: ---- End output of bundle exec rake db:migrate ----
==> default: Ran bundle exec rake db:migrate returned
Instalacja wydaje się być kontynuowana, ale zakładam, że właśnie dlatego pojawia się błąd:
==> default: ================================================================================
==> default: Error executing action `restart` on resource 'runit_service[oc_id]'
==> default: ================================================================================
==> default:
==> default:
==> default: Mixlib::ShellOut::ShellCommandFailed
==> default: ------------------------------------
==> default: Expected process to exit with [0], but received '1'
==> default:
==> default: ---- Begin output of /opt/opscode/embedded/bin/sv restart /opt/opscode/service/oc_id ----
==> default:
==> default: STDOUT: fail: /opt/opscode/service/oc_id: unable to change to service directory: file does not exist
Wreszcie na koniec, choć nie jestem pewien, czy jest to powiązane, otrzymuję:
FATAL: Chef::Exceptions::CannotDetermineNodeName: Unable to determine node name: configure node_name or configure the system's hostname and fqdn
A potem proces się kończy. Czy brakuje mi czegoś w procesie instalacji?