Michael Krotscheck ea17fc43a6 Added afs to wheel mirror slaves
This removes the SSH keys from the wheel mirror slaves, and
replaces them with the AFS share. It does not yet add afs
credentials. As we have not yet provisioned our wheel slaves,
no manual updates of the servers should be required.

Hiera keys for the previous approach should be removed.

Change-Id: Ifebf5d53d80e934674704078f7dd675f77aef5aa
2016-02-01 15:09:10 -08:00

69 lines
2.7 KiB
Puppet

# Copyright 2015 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::wheel_mirror_slave (
$jenkins_ssh_public_key,
$project_config_repo = 'https://git.openstack.org/openstack-infra/project-config',
$sysadmins = [],
$jenkins_gitfullname = 'OpenStack Jenkins',
$jenkins_gitemail = 'jenkins@openstack.org',
) {
class { 'openstack_project::slave':
sysadmins => $sysadmins,
ssh_key => $jenkins_ssh_public_key,
jenkins_gitfullname => $jenkins_gitfullname,
jenkins_gitemail => $jenkins_gitemail,
project_config_repo => $project_config_repo,
afs => true,
}
# below follows a rough list of things required to build binary
# wheels.
# TODO: global-requirements keeps other-requirements that can be
# parsed by bindep. We should have some sort of bindep provider
# that can interact with that
case $::osfamily {
'Debian': {
ensure_packages(['build-essential',
'python-all-dev', 'python3-all-dev',
'libxml2-dev', 'libxslt-dev',
'libffi-dev', 'libreadline-dev',
'libssl-dev', 'libyaml-dev', 'zlib1g-dev',
'libldap2-dev', 'libmysqlclient-dev',
'libnspr4-dev', 'libpq-dev', 'libsasl2-dev',
'libsqlite3-dev', 'libvirt-dev', 'libzmq-dev',
'pkg-config', 'swig', 'uuid-dev'])
}
'Redhat': {
ensure_packages(['gcc', 'gcc-c++', 'make',
'python-devel', 'python3-devel',
'libxml2-devel', 'libxslt-devel',
'libffi-devel', 'readline-devel',
'openssl-devel', 'libyaml-devel', 'zlib-devel',
'openldap-devel', 'mariadb-devel',
'nspr-devel', 'postgresql-devel', 'cyrus-sasl-devel',
'sqlite-devel', 'libvirt-devel', 'zeromq-devel',
'pkgconfig', 'swig', 'uuid-devel'])
}
default: {
err "${::osfamily} not supported yet"
}
}
}