but had no response.
I'm trying to install Jenkins with Puppet using the manifests below.
# init.pp
class jenkins {
include jenkins::install, jenkins::service
}
# service.pp
class jenkins::service {
service { "jenkins":
ensure => running,
hasstatus => true,
hasrestart => true,
enable => true,
require => Class["jenkins::install"],
}
}
# install.pp
class jenkins::install {
include jenkins::install::repo
include jenkins::install::java
package { "jenkins":
ensure => present,
require =>
Class['jenkins::install::repo','jenkins::install::java'],
}
}
# install/repo.pp
class jenkins::install::repo {
file { "/etc/pki/rpm-gpg/jenkins-ci.org.key":
owner => root,
group => root,
mode => 0600,
source => "puppet:///jenkins/jenkins-ci.org.key"
}
yumrepo { "jenkins":
baseurl => "http://pkg.jenkins-ci.org/redhat",
descr => "Jenkins",
enabled => 1,
gpgcheck => 1,
gpgkey => "file:///etc/pki/rpm-gpg/jenkins-ci.org.key",
require => File["/etc/pki/rpm-gpg/jenkins-ci.org.key"]
}
}
# install/java.pp
class jenkins::install::java {
package { "java-1.6.0-openjdk":
ensure => present,
}
}
The repo is added and the key written to the file system. However, I get
the following error.
err: /Stage[main]/Jenkins::Install/Package[jenkins]/ensure: change
from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y
install jenkins' returned 1: warning: rpmts_HdrFromFdno: Header V4 DSA
signature: NOKEY, key ID d50582e6
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 309, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 261, in main
return_code = base.doTransaction()
File "/usr/share/yum-cli/cli.py", line 410, in doTransaction
if self.gpgsigcheck(downloadpkgs) != 0:
File "/usr/share/yum-cli/cli.py", line 510, in gpgsigcheck
self.getKeyForPackage(po, lambda x, y, z: self.userconfirm())
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line
3519, in getKeyForPackage
keys = self._retrievePublicKey(keyurl, repo)
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line
3484, in _retrievePublicKey
keys_info = misc.getgpgkeyinfo(rawkey, multiple=True)
File "/usr/lib/python2.4/site-packages/yum/misc.py", line 375, in
getgpgkeyinfo
raise ValueError(str(e))
ValueError: unknown pgp packet type 17 at 706
This suggests to me that the key isn't being imported successfully, and
`rpm -qa gpg-pubkey` doesn't show the key. If I manually `yum install
jenkins` without the key imported I get the same error. With the key
imported, the manual installation succeeds.
I'm successfully installing other yum repos and keys standalone (basically
the `install/repo.pp` manifest as its own module), such as EPEL, but as
this repo is only for Jenkins I wanted to include it in my Jenkins module.
Is there something wrong with my manifests? Or some other problem?
**UPDATE**:
If I run this manifest on the node with `puppet apply jenkins.pp` I get the
following error. I don't know if this is part of the problem or a red
herring.
# jenkins.pp
file { "/etc/pki/rpm-gpg/jenkins-ci.org.key":
owner => root,
group => root,
mode => 0600,
source => "/root/jenkins-ci.org.key"
}
yumrepo { "jenkins":
baseurl => "http://pkg.jenkins-ci.org/redhat",
descr => "Jenkins",
enabled => 1,
gpgcheck => 1,
gpgkey => "file:///etc/pki/rpm-gpg/jenkins-ci.org.key",
require => File["/etc/pki/rpm-gpg/jenkins-ci.org.key"]
}
# output
warning: Could not retrieve fact fqdn
notice:
/Stage[main]//File[/etc/pki/rpm-gpg/jenkins-ci.org.key]/ensure: defined
content as '{md5}9fa06089848262c5a6383ec27fdd2575'
notice: /Stage[main]//Yumrepo[jenkins]/descr: descr changed '' to
'Jenkins'
notice: /Stage[main]//Yumrepo[jenkins]/baseurl: baseurl changed ''
to 'http://pkg.jenkins-ci.org/redhat'
notice: /Stage[main]//Yumrepo[jenkins]/enabled: enabled changed ''
to '1'
notice: /Stage[main]//Yumrepo[jenkins]/gpgcheck: gpgcheck changed
'' to '1'
notice: /Stage[main]//Yumrepo[jenkins]/gpgkey: gpgkey changed '' to
'file:///etc/pki/rpm-gpg/jenkins-ci.org.key'
notice: Finished catalog run in 0.11 seconds
err: /File[/var/lib/puppet/rrd]/ensure: change from absent to
directory failed: Could not set 'directory on ensure: Could not find group
puppet
err: Could not send report: Got 1 failure(s) while initializing:
change from absent to directory failed: Could not set 'directory on ensure:
Could not find group puppet
Again, the repo is added but the key is not imported.
Any advice would be greatly appreciated.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/vXiEqP6KCt4J.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.