Skip to content
This repository was archived by the owner on Sep 21, 2022. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion jobs/arbitrator/spec
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ templates:
packages:
- mariadb
- galera-healthcheck
- common
- cf-mysql-common

properties:
cf_mysql.mysql.admin_username:
Expand Down
2 changes: 1 addition & 1 deletion jobs/arbitrator/templates/galera-healthcheck_ctl.erb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ pidfile=$run_dir/galera-healthcheck.pid
export GOROOT=/var/vcap/packages/golang
export PATH=$GOROOT/bin:$PWD/bin:$PATH

source /var/vcap/packages/common/utils.sh
source /var/vcap/packages/cf-mysql-common/utils.sh

case $1 in

Expand Down
2 changes: 1 addition & 1 deletion jobs/arbitrator/templates/garbd_ctl.erb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ log_dir=/var/vcap/sys/log/garbd
package_dir=/var/vcap/packages/mariadb
pidfile=$run_dir/garbd.pid

source /var/vcap/packages/common/utils.sh
source /var/vcap/packages/cf-mysql-common/utils.sh

case $1 in

Expand Down
6 changes: 3 additions & 3 deletions jobs/cf-mysql-broker/monit
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ check process cf-mysql-broker
stop program "/var/vcap/jobs/cf-mysql-broker/bin/cf-mysql-broker_ctl stop" with timeout 60 seconds
group vcap

check process route-registrar
with pidfile /var/vcap/sys/run/route-registrar/route-registrar.pid
check process cf-mysql-route-registrar
with pidfile /var/vcap/sys/run/cf-mysql-broker/route-registrar.pid
start program "/var/vcap/jobs/cf-mysql-broker/bin/route-registrar_ctl start"
stop program "/var/vcap/jobs/cf-mysql-broker/bin/route-registrar_ctl stop"
group vcap

check process quota-enforcer
with pidfile /var/vcap/sys/run/quota-enforcer/quota-enforcer.pid
with pidfile /var/vcap/sys/run/cf-mysql-broker/quota-enforcer.pid
start program "/var/vcap/jobs/cf-mysql-broker/bin/quota-enforcer_ctl start" with timeout 60 seconds
stop program "/var/vcap/jobs/cf-mysql-broker/bin/quota-enforcer_ctl stop" with timeout 60 seconds
group vcap
Expand Down
11 changes: 7 additions & 4 deletions jobs/cf-mysql-broker/spec
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ packages:
- ruby
- mysqlclient
- cf-mysql-broker
- common
- cf-mysql-common
- mariadb
- syslog_aggregator
- route-registrar
- cf-mysql-route-registrar
- quota-enforcer

properties:
Expand Down Expand Up @@ -54,7 +54,7 @@ properties:
description: 'Host (DNS) or IP address used by the broker and bound applications to reach the service'
cf_mysql.external_host:
description: 'Host used to register a route for the broker with the router in cf-release via NATS. By registering the broker with Cloud Foundry using this route, and using the router for load balancing, the broker can be horizontally scaled. Domain is typically the same as system domain in cf-release.'

cf_mysql.mysql.port:
description: 'Port used by the broker and bound applications to reach the service'
default: 3306
Expand Down Expand Up @@ -86,6 +86,9 @@ properties:
cf_mysql.broker.ssl_enabled:
description: 'Determines use of https in dashboard url and in callback uri for calls to UAA'
default: true

cf_mysql.broker.nginx.port:
default: 80
description: "Port for nginx"

network_name:
description: "The name of the network (needed for the syslog aggregator)"
2 changes: 1 addition & 1 deletion jobs/cf-mysql-broker/templates/healthcheck.sh.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

lsof -i :80 2>&1 >> /dev/null
lsof -i :<%= p('cf_mysql.broker.nginx.port') %> 2>&1 >> /dev/null
EXIT_CODE=$?
if [[ $EXIT_CODE -eq 0 ]]; then
echo 1
Expand Down
6 changes: 3 additions & 3 deletions jobs/cf-mysql-broker/templates/quota-enforcer_ctl.erb
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
set -e

job_dir=/var/vcap/jobs/cf-mysql-broker
run_dir=/var/vcap/sys/run/quota-enforcer
log_dir=/var/vcap/sys/log/quota-enforcer
run_dir=/var/vcap/sys/run/cf-mysql-broker
log_dir=/var/vcap/sys/log/cf-mysql-broker
package_dir=/var/vcap/packages/quota-enforcer
pidfile=$run_dir/quota-enforcer.pid

