system-config/modules/jeepyb/manifests/init.pp
Elizabeth Krumbach 0a8dc769da Add gcc package dependency to jeepyb module
The entrypoints use for jeepyb won't work without pycrypto
installed, so we want to be able to pip install pycrypto which
requires the gcc package.

Change-Id: I9ff914347743c20728b5b10028866d8cbc7f0c61
2013-07-29 13:33:04 -07:00

80 lines
1.7 KiB
Puppet

# == Class: jeepyb
#
class jeepyb (
$git_source_repo = 'https://github.com/openstack-infra/jeepyb.git',
) {
include mysql::python
if ! defined(Package['python-paramiko']) {
package { 'python-paramiko':
ensure => present,
}
}
if ! defined(Package['PyGithub']) {
package { 'PyGithub':
ensure => latest,
provider => pip,
require => Class['pip'],
}
}
if ! defined(Package['gerritlib']) {
package { 'gerritlib':
ensure => latest,
provider => pip,
require => Class['pip'],
}
}
if ! defined(Package['pkginfo']) {
package { 'pkginfo':
ensure => latest,
provider => pip,
require => Class['pip'],
}
}
package { 'gcc':
ensure => present,
}
# A lot of things need yaml, be conservative requiring this package to avoid
# conflicts with other modules.
case $::osfamily {
'Debian': {
if ! defined(Package['python-yaml']) {
package { 'python-yaml':
ensure => present,
}
}
}
'RedHat': {
if ! defined(Package['PyYAML']) {
package { 'PyYAML':
ensure => present,
}
}
}
default: {
fail("Unsupported osfamily: ${::osfamily} The 'jeepyb' module only supports osfamily Debian or RedHat.")
}
}
vcsrepo { '/opt/jeepyb':
ensure => latest,
provider => git,
revision => 'master',
source => $git_source_repo,
}
exec { 'install_jeepyb' :
command => 'python setup.py install',
cwd => '/opt/jeepyb',
path => '/bin:/usr/bin',
refreshonly => true,
require => Class['mysql::python'],
subscribe => Vcsrepo['/opt/jeepyb'],
}
}