Getting latest agent on debian for ARM?

906 views
Skip to first unread message

Jon Yeargers

unread,
Dec 5, 2013, 12:16:15 PM12/5/13
to puppet...@googlegroups.com
I'm looking to deploy several hundred ARM based machines in the near future. At this point the puppet agent version available via apt (Debian 6)  is 2.6. 

I tried adding the apt.puppetlabs.com repository but it won't install on my systems as the CPU type isn't supported. 

What are my options to get 3.x? I don't see a path to compile the source. Can I copy the relevant folders to a private repository and host from there? 

Felix Frank

unread,
Dec 9, 2013, 11:12:50 AM12/9/13
to puppet...@googlegroups.com
Hi,

weird - the puppet packages target specific platforms? That doesn't seem
to make much sense, because nothing in puppet is compiled. It's mostly
ruby, and sure enough, the packages from Debian themselves have

Architecture: all

So it doesn't seem sensible that the packages from puppetlabs aren't
available for ARM, except if they *do* specify a different architecture
for any reason.

Jon Yeargers

unread,
Dec 10, 2013, 11:22:36 AM12/10/13
to puppet...@googlegroups.com
I've tried using 'gem' to install the latest build but it brings down lots of (seemingly) unnecessary bits with it. (examples, docs, etc)

Jon Yeargers

unread,
Dec 10, 2013, 11:50:06 AM12/10/13
to puppet...@googlegroups.com
If I create a '/etc/apt/sources.list.d/puppet.list' with:


I get:


I'm thinking that I might need to set this up on an x86 machine and then rebuild the package file myself in a private repository.

Felix Frank

unread,
Dec 10, 2013, 12:11:44 PM12/10/13
to puppet...@googlegroups.com
That's not the issue at all I think.

Is that source.list entry from a howto?

Have you tried the instructions here:
http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#for-debian-and-ubuntu

Because what apt is making of your configuration is plain wrong.

Jon Yeargers

unread,
Dec 10, 2013, 1:52:15 PM12/10/13
to puppet...@googlegroups.com
I updated the repository file using the official puppet-recommended version. The corrected line is:

deb http://apt.puppetlabs.com squeeze main   (i mistakenly entered 'wheezy' above).

When I do 'apt-get update' I'm told:

W: Filed to fetch http://apt.puppetlabs.com/dists/squeeze/Release Unable to find expected entry main/binary-armel/Packages in Meta-index file (malformed Release file?)

Moses Mendoza

unread,
Dec 10, 2013, 3:01:00 PM12/10/13
to puppet...@googlegroups.com
My apologies - this is a problem with our apt repository configuration
- we did not set it up to include architectures other than i386 and
amd64. We will be remedying this soon, so that while we may not yet
have arm-specific packages, at least our all-arch packages will work.

>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/0e4f7484-682f-44c9-b370-5a977d4085ee%40googlegroups.com.
>
> For more options, visit https://groups.google.com/groups/opt_out.



--
Moses Mendoza
Puppet Labs

Join us at PuppetConf 2014, September 23-24 in San Francisco

Moses Mendoza

unread,
Dec 10, 2013, 6:11:27 PM12/10/13
to puppet...@googlegroups.com
Hi all, apt.puppetlabs.com has been updated with additional
architectures so the 'all' packages should install. Can you check if
you still have the same issues?

Jon Yeargers

unread,
Dec 11, 2013, 10:26:02 AM12/11/13
to puppet...@googlegroups.com
'apt-get update' ran fine this time.

'apt-get install puppet':

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 puppet : Depends: puppet-common (= 3.3.2-1puppetlabs1) but 2.6.2-5+squeeze8 is to be installed
E: Broken packages


I also tried uninstalling puppet and then doing the install. Same result.

Jon Yeargers

unread,
Dec 11, 2013, 10:31:15 AM12/11/13
to puppet...@googlegroups.com
I also tried 'apt-get dist-upgrade'. This brought down 'hiera' (along with a few other things).

Then tried 'apt-get install puppet-common' - this failed as 'facter' needed a higher version.

.. so tried 'facter' but this failed with:

facter : Depends : dmidecode but it is not installable



If I do 'apt-cache search dmidecode' it isn't available.

Jeff Bachtel

unread,
Dec 11, 2013, 10:47:02 AM12/11/13
to puppet...@googlegroups.com
demidecode (which is a hard dependency for facter) is not available for armel in Debian's repository. I have confirmed that facter will not fail outright when dmidecode is missing.

The following facter variables will not be created, however:
bios_release_date
bios_vendor
bios_version
boardmanufacturer
boardproductname
boardserialnumber
manufacturer
productname
serialnumber
type
uuid

If that's acceptable for you, you can try

apt-get install ruby libopenssl-ruby pciutils
apt-get download facter
dpkg -i --force-depends facter*.deb
apt-get install puppet

This will manually install the other facter dependencies (which should exist for armel), download the facter .deb file, then do an install of it without checking depends. The puppet install should succeed after that.

I think facter's dmidecode dependency should be a Suggests vice a Depends, and it might be worth filing a bugrep to get it changed.

Jeff

Felix Frank

unread,
Dec 11, 2013, 10:51:54 AM12/11/13
to puppet...@googlegroups.com
I was thinking along the same lines. A "recommends" may be better
suited, because on some (many?) systems, those will be installed
automatically just like hard dependencies.

Cheers,
Felix

Jon Yeargers

unread,
Dec 11, 2013, 12:39:38 PM12/11/13
to puppet...@googlegroups.com
root@plugpc-005:~# apt-get install ruby libopenssl-ruby pciutils
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libruby' instead of 'libopenssl-ruby'
pciutils is already the newest version.
libruby is already the newest version.
ruby is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

There isn't a 'download' option for apt-get on this system so I tried '--download-only':