source /var/vcap/packages/common/utils.sh
source /var/vcap/packages/cf-mysql-common/utils.sh

case $1 in

Expand Down
2 changes: 1 addition & 1 deletion jobs/cf-mysql-broker/templates/registrar_settings.yml.erb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ message_bus_servers:
host: <%= spec.networks.send(p('network_name')).ip %>
routes:
- name: "broker_<%= index %>"
port: 80
port: <%= p('cf_mysql.broker.nginx.port') %>
uris:
- <%= p('cf_mysql.external_host') %>
registration_interval: 10
Expand Down
8 changes: 4 additions & 4 deletions jobs/cf-mysql-broker/templates/route-registrar_ctl.erb
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ set -u # report the usage of uninitialized variables

JOB_NAME=route-registrar

RUN_DIR=/var/vcap/sys/run/route-registrar
LOG_DIR=/var/vcap/sys/log/route-registrar
RUN_DIR=/var/vcap/sys/run/cf-mysql-broker
LOG_DIR=/var/vcap/sys/log/cf-mysql-broker

PIDFILE=$RUN_DIR/route-registrar.pid
CONFIG_FILE=/var/vcap/jobs/cf-mysql-broker/config/registrar_settings.yml

source /var/vcap/packages/common/utils.sh
source /var/vcap/packages/cf-mysql-common/utils.sh

export HOME=/var/vcap

Expand All @@ -23,7 +23,7 @@ start)

pid_guard $PIDFILE $JOB_NAME

/var/vcap/packages/route-registrar/bin/route-registrar \
/var/vcap/packages/cf-mysql-route-registrar/bin/route-registrar \
-pidfile=$PIDFILE \
-configPath=$CONFIG_FILE \
>>$LOG_DIR/route-registrar.stdout.log 2>>$LOG_DIR/route-registrar.stderr.log&
Expand Down
2 changes: 1 addition & 1 deletion jobs/cf-mysql-broker/templates/unicorn.conf.rb.erb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ worker_processes 4

working_directory '/var/vcap/packages/cf-mysql-broker'

listen 80, :tcp_nopush => true
listen <%= p('cf_mysql.broker.nginx.port') %>, :tcp_nopush => true

pid '/var/vcap/sys/run/cf-mysql-broker/unicorn.pid'

Expand Down
5 changes: 4 additions & 1 deletion jobs/mysql/spec
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ packages:
- galera-healthcheck
- gra-log-purger
- golang
- common
- cf-mysql-common
- syslog_aggregator

properties:
Expand All @@ -43,6 +43,9 @@ properties:
cf_mysql.mysql.port:
description: 'Port the mysql server should bind to'
default: 3306
cf_mysql.mysql.galera_port:
description: 'Port which garbd listens on'
default: 4567
cf_mysql.mysql.healthcheck_port:
description: 'Port used by healthcheck process to listen on'
default: 9200
Expand Down
2 changes: 1 addition & 1 deletion jobs/mysql/templates/galera-healthcheck_ctl.erb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ pidfile=$run_dir/galera-healthcheck.pid
export GOROOT=/var/vcap/packages/golang
export PATH=$GOROOT/bin:$PWD/bin:$PATH

source /var/vcap/packages/common/utils.sh
source /var/vcap/packages/cf-mysql-common/utils.sh

case $1 in

Expand Down
2 changes: 1 addition & 1 deletion jobs/mysql/templates/gra-log-purger_ctl.erb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ pidfile=$run_dir/gra-log-purger.pid

executable_name=gra-log-purger-executable

source /var/vcap/packages/common/utils.sh
source /var/vcap/packages/cf-mysql-common/utils.sh

case $1 in

Expand Down
4 changes: 2 additions & 2 deletions jobs/mysql/templates/mariadb_ctl.erb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ RUN_DIR=/var/vcap/sys/run/$MY_NAME
PIDFILE=$RUN_DIR/$MY_NAME.pid
TMP_DIR=/var/vcap/data/mysql/tmp

source /var/vcap/packages/common/utils.sh
source /var/vcap/packages/cf-mysql-common/utils.sh

