#!/bin/bash # Copyright (C) 2011-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. # dib-lint: disable=setu setpipefail dibdebugtrace indent set -e SUDO=${SUDO:-true} THIN=${THIN:-true} ALL_MYSQL_PRIVS=${ALL_MYSQL_PRIVS:-false} if [ -n "$NODEPOOL_SSH_KEY" ] ; then puppet_install_users="install_users => false, ssh_key => '$NODEPOOL_SSH_KEY'," else puppet_install_users="" fi export FACTER_in_chroot=true cat >/tmp/local.pp < '/bin/true', stop => '/bin/true', status => '/bin/true', restart => '/bin/true' } class {'openstack_project::single_use_slave': sudo => $SUDO, thin => $THIN, all_mysql_privs => $ALL_MYSQL_PRIVS, install_resolv_conf => false, $puppet_install_users } EOF # Puppet doesn't return nonzero if some things fail by default. # Use detailed exit codes to get that info and determine whether # the return code indicates failure. set +e puppet apply --detailed-exitcodes --color=false \ --modulepath=/opt/build_git/openstack-infra/system-config/modules:/etc/puppet/modules \ /tmp/local.pp PUPPET_RETURN=$? if [ "$PUPPET_RETURN" -eq 4 ] || [ "$PUPPET_RETURN" -eq 6 ] ; then exit $PUPPET_RETURN fi set -e # Make sure resolv.conf settings don't break dib echo "nameserver $NODEPOOL_STATIC_NAMESERVER_V4"> /etc/resolv.conf