We've got a new mirror building project called pypi-mirror. In addition to the old behavior, it also now creates wheels and uploads them. Use it. Change-Id: Ic63a2e11ba60e1d99809a8a38f7a27072a34b0c2
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Puppet
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Puppet
		
	
	
	
	
	
# Copyright 2013  OpenStack Foundation
 | 
						|
#
 | 
						|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
						|
# not use this file except in compliance with the License. You may obtain
 | 
						|
# a copy of the License at
 | 
						|
#
 | 
						|
#      http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
#
 | 
						|
# Unless required by applicable law or agreed to in writing, software
 | 
						|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
						|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | 
						|
# License for the specific language governing permissions and limitations
 | 
						|
# under the License.
 | 
						|
#
 | 
						|
# Install a python mirror building slave.
 | 
						|
 | 
						|
class openstack_project::mirror_slave (
 | 
						|
  $jenkins_ssh_public_key,
 | 
						|
  $jenkins_ssh_private_key,
 | 
						|
  $python3=false,
 | 
						|
) {
 | 
						|
 | 
						|
  class { 'openstack_project::slave':
 | 
						|
    ssh_key => $jenkins_ssh_public_key,
 | 
						|
    python3 => $python3,
 | 
						|
  }
 | 
						|
 | 
						|
  file { '/home/jenkins/.ssh/id_rsa':
 | 
						|
    owner   => 'jenkins',
 | 
						|
    group   => 'jenkins',
 | 
						|
    mode    => '0400',
 | 
						|
    require => File['/home/jenkins/.ssh'],
 | 
						|
    content => $jenkins_ssh_private_key,
 | 
						|
  }
 | 
						|
 | 
						|
  file { '/home/jenkins/pypimirror':
 | 
						|
    ensure  => directory,
 | 
						|
    mode    => '0755',
 | 
						|
    owner   => 'jenkins',
 | 
						|
    group   => 'jenkins',
 | 
						|
    require => User['jenkins'],
 | 
						|
  }
 | 
						|
 | 
						|
  file { '/home/jenkins/pypimirror/etc':
 | 
						|
    ensure  => directory,
 | 
						|
    mode    => '0755',
 | 
						|
    owner   => 'jenkins',
 | 
						|
    group   => 'jenkins',
 | 
						|
    require => File['/home/jenkins/pypimirror'],
 | 
						|
  }
 | 
						|
 | 
						|
  file { '/home/jenkins/pypimirror/cache':
 | 
						|
    ensure  => directory,
 | 
						|
    mode    => '0755',
 | 
						|
    owner   => 'jenkins',
 | 
						|
    group   => 'jenkins',
 | 
						|
    require => File['/home/jenkins/pypimirror'],
 | 
						|
  }
 | 
						|
 | 
						|
  file { '/home/jenkins/pypimirror/mirror':
 | 
						|
    ensure  => directory,
 | 
						|
    mode    => '0755',
 | 
						|
    owner   => 'jenkins',
 | 
						|
    group   => 'jenkins',
 | 
						|
    require => File['/home/jenkins/pypimirror'],
 | 
						|
  }
 | 
						|
 | 
						|
  file { '/home/jenkins/pypimirror/etc/pypi-mirror.yaml':
 | 
						|
    ensure  => present,
 | 
						|
    source  => 'puppet:///modules/openstack_project/jenkins-pypi-mirror.yaml',
 | 
						|
    require => File['/home/jenkins/pypimirror/etc'],
 | 
						|
  }
 | 
						|
 | 
						|
  file { '/opt/jeepyb':
 | 
						|
    ensure => absent,
 | 
						|
  }
 | 
						|
 | 
						|
  vcsrepo { '/opt/pypi-mirror':
 | 
						|
    ensure   => latest,
 | 
						|
    provider => git,
 | 
						|
    revision => 'master',
 | 
						|
    source   => 'https://git.openstack.org/openstack-infra/pypi-mirror',
 | 
						|
  }
 | 
						|
 | 
						|
  exec { 'install_pypi_mirror' :
 | 
						|
    command     => 'pip install .',
 | 
						|
    cwd         => '/opt/pypi-mirror',
 | 
						|
    path        => '/usr/local/bin:/bin:/usr/bin',
 | 
						|
    refreshonly => true,
 | 
						|
    subscribe   => Vcsrepo['/opt/pypi-mirror'],
 | 
						|
  }
 | 
						|
 | 
						|
}
 |