# add mysql to path
if [ ! -f /usr/local/bin/mysql ]; then
Expand Down Expand Up @@ -53,7 +53,7 @@ case $1 in

log "start script: checking for existing instance of $MY_NAME"
set +e
$(source /var/vcap/packages/common/utils.sh; pid_guard $PIDFILE $MY_NAME)
$(source /var/vcap/packages/cf-mysql-common/utils.sh; pid_guard $PIDFILE $MY_NAME)
pg_exit_code=$?
log "start script: pg_exit_code: $pg_exit_code"
if [ $pg_exit_code -eq 1 ]; then
Expand Down
2 changes: 1 addition & 1 deletion jobs/mysql/templates/my.cnf.erb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ nice = 0
wsrep_provider=/var/vcap/packages/mariadb/lib/plugin/libgalera_smm.so
wsrep_provider_options="gcache.size=<%= p('cf_mysql.mysql.gcache_size') %>M;pc.recovery=TRUE"
wsrep_cluster_address="gcomm://<%= cluster_ips.join(",") %>"
wsrep_node_address='<%= spec.networks.send(p('network_name')).ip %>'
wsrep_node_address='<%= spec.networks.send(p('network_name')).ip %>:<%= p('cf_mysql.mysql.galera_port') %>'
wsrep_node_name='mysql/<%= index %>'
wsrep_cluster_name='cf-mariadb-galera-cluster'
wsrep_sst_method=xtrabackup-v2
Expand Down
4 changes: 2 additions & 2 deletions jobs/proxy/monit
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ check process switchboard
group vcap

<% if p("cf_mysql.standalone") == false %>
check process route-registrar
with pidfile /var/vcap/sys/run/route-registrar/route-registrar.pid
check process cf-mysql-route-registrar
with pidfile /var/vcap/sys/run/cf-mysql-broker/route-registrar.pid
start program "/var/vcap/jobs/proxy/bin/route-registrar_ctl start"
stop program "/var/vcap/jobs/proxy/bin/route-registrar_ctl stop"
group vcap
Expand Down
4 changes: 2 additions & 2 deletions jobs/proxy/spec
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ templates:
packages:
- switchboard
- golang
- common
- cf-mysql-common
- syslog_aggregator
- route-registrar
- cf-mysql-route-registrar

properties:

Expand Down
8 changes: 4 additions & 4 deletions jobs/proxy/templates/route-registrar_ctl.erb
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ set -u # report the usage of uninitialized variables

JOB_NAME=route-registrar

RUN_DIR=/var/vcap/sys/run/route-registrar
LOG_DIR=/var/vcap/sys/log/route-registrar
RUN_DIR=/var/vcap/sys/run/cf-mysql-broker
LOG_DIR=/var/vcap/sys/log/cf-mysql-broker

PIDFILE=$RUN_DIR/route-registrar.pid
CONFIG_FILE=/var/vcap/jobs/proxy/config/route-registrar.yml

source /var/vcap/packages/common/utils.sh
source /var/vcap/packages/cf-mysql-common/utils.sh

export HOME=/var/vcap

Expand All @@ -23,7 +23,7 @@ start)

pid_guard $PIDFILE $JOB_NAME

/var/vcap/packages/route-registrar/bin/route-registrar \
/var/vcap/packages/cf-mysql-route-registrar/bin/route-registrar \
-pidfile=$PIDFILE \
-configPath=$CONFIG_FILE \
>>$LOG_DIR/route-registrar.stdout.log 2>>$LOG_DIR/route-registrar.stderr.log&
Expand Down
2 changes: 1 addition & 1 deletion jobs/proxy/templates/switchboard_ctl.erb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ pidfile=$run_dir/switchboard.pid
export GOROOT=/var/vcap/packages/golang
export PATH=$GOROOT/bin:$PWD/bin:$PATH

source /var/vcap/packages/common/utils.sh
source /var/vcap/packages/cf-mysql-common/utils.sh

case $1 in

Expand Down
3 changes: 3 additions & 0 deletions packages/cf-mysql-common/packaging
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
set -e

