system-config/modules/openstack_project/manifests/devstack_launch_slave.pp
James E. Blair b4d1b7f3a2 Use jenkins credentials store with d-g
on the new jenkins systems.

Change-Id: I9d6c079abcc75cd0cf0acb3bcdad15be5a87ce28
2013-08-05 15:53:01 -07:00

63 lines
1.7 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 host that manages the devstack node pool.
class openstack_project::devstack_launch_slave (
$jenkins_api_user,
$jenkins_api_key,
$jenkins_ssh_public_key,
$jenkins_ssh_private_key,
$jenkins_server,
$jenkins_credentials_id = '',
) {
class { 'openstack_project::slave':
bare => true,
ssh_key => $jenkins_ssh_public_key,
}
package { [ 'python-novaclient',
'python-jenkins',
'rackspace-auth-openstack',
'statsd',
'paramiko']:
ensure => latest,
provider => pip,
require => Class['pip'],
}
package { [ 'python-sqlalchemy',
'sqlite3']:
ensure => present,
}
file { '/home/jenkins/devstack-gate-secure.conf':
ensure => present,
owner => 'jenkins',
group => 'jenkins',
mode => '0600',
content => template('openstack_project/devstack-gate-secure.conf.erb'),
require => File['/home/jenkins'],
}
file { '/home/jenkins/.ssh/id_rsa':
owner => 'jenkins',
group => 'jenkins',
mode => '0400',
require => File['/home/jenkins/.ssh'],
content => $jenkins_ssh_private_key,
}
}