Last active
August 29, 2015 14:04
-
-
Save markllama/77310acb8ea87ff806ed to your computer and use it in GitHub Desktop.
A rudimenatry puppet script to install Pulp on Fedora 19 or RHEL6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if $::operatingsystem == 'Fedora' or $::operatingsystemmajrelease > 6 { | |
exec {'open firewall ports': | |
command => '/usr/bin/firewall-cmd --zone public --add-service http --add-service https ; /usr/bin/firewall-cmd --zone public --add-port 5671/tcp --add-port 5672/tcp' | |
} | |
} else { | |
exec {'open firewall ports': | |
command => '/usr/sbin/lokkit --service http --service https --port 5671:tcp --port 5672:tcp' | |
} | |
} | |
exec {'disable selinux': | |
command => '/usr/sbin/setenforce 0', | |
unless => '/usr/sbin/getenforce | grep Permissive' | |
} | |
package {'yum-utils': ensure => present } | |
if $::operatingsystem == "Fedora" { | |
exec {'create pulp repo': | |
command => '/usr/bin/curl -s -o /etc/yum.repos.d/pulp.repo http://repos.fedorapeople.org/repos/pulp/pulp/fedora-pulp.repo', | |
creates => '/etc/yum.repos.d/pulp.repo' | |
} | |
} else { | |
exec {'create pulp repo': | |
command => '/usr/bin/curl -s -o /etc/yum.repos.d/pulp.repo http://repos.fedorapeople.org/repos/pulp/pulp/rhel-pulp.repo', | |
creates => '/etc/yum.repos.d/pulp.repo' | |
} | |
} | |
exec {'disable pulp stable': | |
command => '/usr/bin/yum-config-manager --disable pulp-v2-stable', | |
require => [ Package['yum-utils'], Exec['create pulp repo'] ] | |
} | |
exec {'enable pulp beta': | |
command => '/usr/bin/yum-config-manager --enable pulp-v2-beta', | |
require => [ Package['yum-utils'], Exec['create pulp repo'] ] | |
} | |
if $::operatingsystem != 'Fedora' { | |
if $::operatingsystemmajrelease == 6 { | |
package {'epel-release': | |
ensure => present, | |
source => 'http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm' | |
} | |
} else { | |
if $::operatingsystemmajrelease == 7 { | |
package {'epel-release': | |
ensure => present, | |
source => 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm' | |
} | |
} | |
} | |
} | |
package {'mongodb': ensure => present } | |
package {'mongodb-server': | |
ensure => present | |
} | |
service {'mongod': | |
ensure => running, | |
enable => true | |
} | |
package {'qpid-cpp-server': ensure => present } | |
package {'python-qpid-qmf': | |
ensure => present, | |
require => Package['qpid-cpp-server'] | |
} | |
package {'python-qpid': | |
ensure => present, | |
require => Package['qpid-cpp-server'] | |
} | |
package {'qpid-tools': ensure => present, | |
require => Package['qpid-cpp-server'] | |
} | |
if $::operatingsystem == 'Fedora' or $::operatingsystemmajrelease > 6 { | |
$qpidd_conf_file = '/etc/qpid/qpidd.conf' | |
exec {'disable qpidd auth': | |
command => "/usr/bin/sed -i '\$aauth=false' $qpidd_conf_file", | |
unless => "/usr/bin/grep -q auth=false $qpidd_conf_file", | |
require => Package['qpid-cpp-server'] | |
} | |
} else { | |
$qpidd_conf_file = '/etc/qpidd.conf' | |
exec {'disable qpidd auth': | |
command => "/bin/sed -i 's/auth=yes/auth=no/' $qpidd_conf_file", | |
unless => "/bin/grep 'auth=no' $qpidd_conf_file", | |
require => Package['qpid-cpp-server'] | |
} | |
} | |
service {'qpidd': | |
ensure => running, | |
enable => true, | |
require => Exec['disable qpidd auth'] | |
} | |
package {'pulp-server': | |
ensure => present, | |
require => Exec['enable pulp beta'] | |
} | |
package {'pulp-selinux': ensure => present, require => Package['pulp-server'] } | |
package {'pulp-rpm-plugins': | |
ensure => present, | |
require => Package['pulp-server'] | |
} | |
package {'pulp-puppet-plugins': | |
ensure => present, | |
require => Package['pulp-server'] | |
} | |
package {'git': ensure => present } | |
exec {'unpack pulp_docker': | |
command => '/usr/bin/git clone https://github.com/pulp/pulp_docker.git /opt/pulp_docker', | |
creates => '/opt/pulp_docker', | |
require => Package['git'] | |
} | |
exec {'install pulp-docker-plugin': | |
cwd => '/opt/pulp_docker', | |
command => '/opt/pulp_docker/manage_setup_pys.sh develop', | |
require => Exec['unpack pulp_docker'], | |
#creates => '/usr/lib/python2.7/site-packages/pulp_docker_plugins-0.1.0-py2.7.egg' | |
creates => '/usr/lib/python2.7/site-packages/pulp-docker-extensions-admin.egg-link' | |
} | |
exec {'config pulp-docker plugin': | |
cwd => '/opt/pulp_docker', | |
command => '/opt/pulp_docker/pulp-dev.py -I', | |
require => Exec['install pulp-docker-plugin'], | |
creates => '/usr/lib/pulp/plugins/types/docker.json' | |
} | |
file {'/etc/pulp/vhosts80/blank.conf': | |
ensure => present, | |
require => Package['pulp-server'] | |
} | |
exec {'initialize pulp database': | |
command => '/usr/bin/pulp-manage-db', | |
user => 'apache', | |
require => [ Service['mongod'], Service['qpidd'], | |
Package['qpid-tools'], Exec['config pulp-docker plugin']], | |
unless => '/usr/bin/echo "show dbs" | mongo --quiet | grep -q pulp_database' | |
} | |
service {'httpd': | |
enable => true, | |
ensure => running, | |
require => Exec['initialize pulp database'] | |
} | |
service {'pulp_workers': | |
enable => true, | |
ensure => running, | |
require => [Package['pulp-server'], Service[httpd]] | |
} | |
service {'pulp_resource_manager': | |
enable => true, | |
ensure => running, | |
require => Service['pulp_workers'] | |
} | |
service {'pulp_celerybeat': | |
enable => true, | |
ensure => running, | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package {'pulp-admin-client': ensure => present } | |
package {'pulp-puppet-admin-extensions': ensure => present } | |
package {'pulp-rpm-admin-extensions': ensure => present } | |
exec {'set pulp admin server': | |
command => "/usr/bin/sed -i -e '/host\s*=/s/=.*$/= ${hostname}/' /etc/pulp/admin/admin.conf", | |
unless => "/usr/bin/grep -q '${hostname}' /etc/pulp/admin/admin.conf" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment