chef solo provisioner on ARM

103 views
Skip to first unread message

Andrew Goktepe

unread,
Mar 10, 2015, 8:08:15 PM3/10/15
to vagra...@googlegroups.com
Hello,

Does anyone know if there is a way to configure the Chef Solo provisioner so that it skips the Chef omnibus installer? 
I am using vagrant to provision an ARM system running Debian Jessie (using the vagrant-managed-servers plugin) and the Chef omnibus installer is failing because that is not a supported platform. Full error message is at the bottom of this post.

I am able to install Chef on the ARM system using the gem, so I just need the provisioner to skip the installer and use the already-installed chef client instead.

Thanks,
Andrew

p.s.   Here is the output from "vagrant provision":

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

curl -sL https://www.chef.io/chef/install.sh | sudo bash

Stdout from the command:

Downloading Chef  for debian...
downloading https://www.chef.io/chef/metadata?v=&prerelease=false&nightlies=false&p=debian&pv=8.0&m=armv7l
  to file /tmp/install.sh.10509/metadata.txt
trying wget...
ERROR 404
Omnitruck artifact does not exist for version  on platform debian

Either this means:
   - We do not support debian
   - We do not have an artifact for

This is often the latter case due to running a prerelease or RC version of chef
or a gem version which was only pushed to rubygems and not omnitruck.

You may be able to set your knife[:bootstrap_version] to the most recent stable
release of Chef to fix this problem (or the most recent stable major version number).

In order to test the version parameter, adventurous users may take the Metadata URL
below and modify the '&v=<number>' parameter until you successfully get a URL that
does not 404 (e.g. via curl or wget).  You should be able to use '&v=11' or '&v=12'
succesfully.

If you cannot fix this problem by setting the bootstrap_version, it probably means
that debian is not supported.

Metadata URL: https://www.chef.io/chef/metadata?v=&prerelease=false&nightlies=false&p=debian&pv=8.0&m=armv7l


Stderr from the command:

stdin: is not a tty

Torben Knerr

unread,
Mar 12, 2015, 2:20:19 AM3/12/15
to vagra...@googlegroups.com
Hi Andrew,

you should be able to control that via "install" config option, e.g.:

config.vm.provision "chef_solo" do |chef|
chef.install = false
end

See here:
https://github.com/mitchellh/vagrant/blob/master/plugins/provisioners/chef/config/base.rb#L14-23


HTH, Torben
> --
> You received this message because you are subscribed to the Google Groups
> "Vagrant" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to vagrant-up+...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Andrew Goktepe

unread,
Mar 12, 2015, 9:59:16 AM3/12/15
to vagra...@googlegroups.com
Exactly what I was trying to find.  Thanks!

-Andrew
Reply all
Reply to author
Forward
0 new messages