Add openstack-health api server

This commit adds the puppet config for running an openstack-health
api instance. It'll use the subunit2sql trove db node as a data
source. The puppet-openstack-health module is incorrectly named which
is causing issues, a workaround to rename the repo is added to
install_modules.sh. This is a temporary measure until the gerrit
rename is completed. There is also a workaround in the apply test.

Change-Id: I7e6d9664d087e7bdc21d92624991d0d5f86c0c99
This commit is contained in:
Matthew Treinish 2015-10-14 15:33:20 -04:00
parent e7016a1e0e
commit 05c16e2e35
No known key found for this signature in database
GPG Key ID: FD12A0F214C9E177
5 changed files with 54 additions and 1 deletions

View File

@ -89,7 +89,13 @@ for MOD in ${!SOURCE_MODULES[*]} ; do
echo "Remote repos of the form repo.git are not supported: ${MOD}"
exit 1
fi
MODULE_NAME=`echo $MOD | awk -F- '{print $NF}'`
# NOTE(mtreinish): hack around incorrectly named openstack-health,
# remove after the gerrit rename
if [[ `echo $MOD | grep -c 'openstack-health'` -eq 1 ]]; then
MODULE_NAME="openstack_health"
else
MODULE_NAME=`echo $MOD | awk -F- '{print $NF}'`
fi
# set up git base command to use the correct path
GIT_CMD_BASE="git --git-dir=${MODULE_PATH}/${MODULE_NAME}/.git --work-tree ${MODULE_PATH}/${MODULE_NAME}"
# treat any occurrence of the module as a match
@ -107,6 +113,7 @@ for MOD in ${!SOURCE_MODULES[*]} ; do
git clone $MOD "${MODULE_PATH}/${MODULE_NAME}"
fi
fi
# fetch the latest refs from the repo
$GIT_CMD_BASE remote update
# make sure the correct revision is installed, I have to use rev-list b/c rev-parse does not work with tags

View File

@ -133,6 +133,18 @@ node 'grafana.openstack.org' {
}
}
# Node-OS: trusty
node 'health.openstack.org' {
class { 'openstack_project::server':
iptables_public_tcp_ports => [80, 443],
sysadmins => hiera('sysadmins', []),
}
class { 'openstack_project::openstack_health_api':
subunit2sql_db_host => hiera('subunit2sql_db_host', 'localhost'),
}
}
# Node-OS: precise
node 'jenkins.openstack.org' {
$group = "jenkins"

View File

@ -104,6 +104,7 @@ INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-mysql_backup"]="
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-nodepool"]="origin/master"
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-odsreg"]="origin/master"
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-openafs"]="origin/master"
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-openstack-health"]="origin/master"
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-openstackci"]="origin/master"
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-openstackid"]="origin/master"
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-os_client_config"]="origin/master"

View File

@ -0,0 +1,30 @@
# Copyright 2013 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.
#
# openstack-health api worker glue class.
#
class openstack_project::openstack_health_api (
$subunit2sql_db_host = 'localhost',
$subunit2sql_db_user = 'query',
$subunit2sql_db_name = 'subunit2sql',
$subunit2sql_db_pass = 'query',
$hostname = $::fqdn,
) {
include 'openstack_health'
class { 'openstack_health::api':
db_uri => "mysql+pymysql://${subunit2sql_db_user}:${subunit2sql_db_pass}@${subunit2sql_db_host}/${subunit2sql_db_name}",
vhost_name => $hostname,
vhost_port => 80,
}
}

View File

@ -57,10 +57,13 @@ for MOD in ${!INTEGRATION_MODULES[*]}; do
project_names+=" $project_scope/$repo_name"
done
project_names+=" openstack-infra/puppet-openstack-health"
sudo -E /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
git://git.openstack.org \
$project_names
sudo mv /etc/puppet/modules/openstack-health /etc/puppet/modules/openstack_health
if [[ ! -d applytest ]] ; then
mkdir applytest