Re: [Puppet Users] Re: apt repository appears to have dependency issue with latest release (3.2.1)

2,005 views
Skip to first unread message

Matthew Kennedy

unread,
May 23, 2013, 3:38:37 PM5/23/13
to puppet...@googlegroups.com

I resolved this by adding the 'dependency' repo. I do wonder what the purpose of having a separate repo?

On May 23, 2013 12:46 PM, "Chris Prior" <chris....@gmail.com> wrote:
I am having the same issue...

Running on Ubuntu as below:


Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise


Managed using Vagrant, puppet master being installed via the puppetlabs puppet module from puppet forge:


err: /Stage[main]/Puppet/Package[puppet]/ensure: change from purged to latest failed: Could not update: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install puppet' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
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.2.1-1puppetlabs1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
at /tmp/vagrant-puppet/modules-0/puppet/manifests/init.pp:39


Chris

On Wednesday, 22 May 2013 22:53:21 UTC+1, Matthew Kennedy wrote:
When trying to install puppetmaster-passenger from puppetlabs apt repo I get... was working 2ish hours ago (before the 3.2 release)

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:
 puppetmaster-passenger : Depends: puppetmaster-common (= 3.2.1-1puppetlabs1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Thanks,
Matt

--
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 post to this group, send email to puppet...@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Eric Sorenson

unread,
May 23, 2013, 5:25:52 PM5/23/13
to puppet...@googlegroups.com
Quick question for those of you affected by this -- what did you to do to add the puppetlabs apt repo? 


.. or some other way? I'm trying to suss out whether the docs / packages are messing people up.

thx
eric0

Greg Sutcliffe

unread,
May 24, 2013, 4:53:40 AM5/24/13
to puppet-users
On 23 May 2013 22:25, Eric Sorenson <eric.s...@puppetlabs.com> wrote:
Quick question for those of you affected by this -- what did you to do to add the puppetlabs apt repo? 


.. or some other way? I'm trying to suss out whether the docs / packages are messing people up.

I've hit this, but it's because I have the main Puppetlabs repo in my preseed file for new virtual machines, so it's available within the installer environment. That's just text, so I only have a line for "deb http://apt.puppetlabs.com <distro> main"

I think the "install a deb which sets up the repos" is good for most people, but there should always be the docs for the manual apt setup for those going a different route. As of right now, I don't see a "dependencies" repo mentioned anywhere on the page you linked, Eric

I'll also add a voice the question on the logic behind a separate dependencies repo, although only because you're adding work to your documentation requirements ;)

Cheers,
Greg

Peter

unread,
May 24, 2013, 7:49:31 AM5/24/13
to puppet...@googlegroups.com
Hi Eric,

I was setting up a fresh VM in my dev environment and ran into this same issue.  Here is how I setup and install puppet in my VM

#!/bin/bash -x

CODENAME=$(lsb_release -cs | tr '[A-Z]' '[a-z]')

[ -z $CODENAME ] && echo "Codename not set" && exit 1;
 
pkgname="puppetlabs-release-${CODENAME}.deb"
 
 
wget -q $url
dpkg -i $pkgname
 
rm $pkgname
 
apt-get update && apt-get -y install puppet

Hope this helps.

Peter.

Peter

unread,
May 24, 2013, 7:56:46 AM5/24/13
to puppet...@googlegroups.com
Eric,

Damn forgot to cut message down and include the error messages.

Essentially when I try to install puppet-hiera I get this error message:

root@play apt/sources.list.d# apt-get install hiera-puppet
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:
 hiera-puppet : Depends: puppet but it is not going to be installed
E: Unable to correct problems, you have held broken packages.


However puppet is already installed:

root@play apt/sources.list.d# dpkg --status puppet
Package: puppet
Status: install ok installed
Priority: optional
Section: admin
Installed-Size: 134
Maintainer: Puppet Labs <>
Architecture: all
Version: 3.1.1-1puppetlabs1
Depends: puppet-common (= 3.1.1-1puppetlabs1), ruby | ruby-interpreter
Recommends: rdoc
Suggests: puppet-el, vim-puppet


Peter