cp -a cf-mysql-common/* ${BOSH_INSTALL_TARGET}
4 changes: 4 additions & 0 deletions packages/cf-mysql-common/spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
name: cf-mysql-common
files:
- cf-mysql-common/utils.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: route-registrar
name: cf-mysql-route-registrar
dependencies:
- golang
files:
Expand Down
1 change: 0 additions & 1 deletion packages/common

This file was deleted.

2 changes: 1 addition & 1 deletion scripts/sync-package-specs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ sync_package switchboard -app github.com/cloudfoundry-incubator/switchboard/...
sync_package quota-enforcer -app github.com/pivotal-cf-experimental/cf-mysql-quota-enforcer/... &
sync_package bootstrap -app github.com/cloudfoundry-incubator/cf-mysql-bootstrap/... &
GOPATH=$GOPATH/src/github.com/cloudfoundry-incubator/route-registrar/Godeps/_workspace:$GOPATH \
sync_package route-registrar -app github.com/cloudfoundry-incubator/route-registrar/... &
sync_package cf-mysql-route-registrar -app github.com/cloudfoundry-incubator/route-registrar/... &

sync_package acceptance-tests \
-test github.com/cloudfoundry-incubator/cf-mysql-acceptance-tests/... \
Expand Down
2 changes: 1 addition & 1 deletion scripts/sync-submodule-config
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ go install github.com/vito/gosub
echo github.com/cloudfoundry-incubator/route-registrar # uses Godeps
echo broker-registrar # non-go project
echo cf-mysql-broker # non-go project
echo common # non-go project
echo cf-mysql-common # non-go project
echo syslog_aggregator # non-go project
} | xargs gosub sync
84 changes: 84 additions & 0 deletions src/cf-mysql-common/services/utils.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
source /var/vcap/packages/cf-mysql-common/utils.sh

RUN_DIR=/var/vcap/sys/run/warden
ROOT_TGZ=/var/vcap/stemcell_base.tar.gz
LOOP_DEVICE_COUNT=1024

if [ -z $SERVICE_NAME ]
then
LOG_DIR=/var/vcap/sys/log/warden
PIDFILE=$RUN_DIR/warden.pid
ROOT_DIR=/var/vcap/data/warden/rootfs
else
LOG_DIR=/var/vcap/sys/log/${SERVICE_NAME}/warden
PIDFILE=$RUN_DIR/${SERVICE_NAME}_warden.pid
ROOT_DIR=/var/vcap/data/${SERVICE_NAME}/warden/rootfs
fi

setup_warden() {
use_loop_device=$1

mkdir -p $RUN_DIR
mkdir -p $LOG_DIR

# Extract rootfs if needed
if [ ! -d $ROOT_DIR ]
then
# Extract to temporary path, then rename to target path.
# This makes sure that it is not possible that we end up with directory
# that contains a partially extracted archive.
mkdir -p $(dirname $ROOT_DIR)
TMP=$(mktemp --tmpdir=$(dirname $ROOT_DIR) -d)
chmod 755 $TMP
tar -C $TMP -zxf $ROOT_TGZ
mv $TMP $ROOT_DIR
fi

# Create loop devices for disk quota
if [ ! -z ${use_loop_device} ] && [ ${use_loop_device} = 'true' ]
then
for i in $(seq 0 $(expr $LOOP_DEVICE_COUNT - 1)); do
file=/dev/loop${i}
if [ ! -b ${file} ]; then
mknod -m0660 ${file} b 7 ${i}
chown root.disk ${file}
fi
done
fi
}

start_warden() {
cd $PKG_DIR/warden

export PATH=/var/vcap/packages/ruby_next/bin:$PATH

nohup /var/vcap/packages/ruby/bin/bundle exec \
rake warden:start[$JOB_DIR/config/warden.yml] \
>>$LOG_DIR/warden.stdout.log \
2>>$LOG_DIR/warden.stderr.log &

warden_start_flag=false
warden_start_timeout=20
countdown=$(( $warden_start_timeout * 2))

for i in `seq 1 $countdown`; do
warden_pid=`sudo netstat -pan | grep LISTENING | grep $SOCKET_FILE | awk '{print $9}' | cut -d / -f 1`
if [ ! -z $warden_pid ] && [ -e /proc/$warden_pid ]
then
warden_start_flag=true
echo "warden is ready"
break
else
sleep 0.5
echo -n .
fi
done

if [ $warden_start_flag = true ]; then
pid_guard $PIDFILE "Warden"
echo $warden_pid > $PIDFILE
else
echo "warden start timeout"
exit 1
fi
}
Loading