system-config/modules/openstack_project/manifests/pypi_slave.pp
Clark Boylan eb2f91421d Use twine to upload python package to pypi.
* modules/jenkins/files/slave_scripts/pypi-extract-metadata.py: Twine
deals with metadata for us, this script is no longer needed.

* modules/jenkins/files/slave_scripts/pypi-upload.sh: Use twine instead
of calculating md5sum ourselves and extracting metadata then uploading
with curl.

* modules/openstack_project/manifests/pypi_slave.pp: Insteall twine
(replaces pkginfo dependency).

* modules/openstack_project/templates/pypirc.erb: Twine can use a pypirc
to determine where and with what credentials to upload pacakges.
Create a .pypirc for twine.

Change-Id: I8a6aaf5d2c77151a60c2c660e1ff8570fc9255ea
2013-09-27 19:14:05 -07:00

56 lines
1.5 KiB
Puppet

# Copyright 2012 Hewlett-Packard Development Company, L.P.
#
# 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.
#
# Class to install dependencies for uploading python packages to pypi and
# maven repositories
#
class openstack_project::pypi_slave (
$pypi_password,
$jenkins_ssh_public_key,
$pypi_username = 'openstackci',
$jenkinsci_username,
$jenkinsci_password
) {
class { 'openstack_project::slave':
ssh_key => $jenkins_ssh_public_key,
}
include pip
package { 'twine':
ensure => present,
provider => 'pip',
require => Class['pip'],
}
file { '/home/jenkins/.pypirc':
ensure => present,
owner => 'jenkins',
group => 'jenkins',
mode => '0600',
content => template('openstack_project/pypirc.erb'),
require => File['/home/jenkins'],
}
file { '/home/jenkins/.jenkinsci-curl':
ensure => present,
owner => 'jenkins',
group => 'jenkins',
mode => '0600',
content => template('openstack_project/jenkinsci-curl.erb'),
require => File['/home/jenkins'],
}
}