root@plugpc-005:~# apt-get --download-only install  facter
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 facter : Depends: dmidecode but it is not installable
E: Broken packages

I added '--ignore-missing' but the result was the same.

Jeff Bachtel

unread,
Dec 11, 2013, 12:50:07 PM12/11/13
to puppet...@googlegroups.com

Jon Yeargers

unread,
Dec 11, 2013, 1:55:11 PM12/11/13
to puppet...@googlegroups.com
I can wget and install facter but the issues continue:

root@plugpc-005:/tmp# apt-get install puppet
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 facter : Depends: dmidecode but it is not installable
 puppet : Depends: puppet-common (= 3.3.2-1puppetlabs1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).


root@plugpc-005:/tmp# apt-get install puppet-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 facter : Depends: dmidecode but it is not installable
 puppet-common : Depends: ruby-shadow but it is not installable or
                          libshadow-ruby1.8 but it is not going to be installed
                 Depends: libaugeas-ruby but it is not going to be installed or
                          libaugeas-ruby1.9.1 but it is not going to be installed or
                          libaugeas-ruby1.8 but it is not going to be installed
                 Depends: hiera (>= 1.0.0) but it is not going to be installed
                 Depends: ruby-rgen (>= 0.6.5) but it is not going to be installed
                 Recommends: lsb-release but it is not going to be installed
                 Recommends: debconf-utils but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).


Attempts to install any of these packages gives me similar errors.

Jon Yeargers

unread,
Dec 13, 2013, 6:39:06 AM12/13/13
to puppet...@googlegroups.com
So am I SOL on this? Is ARM considered an 'unsupported architecture' until I can create a 'dmidecode' for this platform?

Felix Frank

unread,
Dec 13, 2013, 7:08:10 AM12/13/13
to puppet...@googlegroups.com
Ideally, there will be a newly released facter package that replaces
this dependency by a suggestion or recommendation. It will Just Work for
you then.

In the meantime, these are your options:
a) fetch the facter source package and build a forked package without
this dependency
b) fetch all deb packages you require and install them in one go using
dpkg -i --force-depends or similar.

Option (a) is simple if you're versed in the creation of Debian
packages, and pretty difficult if you're not.

HTH,
Felix

Jon Yeargers

unread,
Dec 13, 2013, 2:07:01 PM12/13/13
to puppet...@googlegroups.com
Just out of curiosity I created my own 'dmidecode' package with a trivial (does nothing) dmidecode executable. Once this was installed the rest of puppet v 3.3.2 installed fine.

NOW: it's having trouble accepting that certain services are already running and it's trying to restart them every time. Strangely enough it doesn't happen with 'system' services (EG apache2, snmpd) but only with my code. I can't imagine this is related to my fake dmidecode but I'll keep looking into it.

Jon Yeargers

unread,
Dec 13, 2013, 2:15:26 PM12/13/13
to puppet...@googlegroups.com

Ashutosh Parida

unread,
Apr 8, 2014, 1:40:11 AM4/8/14
to puppet...@googlegroups.com

Hey Jon,

I am also planning to deploy puppet on ARM and am glad to see you tried and may be you fixed issues with it.
I dropped a mail to Puppetlabs, seeking information as to what is their roadmap for supporting puppet on ARMv7 and later releases and puppetlabs replied back saying currently they don't have any plans.

Can you please tell which ARM platform you made it working ?

Thanks,
Ashutosh

JonY

unread,
Apr 8, 2014, 6:29:12 AM4/8/14
to puppet...@googlegroups.com
Not sure. The devices are fanless PCs called 'dream plugs'. How would I determine the chip id?

Dirk Heinrichs

unread,
Apr 8, 2014, 8:07:52 AM4/8/14
to puppet...@googlegroups.com
Am 08.04.2014 12:29, schrieb JonY:
Not sure. The devices are fanless PCs called 'dream plugs'. How would I determine the chip id?

I've got a Guruplug, which is the predecessor. It's armv5tel, running on Marvel Feroceon CPU.

% cat /proc/cpuinfo
processor       : 0
model name      : Feroceon 88FR131 rev 1 (v5l)
Features        : swp half thumb fastmult edsp
CPU implementer : 0x56
CPU architecture: 5TE
CPU variant     : 0x2
CPU part        : 0x131
CPU revision    : 1

Hardware        : Marvell Kirkwood (Flattened Device Tree)
Revision        : 0000
Serial          : 0000000000000000

% uname -a
Linux rohan 3.13-1-kirkwood #1 Debian 3.13.7-1 (2014-03-25) armv5tel GNU/Linux

HTH...

    Dirk
--

Dirk Heinrichs, Senior Systems Engineer, Engineering Solutions
Recommind GmbH, Von-Liebig-Straße 1, 53359 Rheinbach
Tel: +49 2226 1596666 (Ansage) 1149
Email: d...@recommind.com
Skype: dirk.heinrichs.recommind
www.recommind.com

JonY

unread,
Apr 8, 2014, 8:23:37 AM4/8/14
to puppet...@googlegroups.com, d...@recommind.com
Ah nice! I did the same on the dream plug. It's the same chip.

Gabriel Schuyler

unread,
Apr 11, 2014, 2:24:46 PM4/11/14
to puppet...@googlegroups.com
Actually, debian backports has a dmidecode.  So facter will apt-get install if you add backports.

  echo "deb http://ftp.debian.org/debian wheezy-backports main" >> /etc/apt/sources.list.d/backports.list
  apt-get update
  apt-get install facter

The amusing chicken-and-egg, of course, is that once you've kludged the backports list in long enough to install facter, you can now actually use the puppet module tool to add puppetlabs-apt to your setup .. and then just include apt::backports.
Reply all
Reply to author
Forward
0 new messages