Using ```puppetlabs/apt``` in a puppet provisioner for vagrant. the
module is installed in puppet/modules and I'm getting a strange Dependency
cycle error.
the code in the manifest file:
# Run apt-get update when anything beneath /etc/apt/ changes
#taken from
https://blog.kumina.nl/2010/11/puppet-tipstricks-running-apt-get-update-only-when-needed/
exec { "apt-get update":
command => "/usr/bin/apt-get update",
onlyif => "/bin/sh -c '[ ! -f /var/cache/apt/pkgcache.bin ] ||
/usr/bin/find /etc/apt/* -cnewer /var/cache/apt/pkgcache.bin | /bin/grep .
> /dev/null'",
}
package {
["build-essential","apache2","git","python","python-dev","python-setuptools",
"python-pip"]:
ensure => present,
require => Exec["apt-get update"],
}
class { 'apt':
}
include apt
apt::builddep { ["python-imaging","python-lxml"]:
require => Class['apt']
}
class {'nodejs':
}
include nodejs
package {"less":
ensure => present,
provider => 'npm',
require => Package['npm'],
}
I actually noticed similiar questions
[here](http://stackoverflow.com/questions/13568748/dependency-cycle-with-apt-source)
and
[here](http://stackoverflow.com/questions/15384733/puppet-issue-with-aptsource-and-stages),
but not with a satisfying answer.
The error message:
←[0;37mdebug: /Stage[main]//Package[python-virtualenv]/require:
requires Package
[python-pip]←[0m
←[0;37mdebug: /Stage[main]//Package[python-virtualenv]/require:
requires Package
[python-setuptools]←[0m
←[0;37mdebug: /Stage[main]/Apt/File[configure-apt-proxy]/notify:
subscribes to E
xec[apt_update]←[0m
←[0;37mdebug: /Stage[main]/Apt/Anchor[apt::update]/require: requires
Class[Apt::
Update]←[0m
←[0;37mdebug: /Stage[main]/Apt/File[sources.list.d]/notify: subscribes
to Exec[a
pt_update]←[0m
←[0;37mdebug: /Stage[main]//Package[python-pip]/require: requires
Exec[apt-get u
pdate]←[0m
←[0;37mdebug:
/Stage[main]//Apt::Builddep[python-lxml]/Exec[apt-builddep-python-
lxml]/notify: subscribes to Exec[apt_update]←[0m
←[0;37mdebug: /Stage[main]//Package[apache2]/require: requires
Exec[apt-get upda
te]←[0m
←[0;37mdebug: /Stage[main]//Package[python-dev]/require: requires
Exec[apt-get u
pdate]←[0m
←[0;37mdebug: /Stage[main]/Nodejs/Package[npm]/require: requires
Anchor[nodejs::
repo]←[0m
←[0;37mdebug: /Stage[main]/Nodejs/Package[nodejs]/require: requires
Anchor[nodej
s::repo]←[0m
←[0;37mdebug: /Stage[main]//Package[python]/require: requires
Exec[apt-get updat
e]←[0m
←[0;37mdebug: /Stage[main]//Package[build-essential]/require: requires
Exec[apt-
get update]←[0m
←[0;37mdebug: /Stage[main]//Apt::Builddep[python-imaging]/require:
requires Clas
s[Apt]←[0m
←[0;37mdebug: /Stage[main]//Package[git]/require: requires Exec[apt-get
update]←
[0m
←[0;37mdebug: /Stage[main]//Package[less]/require: requires
Package[npm]←[0m
←[0;37mdebug: /Stage[main]//Package[sphinx]/require: requires
Package[python-pip
]←[0m
←[0;37mdebug:
/Stage[main]//Apt::Builddep[python-imaging]/Anchor[apt::builddep::
python-imaging]/require: requires Class[Apt::Update]←[0m
←[0;37mdebug: /Stage[main]//Package[python-setuptools]/require:
requires Exec[ap
t-get update]←[0m
←[0;37mdebug: /Stage[main]/Apt/File[sources.list]/notify: subscribes to
Exec[apt
_update]←[0m
←[0;37mdebug:
/Stage[main]//Apt::Builddep[python-imaging]/Exec[apt-builddep-pyth
on-imaging]/notify: subscribes to Exec[apt_update]←[0m
←[0;37mdebug:
/Stage[main]//Apt::Builddep[python-lxml]/Anchor[apt::builddep::pyt
hon-lxml]/require: requires Class[Apt::Update]←[0m
←[0;37mdebug: /Stage[main]//Apt::Builddep[python-lxml]/require:
requires Class[A
pt]←[0m
←[1;35merr: Could not apply complete catalog: Found 1 dependency cycle:
(Anchor[apt::update] => Class[Apt] => Apt::Builddep[python-lxml] =>
Exec[apt-bui
lddep-python-lxml] => Exec[apt_update] => Class[Apt::Update] =>
Anchor[apt::upda
te])
Try the '--graph' option and opening the resulting '.dot' file in
OmniGraffle or
GraphViz←[0m
any known workaound? solution?
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.