Veewee, Vagrant, Puppet, Erlang and RabbitMQ

Posted by Tobias on Server Fault See other posts from Server Fault or by Tobias
Published on 2012-10-04T20:04:57Z Indexed on 2012/10/04 21:40 UTC
Read the original article Hit count: 587

Filed under:
|
|
|

I am kinda stuck with a problem I am trying to wrap my head around for days now.

Here is what I am doing:

  1. By using Veewee, I am creating a VirtualBox image and then I create a Vagrant box from it. See here, here
  2. Finally I run puppet from Vagrant to install RabbitMQ, see here.

Veewee, Vagrant and VirtualBox all run on MacOS X 10.7.4. The vagrant box itself is CentOS 6.2.

This worked fine for quite some time until I was recreating the VirtualBox image a couple of days ago. During installation of the rabbitmq-plugins during my puppet run I now get the following error:

/Stage[main]/Rabbitmq/Exec[rabbitmq-plugins]/returns: erlexec: HOME must be set

My RabbitMQ puppet configuration can be found on my GitHub repo for that project, but here is the most important part:

$version = "2.8.7"
$url     = "http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/rabbitmq-server-${version}-1.noarch.rpm"

package{"erlang":
    ensure => "present",
}

package{"rabbitmq-server":
    provider => "rpm",
    source   => $url,
    require  => Package["erlang"]
}

exec{"rabbitmq-plugins":
    path    => "/usr/bin:/usr/sbin:/bin",
    command => "rabbitmq-plugins enable rabbitmq_management",
    require => Package["rabbitmq-server"]
}

My additional repositories, e.g. epel, are defined in veewees postinstall.sh right at the top of the file.

Finally, this is what I get when I do '/etc/init.d/rabbitmq-server status'

[{pid,2834},
{running_applications,[{rabbit,"RabbitMQ","2.8.7"},
                    {ssl,"Erlang/OTP SSL application","4.1.6"},
                    {public_key,"Public key infrastructure","0.13"},
                    {crypto,"CRYPTO version 2","2.0.4"},
                    {mnesia,"MNESIA  CXC 138 12","4.5"},
                    {os_mon,"CPO  CXC 138 46","2.2.7"},
                    {sasl,"SASL  CXC 138 11","2.1.10"},
                    {stdlib,"ERTS  CXC 138 10","1.17.5"},
                    {kernel,"ERTS  CXC 138 10","2.14.5"}]},
{os,{unix,linux}},
{erlang_version,"Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:30] [kernel-poll:true]\n"},
{memory,[{total,24993120},
      {processes,10328496},
      {processes_used,10321296},
      {system,14664624},
      {atom,1175905},
      {atom_used,1143841},
      {binary,17192},
      {code,11416020},
      {ets,766168}]},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,205851852},
{disk_free_limit,1000000000},
{disk_free,7089795072},
{file_descriptors,[{total_limit,924},
                {total_used,4},
                {sockets_limit,829},
                {sockets_used,2}]},
{processes,[{limit,1048576},{used,131}]},
{run_queue,0},
{uptime,6}]

Sources in the web suggest, that I have to set HOME. Of course I was logging into the box if HOME was set, for user vagrant it was '/home/vagrant' and for root it was 'root'.

As always, any hints/ideas/suggestions/assumptions are more than welcome.

Thanks a lot!

Cheers, Tobi

© Server Fault or respective owner

Related posts about puppet

Related posts about rabbitmq