| group { |
| "puppet": ensure => "present" |
| } |
| |
| Exec { |
| path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/", |
| "/usr/local/bin"] |
| } |
| |
| stage { 'pre': |
| before => Stage['main'] |
| } |
| |
| class { 'baseconfig': |
| stage => 'pre' |
| } |
| |
| class baseconfig { |
| exec { "Update the system": |
| command => "/usr/bin/yum -y update" |
| } |
| |
| $packages = [ "zlib-devel", "bzip2-devel", "openssl-devel", "ncurses-devel", "mysql-devel", "libxml2-devel", "libxslt-devel", "unixODBC-devel", "sqlite", "sqlite-devel", "wget", "git" ] |
| |
| package { |
| $packages: ensure => "installed" |
| } |
| |
| exec { "Install Development Tools": |
| unless => "yum grouplist 'Development tools' | /bin/grep '^Installed Groups'", |
| command => "yum -y groupinstall 'Development tools'", |
| } |
| } |
| |
| class ec2stack { |
| exec { "Install Python 2.7": |
| command => "rm -rf Python-2.7.4* && wget --no-check-certificate http://www.python.org/ftp/python/2.7.4/Python-2.7.4.tar.bz2 && tar xf Python-2.7.4.tar.bz2 && cd Python-2.7.4 && ./configure --prefix=/usr/local && make && make altinstall", |
| cwd => "/tmp", |
| unless => "which python2.7", |
| timeout => 60 * 20, |
| tries => 5, |
| try_sleep => 30 |
| } |
| |
| exec { "Install distribute 0.6.10 for Python 2.6": |
| command => "rm -rf distribute-* && wget --no-check-certificate http://pypi.python.org/packages/source/d/distribute/distribute-0.6.10.tar.gz && tar -xvzf distribute-0.6.10.tar.gz && cd distribute-0.6.10 && python2.6 setup.py install", |
| cwd => "/tmp", |
| unless => "which easy_install-2.6", |
| timeout => 60 * 10, |
| tries => 5, |
| try_sleep => 30 |
| } |
| |
| exec { "Install distribute 0.6.10 for Python 2.7": |
| command => "rm -rf distribute-* && wget --no-check-certificate http://pypi.python.org/packages/source/d/distribute/distribute-0.6.10.tar.gz && tar -xvzf distribute-0.6.10.tar.gz && cd distribute-0.6.10 && python2.7 setup.py install", |
| cwd => "/tmp", |
| require => [ Exec["Install Python 2.7"] ], |
| unless => "which easy_install-2.7", |
| timeout => 60 * 10, |
| tries => 5, |
| try_sleep => 30 |
| } |
| |
| exec { "Install virtualenv 1.9.1 for Python 2.6": |
| command => "rm -rf virtualenv-* && wget --no-check-certificate https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.9.1.tar.gz#md5=07e09df0adfca0b2d487e39a4bf2270a && tar -xvzf virtualenv-1.9.1.tar.gz && cd virtualenv-1.9.1 && python2.6 setup.py install", |
| cwd => "/tmp", |
| require => [ Exec["Install distribute 0.6.10 for Python 2.6"] ], |
| unless => "which virtualenv-2.6", |
| timeout => 60 * 10, |
| tries => 5, |
| try_sleep => 30 |
| } |
| |
| exec { "Install virtualenvwrapper 4.0 for Python 2.6": |
| command => "rm -rf virtualenvwrapper-* && wget --no-check-certificate https://pypi.python.org/packages/source/v/virtualenvwrapper/virtualenvwrapper-4.0.tar.gz#md5=78df3b40735e959479d9de34e4b8ba15 && tar -xvzf virtualenvwrapper-4.0.tar.gz && cd virtualenvwrapper-4.0 && python2.6 setup.py install", |
| cwd => "/tmp", |
| require => [ Exec["Install virtualenv 1.9.1 for Python 2.6"] ], |
| unless => "which virtualenvwrapper.sh", |
| timeout => 60 * 10, |
| tries => 5, |
| try_sleep => 30 |
| } |
| |
| exec { "Install pep8 for Python 2.6": |
| command => "easy_install pep8", |
| cwd => "/tmp", |
| require => [ Exec["Install distribute 0.6.10 for Python 2.6"] ], |
| unless => "which pep8", |
| timeout => 60 * 10, |
| tries => 5, |
| try_sleep => 30 |
| } |
| |
| exec { "Install pylint for Python 2.6": |
| command => "easy_install pylint", |
| require => [ Exec["Install distribute 0.6.10 for Python 2.6"] ], |
| unless => "which pylint", |
| timeout => 60 * 10, |
| tries => 5, |
| try_sleep => 30 |
| } |
| |
| exec { "Install awscli for Python2.6": |
| command => "easy_install awscli", |
| require => [ Exec["Install distribute 0.6.10 for Python 2.6"] ], |
| unless => "which aws", |
| timeout => 60 * 10, |
| tries => 5, |
| try_sleep => 30 |
| } |
| |
| file { |
| "/etc/profile.d/virtualenv.sh": |
| ensure => present, |
| source => "file:///vagrant/puppet/files/virtualenv.sh" |
| ; |
| "/etc/profile.d/alias.sh": |
| ensure => present, |
| source => "file:///vagrant/puppet/files/alias.sh" |
| ; |
| } |
| } |
| |
| include baseconfig |
| include ec2stack |
| include rpmrepos::epel |
| include rpmrepos::rpmforge |