Matthaus Owens

unread,
May 24, 2013, 1:10:44 PM5/24/13
to puppet...@googlegroups.com
Peter,
hiera-puppet is built in to puppet 3.x, so you don't need to install
it explicitly.
> --
> 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 post to this group, send email to puppet...@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>



--
Matthaus Owens
Release Manager, Puppet Labs

Join us at PuppetConf 2013, August 22-23 in San Francisco -
http://bit.ly/pupconf13
Register now and take advantage of the Early Bird discount - save 25%!

Matthaus Owens

unread,
May 24, 2013, 1:13:00 PM5/24/13
to puppet...@googlegroups.com
Maik, there was an update via the puppetlabs-release package to update
the sources.list file to add the dependencies repo.

2013/5/24 Maik Kulbe <maik....@gmail.com>:
> I can confirm this too and think the way of installing this via a .deb is
> not very nice to admins with more then 10 servers. Why do I need to install
> a package for installing some sources.list.d file when I want it all
> automated. Automation has to do a lot with simplification IMHO, because the
> simpler something is the less likely it will fail. If you want to build a
> robust mechanism of fast deployment a .deb is just really ugly and awkward
> to handle.
>
> Also I really don't understand why this changed in a way you coudn't upgrade
> anymore. There should have been an update via the repo to at least update
> the sources.list file or create a new one for the dependencies..
>
> I'm also in with the other guys here - I really don't get why you would need
> a second repository for the dependencies.
>
>
> On Thursday, May 23, 2013 5:26:40 PM UTC+2, ma...@marco-scholl.de wrote:
>>
>> i can confirm this
>>
>> ruby-rgen is not found.
>>
>> greets
>>
>> ---
>>
>> Paketlisten werden gelesen... Fertig
>> Abhängigkeitsbaum wird aufgebaut
>> Statusinformationen werden eingelesen... Fertig
>> Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
>> Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
>> Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
>> nicht erstellt wurden oder Incoming noch nicht verlassen haben.
>> Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu
>> lösen:
>>
>> Die folgenden Pakete haben unerfüllte Abhängigkeiten:
>> puppet : Hängt ab von: puppet-common (= 3.2.1-1puppetlabs1) soll aber
>> nicht installiert werden
>> E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene
>> defekte Pakete.
>> $ sudo apt-get install puppet-common
>> Paketlisten werden gelesen... Fertig
>> Abhängigkeitsbaum wird aufgebaut
>> Statusinformationen werden eingelesen... Fertig
>> Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
>> Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
>> Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
>> nicht erstellt wurden oder Incoming noch nicht verlassen haben.
>> Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu
>> lösen:
>>
>> Die folgenden Pakete haben unerfüllte Abhängigkeiten:
>> puppet-common : Hängt ab von: ruby-rgen ist aber nicht installierbar
>> Empfiehlt: debconf-utils soll aber nicht installiert
>> werden
>> E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene
>> defekte Pakete.

Eric Sorenson

unread,
May 24, 2013, 4:55:51 PM5/24/13
to puppet...@googlegroups.com
On May 24, 2013, at 1:53 AM, Greg Sutcliffe <greg.su...@gmail.com> wrote:

> I've hit this, but it's because I have the main Puppetlabs repo in my preseed file for new virtual machines, so it's available within the installer environment. That's just text, so I only have a line for "deb http://apt.puppetlabs.com <distro> main"
>
> I think the "install a deb which sets up the repos" is good for most people, but there should always be the docs for the manual apt setup for those going a different route. As of right now, I don't see a "dependencies" repo mentioned anywhere on the page you linked, Eric
>
> I'll also add a voice the question on the logic behind a separate dependencies repo, although only because you're adding work to your documentation requirements ;)
>

Hi Greg, thanks for the info -- I slightly disagree that the docs should describe manual installation; IMO they should describe supported/official ways to do things, because anything that's documented gets interpreted as being supported and official :)

That said, we could punch up the importance of including the deps repository. It's been necessary for EL users for a long time, but this was the first Puppet release that pulled in a hard dependency for Debian-based systems.

There's an administrative reason and a technical reason for the dependencies repo:
1. administratively, it indicates which packages are derived from puppetlabs-owned repos vs upstream projects
2. technically, those packages can be provided by other sources so the separate repo keeps them from cross-polluting your system.

As an extreme but real-world example the EL5 dependencies repo contains an updated Ruby package, and it'd be surprising/dangerous to update Ruby on everyone's system when they thought they were just getting Puppet.

We'll do a better job in the future of
(a) pointing out the necessity of the dependencies repo in the release notes
(b) featuring the Upgrading guide ( http://docs.puppetlabs.com/guides/upgrading.html ) more prominently, as it has best practice for safe upgrading

(PS I'll note for the record, that page says: "We highly recommend avoiding unintentional upgrades." and goes into detail about how to do that.)

Eric Sorenson - eric.s...@puppetlabs.com
#puppet irc: eric0

Greg Sutcliffe

unread,
May 24, 2013, 9:12:15 PM5/24/13
to puppet-users
On 24 May 2013 21:55, Eric Sorenson <eric.s...@puppetlabs.com> wrote:
Hi Greg, thanks for the info -- I slightly disagree that the docs should describe manual installation; IMO they should describe supported/official ways to do things, because anything that's documented gets interpreted as being supported and official :)

Amen to that ;)
 
That said, we could punch up the importance of including the deps repository. It's been necessary for EL users for a long time, but this was the first Puppet release that pulled in a hard dependency for Debian-based systems.

I'll snip here as I broadly agree with you anyway ;)

I think it would be fine to have an "Advanced" or "Manual APT" section that's away from the recommended route. I don't object to a recommended route _at all_ but I do feel the information should be there for those that want to find it. As of today (I think) one cannot find mention of the additional repo in the docs.

Greg
freenode: gwmngilfen

Arnaud Gomes-do-Vale

unread,
May 25, 2013, 1:52:05 PM5/25/13
to puppet...@googlegroups.com
Eric Sorenson <eric.s...@puppetlabs.com> writes:

> We'll do a better job in the future of
> (a) pointing out the necessity of the dependencies repo in the release
> notes
> (b) featuring the Upgrading guide (
> http://docs.puppetlabs.com/guides/upgrading.html ) more prominently,
> as it has best practice for safe upgrading

Maybe adding a line to the release announcement, something like
"WARNING, Debian users, you now need an additional dependencies repo to
install the puppet package" would have helped?

I know "use the release package" is the proper way to set up apt, but it
is not available during install -- I was hit by the issue when doing a
fresh install on a new VM, with a preseed file that used to work.

--
Arnaud

Matthew Kennedy

unread,
May 25, 2013, 4:04:02 PM5/25/13
to puppet...@googlegroups.com

Why are there two separate repos, especially when you are unable to install a package from main without the other?

Martijn

unread,
May 28, 2013, 4:15:11 AM5/28/13
to puppet...@googlegroups.com
Eric, I've not used the puppetlabs-release deb at all. my EC2 hosts have the puppetlabs repo added at bootstrap time, through cloud-init user-data. This is the entire config.

#cloud-config
manage_etc_hosts: true
hostname: <hostname>
fqdn: <hostname>.example.com
apt_sources:
 - source: "deb http://apt.puppetlabs.com $RELEASE main"
   keyid: 4BD6EC30
   filename: puppetlabs.list
apt_update: true
apt_upgrade: true
packages:
 - puppet
puppet:
  conf:
    agent:
      server: "puppet.example.com"
      certname: "%i.<hostname>.eu-west-1"

...where <hostname> is set to the, well, desired hostname. This is enough to add the repo, install and configure Puppet and connect to our master, which then takes over. Puppet then configures the server, including taking over management of puppet.conf and puppetlabs.list.

To resolve this upgrade issue, I've made two changes. I've modified the cloud-init script to correctly bootstrap new nodes:

source: "deb http://apt.puppetlabs.com $RELEASE main dependencies"

Also, I've fixed existing nodes by pushing a similar change through Puppet before attempting the upgrade to 3.2.1.

Regards, Martijn


Op donderdag 23 mei 2013 23:25:52 UTC+2 schreef Eric Sorenson het volgende:

Justin

unread,
Jun 14, 2013, 10:30:38 PM6/14/13
to puppet...@googlegroups.com
Read through the thread and didn't see a fix. I'm running into this issue with a new Ubuntu server. Any help?

Here's how I installed the repo.

~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.10
Release:        12.10
Codename:       quantal


~# dpkg -i puppetlabs-release-quantal.deb 
(Reading database ... 60865 files and directories currently installed.)
Preparing to replace puppetlabs-release 1.0-7 (using puppetlabs-release-quantal.deb) ...
Unpacking replacement puppetlabs-release ...
Setting up puppetlabs-release (1.0-7) ...

~# grep '^deb' /etc/apt/sources.list.d/puppetlabs.list
deb http://apt.puppetlabs.com quantal main
deb-src http://apt.puppetlabs.com quantal main
deb http://apt.puppetlabs.com quantal dependencies
deb-src http://apt.puppetlabs.com quantal dependencies

# apt-get install puppet
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:
 puppet : Depends: puppet-common (= 3.2.1-1puppetlabs1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.


Justin

unread,
Jun 14, 2013, 10:35:10 PM6/14/13
to puppet...@googlegroups.com
Forgot to paste my apt-get update output (which I ran immediately after installing the repo).

~# apt-get update 
Hit http://apt.puppetlabs.com quantal Release.gpg
Hit http://us.archive.ubuntu.com quantal Release.gpg
Hit http://apt.puppetlabs.com quantal Release
Hit http://us.archive.ubuntu.com quantal-security Release.gpg
Hit http://apt.puppetlabs.com quantal/main Sources
Hit http://us.archive.ubuntu.com quantal-updates Release.gpg
Hit http://apt.puppetlabs.com quantal/dependencies Sources
Hit http://us.archive.ubuntu.com quantal Release
Hit http://apt.puppetlabs.com quantal/main amd64 Packages             
Hit http://us.archive.ubuntu.com quantal-security Release
Hit http://apt.puppetlabs.com quantal/dependencies amd64 Packages     
Hit http://apt.puppetlabs.com quantal/main i386 Packages              
Hit http://us.archive.ubuntu.com quantal-updates Release
Hit http://apt.puppetlabs.com quantal/dependencies i386 Packages      
Hit http://us.archive.ubuntu.com quantal/main Sources
Hit http://us.archive.ubuntu.com quantal/main amd64 Packages
Hit http://us.archive.ubuntu.com quantal/main i386 Packages
Hit http://us.archive.ubuntu.com quantal/main Translation-en
Hit http://us.archive.ubuntu.com quantal-security/main Sources
Hit http://us.archive.ubuntu.com quantal-security/main amd64 Packages
Hit http://us.archive.ubuntu.com quantal-security/main i386 Packages
Hit http://us.archive.ubuntu.com quantal-security/main Translation-en
Hit http://us.archive.ubuntu.com quantal-updates/main Sources
Hit http://us.archive.ubuntu.com quantal-updates/main amd64 Packages
Hit http://us.archive.ubuntu.com quantal-updates/main i386 Packages
Ign http://apt.puppetlabs.com quantal/dependencies Translation-en_US
Hit http://us.archive.ubuntu.com quantal-updates/main Translation-en
Ign http://apt.puppetlabs.com quantal/dependencies Translation-en
Ign http://apt.puppetlabs.com quantal/main Translation-en_US
Ign http://apt.puppetlabs.com quantal/main Translation-en
Ign http://us.archive.ubuntu.com quantal/main Translation-en_US
Ign http://us.archive.ubuntu.com quantal-security/main Translation-en_US
Ign http://us.archive.ubuntu.com quantal-updates/main Translation-en_US
Reading package lists... Done

Justin

unread,
Jun 14, 2013, 11:05:29 PM6/14/13
to puppet...@googlegroups.com
Disregard, my bad.

This was a server that didn't have the Ubuntu universe repo enabled, which is why it could find the virt-what (facter) or libjson-ruby and ruby-json (hiera) packages.
Reply all
Reply to author
Forward
0 new messages