system-config/modules/openstack_project/manifests/devstack_launch_slave.pp
Clark Boylan b51d23a3cd Pass Jenkins' SSH pub key to special slaves.
The openstack_project::slave refactor defaulted the Jenkins' SSH pub key
to an empty string. This erased the authorized keys file for the Jenkins
user on our specialized slaves. Restore that file's contents.

Change-Id: I28067017ec2dc36feef9df076099813abf820ee9
Reviewed-on: https://review.openstack.org/31419
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2013-06-03 22:42:40 +00:00

61 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,
) {
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,
}
}