diff --git a/doc/puppet_modules.rst b/doc/puppet_modules.rst index 702d6d9f86..9506313b54 100644 --- a/doc/puppet_modules.rst +++ b/doc/puppet_modules.rst @@ -224,7 +224,7 @@ adding the class call below: .. code-block:: ruby - class { 'jenkins_master': + class { 'jenkins::master': site => 'jenkins.openstack.org', serveradmin => 'webmaster@openstack.org', logo => 'openstack.png' @@ -252,12 +252,12 @@ In the site.pp file the ``logo`` parameter is important: .. code-block:: ruby - class { 'jenkins_master': + class { 'jenkins::master': ... logo => 'openstack.png' } -This relates to a PNG file that must be in the ``modules/jenkins_master/files/`` +This relates to a PNG file that must be in the ``modules/jenkins/files/`` directory. Once puppet installs this and the plugin is installed you need to go into diff --git a/manifests/site.pp b/manifests/site.pp index 756afa4db7..be9bfdb38f 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -127,7 +127,7 @@ node /^precise.*\.slave\.openstack\.org$/ { limit_item => 'nproc', limit_value => '256' } - include jenkins_slave::cgroups + include jenkins::cgroups } node /^.*\.slave\.openstack\.org$/ { diff --git a/modules/jenkins_slave/files/10-ptrace.conf b/modules/jenkins/files/10-ptrace.conf similarity index 100% rename from modules/jenkins_slave/files/10-ptrace.conf rename to modules/jenkins/files/10-ptrace.conf diff --git a/modules/jenkins_slave/files/cgroups/cgrules.conf b/modules/jenkins/files/cgroups/cgrules.conf similarity index 100% rename from modules/jenkins_slave/files/cgroups/cgrules.conf rename to modules/jenkins/files/cgroups/cgrules.conf diff --git a/modules/jenkins_slave/files/gitconfig b/modules/jenkins/files/gitconfig similarity index 100% rename from modules/jenkins_slave/files/gitconfig rename to modules/jenkins/files/gitconfig diff --git a/modules/jenkins_slave/files/localrc b/modules/jenkins/files/localrc similarity index 100% rename from modules/jenkins_slave/files/localrc rename to modules/jenkins/files/localrc diff --git a/modules/jenkins_master/files/openstack-page-bkg.jpg b/modules/jenkins/files/openstack-page-bkg.jpg similarity index 100% rename from modules/jenkins_master/files/openstack-page-bkg.jpg rename to modules/jenkins/files/openstack-page-bkg.jpg diff --git a/modules/jenkins_master/files/openstack.css b/modules/jenkins/files/openstack.css similarity index 100% rename from modules/jenkins_master/files/openstack.css rename to modules/jenkins/files/openstack.css diff --git a/modules/jenkins_master/files/openstack.png b/modules/jenkins/files/openstack.png similarity index 100% rename from modules/jenkins_master/files/openstack.png rename to modules/jenkins/files/openstack.png diff --git a/modules/jenkins_slave/files/pip.conf b/modules/jenkins/files/pip.conf similarity index 100% rename from modules/jenkins_slave/files/pip.conf rename to modules/jenkins/files/pip.conf diff --git a/modules/jenkins_slave/files/pubring.gpg b/modules/jenkins/files/pubring.gpg similarity index 100% rename from modules/jenkins_slave/files/pubring.gpg rename to modules/jenkins/files/pubring.gpg diff --git a/modules/jenkins_slave/files/pydistutils.cfg b/modules/jenkins/files/pydistutils.cfg similarity index 100% rename from modules/jenkins_slave/files/pydistutils.cfg rename to modules/jenkins/files/pydistutils.cfg diff --git a/modules/jenkins_slave/files/rubygems.sh b/modules/jenkins/files/rubygems.sh similarity index 100% rename from modules/jenkins_slave/files/rubygems.sh rename to modules/jenkins/files/rubygems.sh diff --git a/modules/jenkins_slave/files/slave_scripts/baremetal-archive-logs.sh b/modules/jenkins/files/slave_scripts/baremetal-archive-logs.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/baremetal-archive-logs.sh rename to modules/jenkins/files/slave_scripts/baremetal-archive-logs.sh diff --git a/modules/jenkins_slave/files/slave_scripts/baremetal-deploy.sh b/modules/jenkins/files/slave_scripts/baremetal-deploy.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/baremetal-deploy.sh rename to modules/jenkins/files/slave_scripts/baremetal-deploy.sh diff --git a/modules/jenkins_slave/files/slave_scripts/baremetal-os-install.sh b/modules/jenkins/files/slave_scripts/baremetal-os-install.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/baremetal-os-install.sh rename to modules/jenkins/files/slave_scripts/baremetal-os-install.sh diff --git a/modules/jenkins_slave/files/slave_scripts/bump-milestone.sh b/modules/jenkins/files/slave_scripts/bump-milestone.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/bump-milestone.sh rename to modules/jenkins/files/slave_scripts/bump-milestone.sh diff --git a/modules/jenkins_slave/files/slave_scripts/create-ppa-package.sh b/modules/jenkins/files/slave_scripts/create-ppa-package.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/create-ppa-package.sh rename to modules/jenkins/files/slave_scripts/create-ppa-package.sh diff --git a/modules/jenkins_slave/files/slave_scripts/create-tarball.sh b/modules/jenkins/files/slave_scripts/create-tarball.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/create-tarball.sh rename to modules/jenkins/files/slave_scripts/create-tarball.sh diff --git a/modules/jenkins_slave/files/slave_scripts/gerrit-doc-properties.sh b/modules/jenkins/files/slave_scripts/gerrit-doc-properties.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/gerrit-doc-properties.sh rename to modules/jenkins/files/slave_scripts/gerrit-doc-properties.sh diff --git a/modules/jenkins_slave/files/slave_scripts/gerrit-git-prep.sh b/modules/jenkins/files/slave_scripts/gerrit-git-prep.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/gerrit-git-prep.sh rename to modules/jenkins/files/slave_scripts/gerrit-git-prep.sh diff --git a/modules/jenkins_slave/files/slave_scripts/lvm-kexec-reset.sh b/modules/jenkins/files/slave_scripts/lvm-kexec-reset.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/lvm-kexec-reset.sh rename to modules/jenkins/files/slave_scripts/lvm-kexec-reset.sh diff --git a/modules/jenkins_slave/files/slave_scripts/package-gerrit.sh b/modules/jenkins/files/slave_scripts/package-gerrit.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/package-gerrit.sh rename to modules/jenkins/files/slave_scripts/package-gerrit.sh diff --git a/modules/jenkins_slave/files/slave_scripts/ping.py b/modules/jenkins/files/slave_scripts/ping.py similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/ping.py rename to modules/jenkins/files/slave_scripts/ping.py diff --git a/modules/jenkins_slave/files/slave_scripts/propose_translations.sh b/modules/jenkins/files/slave_scripts/propose_translations.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/propose_translations.sh rename to modules/jenkins/files/slave_scripts/propose_translations.sh diff --git a/modules/jenkins_slave/files/slave_scripts/run-cover.sh b/modules/jenkins/files/slave_scripts/run-cover.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/run-cover.sh rename to modules/jenkins/files/slave_scripts/run-cover.sh diff --git a/modules/jenkins_slave/files/slave_scripts/run-docs.sh b/modules/jenkins/files/slave_scripts/run-docs.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/run-docs.sh rename to modules/jenkins/files/slave_scripts/run-docs.sh diff --git a/modules/jenkins_slave/files/slave_scripts/run-selenium.sh b/modules/jenkins/files/slave_scripts/run-selenium.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/run-selenium.sh rename to modules/jenkins/files/slave_scripts/run-selenium.sh diff --git a/modules/jenkins_slave/files/slave_scripts/run-tox.sh b/modules/jenkins/files/slave_scripts/run-tox.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/run-tox.sh rename to modules/jenkins/files/slave_scripts/run-tox.sh diff --git a/modules/jenkins_slave/files/slave_scripts/tardiff.py b/modules/jenkins/files/slave_scripts/tardiff.py similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/tardiff.py rename to modules/jenkins/files/slave_scripts/tardiff.py diff --git a/modules/jenkins_slave/files/slave_scripts/update-pip-cache.sh b/modules/jenkins/files/slave_scripts/update-pip-cache.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/update-pip-cache.sh rename to modules/jenkins/files/slave_scripts/update-pip-cache.sh diff --git a/modules/jenkins_slave/files/slave_scripts/wait_for_nova.sh b/modules/jenkins/files/slave_scripts/wait_for_nova.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/wait_for_nova.sh rename to modules/jenkins/files/slave_scripts/wait_for_nova.sh diff --git a/modules/jenkins_slave/files/slave_scripts/wait_for_puppet.sh b/modules/jenkins/files/slave_scripts/wait_for_puppet.sh similarity index 100% rename from modules/jenkins_slave/files/slave_scripts/wait_for_puppet.sh rename to modules/jenkins/files/slave_scripts/wait_for_puppet.sh diff --git a/modules/jenkins_slave/files/ssh_config b/modules/jenkins/files/ssh_config similarity index 100% rename from modules/jenkins_slave/files/ssh_config rename to modules/jenkins/files/ssh_config diff --git a/modules/jenkins_master/files/stackforge.png b/modules/jenkins/files/stackforge.png similarity index 100% rename from modules/jenkins_master/files/stackforge.png rename to modules/jenkins/files/stackforge.png diff --git a/modules/jenkins_master/files/versions.conf b/modules/jenkins/files/versions.conf similarity index 100% rename from modules/jenkins_master/files/versions.conf rename to modules/jenkins/files/versions.conf diff --git a/modules/jenkins_slave/lib/facter/memorytotalbytes.rb b/modules/jenkins/lib/facter/memorytotalbytes.rb similarity index 100% rename from modules/jenkins_slave/lib/facter/memorytotalbytes.rb rename to modules/jenkins/lib/facter/memorytotalbytes.rb diff --git a/modules/jenkins_slave/manifests/cgroups.pp b/modules/jenkins/manifests/cgroups.pp similarity index 80% rename from modules/jenkins_slave/manifests/cgroups.pp rename to modules/jenkins/manifests/cgroups.pp index 007241ca33..842a09f42f 100644 --- a/modules/jenkins_slave/manifests/cgroups.pp +++ b/modules/jenkins/manifests/cgroups.pp @@ -1,4 +1,4 @@ -class jenkins_slave::cgroups { +class jenkins::cgroups { package { 'cgroup-bin': ensure => present @@ -9,7 +9,7 @@ class jenkins_slave::cgroups { replace => true, owner => root, mode => 0644, - content => template('jenkins_slave/cgconfig.erb') + content => template('jenkins/cgconfig.erb') } file { '/etc/cgrules.conf': @@ -17,7 +17,7 @@ class jenkins_slave::cgroups { replace => true, owner => root, mode => 0644, - source => 'puppet:///modules/jenkins_slave/cgroups/cgrules.conf' + source => 'puppet:///modules/jenkins/cgroups/cgrules.conf' } service { 'cgconfig': diff --git a/modules/jenkins_slave/manifests/jenkinsuser.pp b/modules/jenkins/manifests/jenkinsuser.pp similarity index 75% rename from modules/jenkins_slave/manifests/jenkinsuser.pp rename to modules/jenkins/manifests/jenkinsuser.pp index 3d4618277e..ec40a1fca4 100644 --- a/modules/jenkins_slave/manifests/jenkinsuser.pp +++ b/modules/jenkins/manifests/jenkinsuser.pp @@ -1,4 +1,4 @@ -define jenkinsuser($ensure = present, $sudo = false, $ssh_key) { +define jenkins::jenkinsuser($ensure = present, $sudo = false, $ssh_key) { group { 'jenkins': ensure => 'present' @@ -44,7 +44,7 @@ define jenkinsuser($ensure = present, $sudo = false, $ssh_key) { group => 'jenkins', mode => 640, ensure => 'present', - source => "puppet:///modules/jenkins_slave/pip.conf", + source => "puppet:///modules/jenkins/pip.conf", require => File['jenkinspipdir'], } @@ -60,7 +60,7 @@ define jenkinsuser($ensure = present, $sudo = false, $ssh_key) { group => 'jenkins', mode => 640, ensure => 'present', - source => "puppet:///modules/jenkins_slave/gitconfig", + source => "puppet:///modules/jenkins/gitconfig", require => File['jenkinshome'], } @@ -113,39 +113,6 @@ define jenkinsuser($ensure = present, $sudo = false, $ssh_key) { ensure => 'present', } - file { 'jenkinsbazaardir': - name => '/home/jenkins/.bazaar', - owner => 'jenkins', - group => 'jenkins', - mode => 755, - ensure => 'directory', - require => File['jenkinshome'], - } - - file { 'jenkinsbazaarwhoami': - name => '/home/jenkins/.bazaar/bazaar.conf', - owner => 'jenkins', - group => 'jenkins', - mode => 640, - ensure => 'present', - require => File['jenkinsbazaardir'], - source => [ - "puppet:///modules/jenkins_slave/bazaar.conf", - ], - } - - file { 'jenkinsbazaarauth': - name => '/home/jenkins/.bazaar/authentication.conf', - owner => 'jenkins', - group => 'jenkins', - mode => 640, - ensure => 'present', - require => File['jenkinsbazaardir'], - source => [ - "puppet:///modules/jenkins_slave/authentication.conf", - ], - } - file { 'jenkinssshconfig': name => '/home/jenkins/.ssh/config', owner => 'jenkins', @@ -154,7 +121,7 @@ define jenkinsuser($ensure = present, $sudo = false, $ssh_key) { ensure => 'present', require => File['jenkinssshdir'], source => [ - "puppet:///modules/jenkins_slave/ssh_config", + "puppet:///modules/jenkins/ssh_config", ], } @@ -166,7 +133,7 @@ define jenkinsuser($ensure = present, $sudo = false, $ssh_key) { ensure => 'present', require => File['jenkinssshdir'], source => [ - "puppet:///modules/jenkins_slave/slave_private_key", + "puppet:///modules/jenkins/slave_private_key", ], } @@ -187,7 +154,7 @@ define jenkinsuser($ensure = present, $sudo = false, $ssh_key) { ensure => 'present', require => File['jenkinsgpgdir'], source => [ - "puppet:///modules/jenkins_slave/pubring.gpg", + "puppet:///modules/jenkins/pubring.gpg", ], } @@ -199,7 +166,7 @@ define jenkinsuser($ensure = present, $sudo = false, $ssh_key) { ensure => 'present', require => File['jenkinsgpgdir'], source => [ - "puppet:///modules/jenkins_slave/slave_gpg_key", + "puppet:///modules/jenkins/slave_gpg_key", ], } @@ -229,7 +196,7 @@ define jenkinsuser($ensure = present, $sudo = false, $ssh_key) { ensure => 'present', require => File['jenkinsglanceconfigdir'], source => [ - "puppet:///modules/jenkins_slave/glance_s3.conf", + "puppet:///modules/jenkins/glance_s3.conf", ], } @@ -241,7 +208,7 @@ define jenkinsuser($ensure = present, $sudo = false, $ssh_key) { ensure => 'present', require => File['jenkinsglanceconfigdir'], source => [ - "puppet:///modules/jenkins_slave/glance_swift.conf", + "puppet:///modules/jenkins/glance_swift.conf", ], } diff --git a/modules/jenkins/manifests/job_builder.pp b/modules/jenkins/manifests/job_builder.pp new file mode 100644 index 0000000000..bdae7d2962 --- /dev/null +++ b/modules/jenkins/manifests/job_builder.pp @@ -0,0 +1,57 @@ +class jenkins::job_builder ( + $url, + $username, + $password, +) { + + package { 'python-yaml': + ensure => "present", + } + + package { "python-jenkins": + ensure => latest, # okay to use latest for pip + provider => pip, + require => Class[pip] + } + + vcsrepo { "/opt/jenkins_job_builder": + ensure => latest, + provider => git, + revision => "master", + source => "https://github.com/openstack-ci/jenkins-job-builder.git", + } + + exec { "install_jenkins_job_builder": + command => "python setup.py install", + cwd => "/opt/jenkins_job_builder", + path => "/bin:/usr/bin", + refreshonly => true, + subscribe => Vcsrepo["/opt/jenkins_job_builder"], + } + + file { "/etc/jenkins_jobs": + ensure => "directory", + } + + exec { "jenkins_jobs_update": + command => "jenkins-jobs update /etc/jenkins_jobs/config", + path => '/bin:/usr/bin:/usr/local/bin', + refreshonly => true, + require => [ + File['/etc/jenkins_jobs/jenkins_jobs.ini'], + Package['python-jenkins'], + Package['python-yaml'] + ] + } + +# TODO: We should put in notify Exec['jenkins_jobs_update'] +# at some point, but that still has some problems. + file { "/etc/jenkins_jobs/jenkins_jobs.ini": + owner => 'jenkins', + mode => 400, + ensure => 'present', + content => template('jenkins/jenkins_jobs.ini.erb'), + require => File["/etc/jenkins_jobs"], + } + +} diff --git a/modules/jenkins_master/manifests/init.pp b/modules/jenkins/manifests/master.pp similarity index 86% rename from modules/jenkins_master/manifests/init.pp rename to modules/jenkins/manifests/master.pp index 701f9fa210..0a4ea6d7e6 100644 --- a/modules/jenkins_master/manifests/init.pp +++ b/modules/jenkins/manifests/master.pp @@ -1,4 +1,4 @@ -class jenkins_master($vhost_name=$fqdn, +class jenkins::master($vhost_name=$fqdn, $serveradmin="webmaster@$fqdn", $logo, $ssl_cert_file='', @@ -29,7 +29,7 @@ class jenkins_master($vhost_name=$fqdn, port => 443, docroot => 'MEANINGLESS ARGUMENT', priority => '50', - template => 'jenkins_master/jenkins.vhost.erb', + template => 'jenkins/jenkins.vhost.erb', ssl => true, } a2mod { 'rewrite': @@ -66,7 +66,7 @@ class jenkins_master($vhost_name=$fqdn, group => 'root', mode => 444, ensure => 'present', - source => "puppet:///modules/jenkins_master/versions.conf", + source => "puppet:///modules/jenkins/versions.conf", replace => 'true', notify => Service["versions"] } @@ -104,25 +104,25 @@ class jenkins_master($vhost_name=$fqdn, file { "/var/lib/jenkins/plugins/simple-theme-plugin/openstack.css": ensure => present, - source => "puppet:///modules/jenkins_master/openstack.css", + source => "puppet:///modules/jenkins/openstack.css", require => File["/var/lib/jenkins/plugins/simple-theme-plugin"] } file { "/var/lib/jenkins/plugins/simple-theme-plugin/openstack.js": ensure => present, - content => template("jenkins_master/openstack.js.erb"), + content => template("jenkins/openstack.js.erb"), require => File["/var/lib/jenkins/plugins/simple-theme-plugin"] } file { "/var/lib/jenkins/plugins/simple-theme-plugin/openstack-page-bkg.jpg": ensure => present, - source => "puppet:///modules/jenkins_master/openstack-page-bkg.jpg", + source => "puppet:///modules/jenkins/openstack-page-bkg.jpg", require => File["/var/lib/jenkins/plugins/simple-theme-plugin"] } file { "/var/lib/jenkins/plugins/simple-theme-plugin/title.png": ensure => present, - source => "puppet:///modules/jenkins_master/${logo}", + source => "puppet:///modules/jenkins/${logo}", require => File["/var/lib/jenkins/plugins/simple-theme-plugin"] } @@ -141,7 +141,7 @@ class jenkins_master($vhost_name=$fqdn, recurse => true, require => File['/usr/local/jenkins'], source => [ - "puppet:///modules/jenkins_slave/slave_scripts", + "puppet:///modules/jenkins/slave_scripts", ], } } diff --git a/modules/jenkins_slave/manifests/init.pp b/modules/jenkins/manifests/slave.pp similarity index 93% rename from modules/jenkins_slave/manifests/init.pp rename to modules/jenkins/manifests/slave.pp index 509e6e6024..95ae167039 100644 --- a/modules/jenkins_slave/manifests/init.pp +++ b/modules/jenkins/manifests/slave.pp @@ -1,9 +1,9 @@ -class jenkins_slave($ssh_key, $sudo = false, $bare = false, $user = true) { +class jenkins::slave($ssh_key, $sudo = false, $bare = false, $user = true) { include pip if ($user == true) { - jenkinsuser { "jenkins": + jenkins::jenkinsuser { "jenkins": ensure => present, sudo => $sudo, ssh_key => "${ssh_key}" @@ -73,7 +73,7 @@ class jenkins_slave($ssh_key, $sudo = false, $bare = false, $user = true) { mode => 644, ensure => 'present', source => [ - "puppet:///modules/jenkins_slave/rubygems.sh", + "puppet:///modules/jenkins/rubygems.sh", ], } @@ -143,7 +143,7 @@ class jenkins_slave($ssh_key, $sudo = false, $bare = false, $user = true) { recurse => true, require => File['/usr/local/jenkins'], source => [ - "puppet:///modules/jenkins_slave/slave_scripts", + "puppet:///modules/jenkins/slave_scripts", ], } @@ -151,7 +151,7 @@ class jenkins_slave($ssh_key, $sudo = false, $bare = false, $user = true) { # https://lists.launchpad.net/openstack/msg13381.html file { '/etc/sysctl.d/10-ptrace.conf': ensure => present, - source => "puppet:///modules/jenkins_slave/10-ptrace.conf", + source => "puppet:///modules/jenkins/10-ptrace.conf", owner => 'root', group => 'root', mode => 444, diff --git a/modules/jenkins_slave/templates/cgconfig.erb b/modules/jenkins/templates/cgconfig.erb similarity index 100% rename from modules/jenkins_slave/templates/cgconfig.erb rename to modules/jenkins/templates/cgconfig.erb diff --git a/modules/jenkins/templates/jenkins.vhost.erb b/modules/jenkins/templates/jenkins.vhost.erb new file mode 100644 index 0000000000..e2b568cc63 --- /dev/null +++ b/modules/jenkins/templates/jenkins.vhost.erb @@ -0,0 +1,46 @@ +:80> + ServerAdmin <%= scope.lookupvar("::jenkins::master::serveradmin") %> + + ErrorLog ${APACHE_LOG_DIR}/<%= scope.lookupvar("::jenkins::master::vhost_name") %>-error.log + + LogLevel warn + + CustomLog ${APACHE_LOG_DIR}/<%= scope.lookupvar("::jenkins::master::vhost_name") %>-access.log combined + + Redirect / https://<%= scope.lookupvar("::jenkins::master::vhost_name") %>/ + + + +:443> + ServerName <%= scope.lookupvar("::jenkins::master::vhost_name") %> + ServerAdmin <%= scope.lookupvar("::jenkins::master::serveradmin") %> + + ErrorLog ${APACHE_LOG_DIR}/<%= scope.lookupvar("::jenkins::master::vhost_name") %>-ssl-error.log + + LogLevel warn + + CustomLog ${APACHE_LOG_DIR}/<%= scope.lookupvar("::jenkins::master::vhost_name") %>-ssl-access.log combined + + SSLEngine on + + SSLCertificateFile <%= scope.lookupvar("::jenkins::master::ssl_cert_file") %> + SSLCertificateKeyFile <%= scope.lookupvar("::jenkins::master::ssl_key_file") %> + <% if scope.lookupvar("::jenkins::master::ssl_chain_file") != "" %> + SSLCertificateChainFile <%= scope.lookupvar("::jenkins::master::ssl_chain_file") %> + <% end %> + + BrowserMatch "MSIE [2-6]" \ + nokeepalive ssl-unclean-shutdown \ + downgrade-1.0 force-response-1.0 + # MSIE 7 and newer should be able to use keepalive + BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown + + RewriteEngine on + RewriteCond %{HTTP_HOST} !<%= scope.lookupvar("::jenkins::master::vhost_name") %> + RewriteRule ^.*$ https://<%= scope.lookupvar("::jenkins::master::vhost_name") %>/ + + RewriteRule /zuul/status http://127.0.0.1:8001/status [P] + + ProxyPass / http://127.0.0.1:8080/ retry=0 + ProxyPassReverse / http://127.0.0.1:8080/ + diff --git a/modules/jenkins_job_builder/templates/jenkins_jobs.ini.erb b/modules/jenkins/templates/jenkins_jobs.ini.erb similarity index 100% rename from modules/jenkins_job_builder/templates/jenkins_jobs.ini.erb rename to modules/jenkins/templates/jenkins_jobs.ini.erb diff --git a/modules/jenkins_master/templates/openstack.js.erb b/modules/jenkins/templates/openstack.js.erb similarity index 100% rename from modules/jenkins_master/templates/openstack.js.erb rename to modules/jenkins/templates/openstack.js.erb diff --git a/modules/jenkins_master/templates/jenkins.vhost.erb b/modules/jenkins_master/templates/jenkins.vhost.erb deleted file mode 100644 index a82d0672ea..0000000000 --- a/modules/jenkins_master/templates/jenkins.vhost.erb +++ /dev/null @@ -1,46 +0,0 @@ -:80> - ServerAdmin <%= scope.lookupvar("jenkins_master::serveradmin") %> - - ErrorLog ${APACHE_LOG_DIR}/jenkins_master-error.log - - LogLevel warn - - CustomLog ${APACHE_LOG_DIR}/jenkins_master-access.log combined - - Redirect / https://<%= scope.lookupvar("jenkins_master::vhost_name") %>/ - - - -:443> - ServerName <%= scope.lookupvar("jenkins_master::vhost_name") %> - ServerAdmin <%= scope.lookupvar("jenkins_master::serveradmin") %> - - ErrorLog ${APACHE_LOG_DIR}/jenkins_master-ssl-error.log - - LogLevel warn - - CustomLog ${APACHE_LOG_DIR}/jenkins_master-ssl-access.log combined - - SSLEngine on - - SSLCertificateFile <%= scope.lookupvar("jenkins_master::ssl_cert_file") %> - SSLCertificateKeyFile <%= scope.lookupvar("jenkins_master::ssl_key_file") %> - <% if scope.lookupvar("jenkins_master::ssl_chain_file") != "" %> - SSLCertificateChainFile <%= scope.lookupvar("jenkins_master::ssl_chain_file") %> - <% end %> - - BrowserMatch "MSIE [2-6]" \ - nokeepalive ssl-unclean-shutdown \ - downgrade-1.0 force-response-1.0 - # MSIE 7 and newer should be able to use keepalive - BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown - - RewriteEngine on - RewriteCond %{HTTP_HOST} !<%= scope.lookupvar("jenkins_master::vhost_name") %> - RewriteRule ^.*$ https://<%= scope.lookupvar("jenkins_master::vhost_name") %>/ - - RewriteRule /zuul/status http://127.0.0.1:8001/status [P] - - ProxyPass / http://127.0.0.1:8080/ retry=0 - ProxyPassReverse / http://127.0.0.1:8080/ - diff --git a/modules/jenkins_slave/files/authentication.conf b/modules/jenkins_slave/files/authentication.conf deleted file mode 100644 index e069dc303d..0000000000 --- a/modules/jenkins_slave/files/authentication.conf +++ /dev/null @@ -1,5 +0,0 @@ -[Launchpad] -host = .launchpad.net -scheme = ssh -user = hudson-openstack - diff --git a/modules/jenkins_slave/files/bazaar.conf b/modules/jenkins_slave/files/bazaar.conf deleted file mode 100644 index 27b90b7c0c..0000000000 --- a/modules/jenkins_slave/files/bazaar.conf +++ /dev/null @@ -1,4 +0,0 @@ -[DEFAULT] -email = OpenStack Jenkins -launchpad_username = hudson-openstack - diff --git a/modules/openstack_project/manifests/bare_slave.pp b/modules/openstack_project/manifests/bare_slave.pp index af87ee066e..740c8cd1ec 100644 --- a/modules/openstack_project/manifests/bare_slave.pp +++ b/modules/openstack_project/manifests/bare_slave.pp @@ -5,7 +5,7 @@ class openstack_project::bare_slave($install_users=true) { install_users => $install_users } - class { 'jenkins_slave': + class { 'jenkins::slave': ssh_key => "", user => false } diff --git a/modules/openstack_project/manifests/jenkins.pp b/modules/openstack_project/manifests/jenkins.pp index 1dbc388265..690e28f2bb 100644 --- a/modules/openstack_project/manifests/jenkins.pp +++ b/modules/openstack_project/manifests/jenkins.pp @@ -4,7 +4,7 @@ class openstack_project::jenkins($jenkins_jobs_password) { iptables_public_tcp_ports => [80, 443, 4155] } - class { 'jenkins_master': + class { '::jenkins::master': vhost_name => 'jenkins.openstack.org', serveradmin => 'webmaster@openstack.org', logo => 'openstack.png', @@ -13,7 +13,7 @@ class openstack_project::jenkins($jenkins_jobs_password) { ssl_chain_file => '/etc/ssl/certs/intermediate.pem', } - class { "jenkins_job_builder": + class { "::jenkins::job_builder": url => "https://jenkins.openstack.org/", username => "gerrig", password => $jenkins_jobs_password, diff --git a/modules/openstack_project/manifests/jenkins_dev.pp b/modules/openstack_project/manifests/jenkins_dev.pp index 5d064e6f52..776f4c7781 100644 --- a/modules/openstack_project/manifests/jenkins_dev.pp +++ b/modules/openstack_project/manifests/jenkins_dev.pp @@ -7,7 +7,7 @@ class openstack_project::jenkins_dev { backup_user => 'bup-jenkins-dev', backup_server => 'ci-backup-rs-ord.openstack.org' } - class { 'jenkins_master': + class { '::jenkins::master': vhost_name => 'jenkins-dev.openstack.org', serveradmin => 'webmaster@openstack.org', logo => 'openstack.png', diff --git a/modules/openstack_project/manifests/pypi.pp b/modules/openstack_project/manifests/pypi.pp index 4523dc6cac..bbebaf9835 100644 --- a/modules/openstack_project/manifests/pypi.pp +++ b/modules/openstack_project/manifests/pypi.pp @@ -4,7 +4,7 @@ class openstack_project::pypi { include openstack_project # include jenkins slave so that build deps are there for the pip download - class { 'jenkins_slave': + class { 'jenkins::slave': ssh_key => "", user => false } diff --git a/modules/openstack_project/manifests/slave.pp b/modules/openstack_project/manifests/slave.pp index 8191625bb1..9ed7c8bd73 100644 --- a/modules/openstack_project/manifests/slave.pp +++ b/modules/openstack_project/manifests/slave.pp @@ -5,7 +5,7 @@ class openstack_project::slave { class { 'openstack_project::server': iptables_public_tcp_ports => [] } - class { 'jenkins_slave': + class { 'jenkins::slave': ssh_key => $openstack_project::jenkins_ssh_key } } diff --git a/modules/openstack_project/manifests/slave_template.pp b/modules/openstack_project/manifests/slave_template.pp index ebcdd39558..7daf2507e9 100644 --- a/modules/openstack_project/manifests/slave_template.pp +++ b/modules/openstack_project/manifests/slave_template.pp @@ -7,7 +7,7 @@ class openstack_project::slave_template( iptables_public_tcp_ports => [], install_users => $install_users, } - class { 'jenkins_slave': + class { 'jenkins::slave': ssh_key => $ssh_key, sudo => true, bare => true