Ask Your Question

Puppet3: Serving binary files of a different architecture

asked 2013-03-16 11:21:52 -0600

Ripzura gravatar image

updated 2013-03-19 16:56:06 -0600

llowder gravatar image


As stated in the subject I would like to serve binary files from my puppet master to my clients. Some of the clients however are of a different system architecture than my master server (x86 vs arm)

I have compiled all the binary files on the correct architecure allready and basically just want to "copy" them to the puppet clients.

I try to serve them like so:

file { "/usr/bin/program":

  ensure  => file, 

  source  => "puppet:///modules/module_name/program_${architecture}",

  backup  => false,






This works fine for ... (more)

edit retag flag offensive close merge delete



Are you able to post the output of a puppet agent run on the ARM client when this error occurs?

jonn gravatar imagejonn ( 2013-03-17 11:50:56 -0600 )edit

Hi John, See the comment on Daenney's answer below. That's the only error message I receive.

Ripzura gravatar imageRipzura ( 2013-03-23 14:38:25 -0600 )edit

Hi @Ripzura - I think it may have been truncated (comments are limited to 300 characters). Could you maybe put it into a pastie or gist and provide us with a ...(more)

jonn gravatar imagejonn ( 2013-03-24 05:47:37 -0600 )edit

Error: /Stage[main]/Checkmk::Package/File[/usr/bin/waitmax.bin]: Could not evaluate: Could not retrieve information from environment production source(s) puppet:///modules/checkmk/waitmax_armv6l

Ripzura gravatar imageRipzura ( 2013-03-25 02:36:11 -0600 )edit

The error message has "waitmaxarmv6l" (with a letter l on the end) but you referred to "programarmv61" (with a number 1 on the end) in your earlier post ...(more)

jonn gravatar imagejonn ( 2013-03-25 03:42:19 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2013-03-27 17:20:20 -0600

Ripzura gravatar image

Just to point out what an idiot I apparently was :)

@John was spot on. The architecture was armv6l whith an "el" not a "one" at the end. I was just trying to fetch a non existing file all along. This is working fine now. Puppet has no problems with files of an different architecture.

edit flag offensive delete link more

answered 2013-03-19 07:43:11 -0600

Daenney gravatar image

Start by using ${::architecture} instead of ${architecture}. The latter might actually be set locally whereas the former should resolve to the facter value reported by the agent.

It should be fairly easy to verify if something is colliding by just running facter on the ARM machine and checking what it reports for architecture. If that reports amd64 on ARM then we've got a bug, else something is defining architecture=amd64 for you, somewhere.

There's actually two variables available:

  • ${::architecture}: amd64
  • ${::hardwaremodel}: x86_64

Looking at the implementation of the architecture fact it actually uses hardwaremodel itself. hardwaremodel calls uname ... (more)

edit flag offensive delete link more


Hi Daenney. Thanks for your answer.

I tried both ways of specifying the architecture. In both cases I got the following error on my client:

> Error: /Stage[main]/Check_mk::Package ...(more)

Ripzura gravatar imageRipzura ( 2013-03-23 14:34:13 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2013-03-16 11:21:52 -0600

Seen: 1,450 times

Last updated: Mar 27 '13