Skip to content

Commit

Permalink
Added code so clients can send requests to correct worker.
Browse files Browse the repository at this point in the history
  • Loading branch information
jgates108 committed Dec 5, 2019
1 parent fcb556b commit d2eb8d9
Show file tree
Hide file tree
Showing 33 changed files with 783 additions and 111 deletions.
4 changes: 2 additions & 2 deletions admin/templates/configuration/etc/log4cxx.index.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
# export LSST_LOG_CONFIG=$HOME/.lsst/log4cxx.unittest.properties
#

log4j.rootLogger=INFO, CONSOLE
#log4j.rootLogger=DEBUG, CONSOLE
#log4j.rootLogger=INFO, CONSOLE
log4j.rootLogger=DEBUG, CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export LSST_LOG_CONFIG=/home/qserv/dev/qserv/admin/templates/configuration/etc/l

echo appClientNum $1 $2 $3

screen -dm gdb --args /home/qserv/dev/qserv/build/loader/appClientNum $1 $2 /home/qserv/dev/qserv/core/modules/loader/config/$3
/home/qserv/dev/qserv/build/loader/appClientNum $1 $2 /home/qserv/dev/qserv/core/modules/loader/config/$3

child=$!
wait "$child"
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#! /bin/bash -l
# admin/tools/docker/loader/container/dev/clientNum/appClientNum.bash

_term() {
echo "Caught SIGTERM signal!"
kill -TERM "$child" 2>/dev/null
}

trap _term SIGTERM
trap _term SIGKILL


echo appClientScreen $1 $2 $3

screen -dm /home/qserv/dev/qserv/admin/tools/docker/index/container/dev/clientNum/appClientNum $1 $2 $3

child=$!
wait "$child"
tail -f /dev/null
3 changes: 2 additions & 1 deletion admin/tools/docker/index/container/dev/worker/appWorker.bash
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@ setup -r . -t qserv-dev

export LSST_LOG_CONFIG=/home/qserv/dev/qserv/admin/templates/configuration/etc/log4cxx.index.properties

screen -dm gdb --args /home/qserv/dev/qserv/build/loader/appWorker /home/qserv/dev/qserv/core/modules/loader/config/worker-k8s-a.cnf
/home/qserv/dev/qserv/build/loader/appWorker /home/qserv/dev/qserv/core/modules/loader/config/worker-k8s-a.cnf

child=$!
echo "child ${child}"
wait "$child"

sleep 10000
tail -f /dev/null
19 changes: 19 additions & 0 deletions admin/tools/docker/index/container/dev/worker/appWorkerScreen.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#! /bin/bash
# admin/tools/docker/loader/container/dev/worker/appWorker.bash

_term() {
echo "Caught SIGTERM signal!"
kill -TERM "$child" 2>/dev/null
}

trap _term SIGTERM
trap _term SIGKILL

screen -dm /home/qserv/dev/qserv/admin/tools/docker/index/container/dev/worker/appWorker.bash

child=$!
echo "child ${child}"
wait "$child"

sleep 10000
tail -f /dev/null
206 changes: 206 additions & 0 deletions admin/tools/docker/index/index-k8-10m.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
apiVersion: v1
kind: Service
metadata:
name: imaster-svc
labels:
app: index
spec:
ports:
- port: 10042
protocol: UDP
clusterIP: None
selector:
app: imaster-pod
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: imaster-sts
labels:
app: index
spec:
serviceName: imaster-svc
podManagementPolicy: Parallel
replicas: 1
selector:
matchLabels:
app: imaster-pod
template:
metadata:
labels:
app: imaster-pod
spec:
containers:
- name: imaster-ctr
image: qserv/indexmaster:dev
imagePullPolicy: Always
ports:
- containerPort: 10042
protocol: UDP
---
apiVersion: v1
kind: Service
metadata:
name: iworker-svc
labels:
app: index
spec:
ports:
- port: 10043
protocol: UDP
clusterIP: None
selector:
app: iworker-pod
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: iworker-sts
labels:
app: index
spec:
serviceName: iworker-svc
podManagementPolicy: Parallel
replicas: 3
selector:
matchLabels:
app: iworker-pod
template:
metadata:
labels:
app: iworker-pod
spec:
containers:
- name: iworker-ctr
image: qserv/indexworker:dev
imagePullPolicy: Always
ports:
- containerPort: 10043
protocol: UDP
- containerPort: 10143
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: iclientnum-svc
labels:
app: index
spec:
ports:
- port: 10050
protocol: UDP
clusterIP: None
selector:
app: iclientnum-pod
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: iclientnum-sts
labels:
app: index
spec:
serviceName: iclientnum-svc
podManagementPolicy: Parallel
replicas: 1
selector:
matchLabels:
app: iclientnum-pod
template:
metadata:
labels:
app: iclientnum-pod
spec:
containers:
- name: iclientnum-ctr
image: qserv/indexclientnum:dev
imagePullPolicy: Always
args: ["1000000", "1", "client-k8s-a1.cnf"]
ports:
- containerPort: 10050
protocol: UDP
---
apiVersion: v1
kind: Service
metadata:
name: iclientnum2-svc
labels:
app: index
spec:
ports:
- port: 10050
protocol: UDP
clusterIP: None
selector:
app: iclientnum2-pod
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: iclientnum2-sts
labels:
app: index
spec:
serviceName: iclientnum2-svc
podManagementPolicy: Parallel
replicas: 1
selector:
matchLabels:
app: iclientnum2-pod
template:
metadata:
labels:
app: iclientnum2-pod
spec:
containers:
- name: iclientnum2-ctr
image: qserv/indexclientnum:dev
imagePullPolicy: Always
args: ["2000001", "3000001", "client-k8s-a2.cnf"]
ports:
- containerPort: 10050
protocol: UDP
---
apiVersion: v1
kind: Service
metadata:
name: iclientnum3-svc
labels:
app: index
spec:
ports:
- port: 10050
protocol: UDP
clusterIP: None
selector:
app: iclientnum3-pod
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: iclientnum3-sts
labels:
app: index
spec:
serviceName: iclientnum3-svc
podManagementPolicy: Parallel
replicas: 1
selector:
matchLabels:
app: iclientnum3-pod
template:
metadata:
labels:
app: iclientnum3-pod
spec:
containers:
- name: iclientnum3-ctr
image: qserv/indexclientnum:dev
imagePullPolicy: Always
args: ["1000001", "2000000", "client-k8s-a3.cnf"]
ports:
- containerPort: 10050
protocol: UDP


1 change: 1 addition & 0 deletions core/modules/loader/Central.cc
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ void Central::_checkDoList() {
while(_loop) {
// Run and then sleep for a second. TODO A more advanced timer should be used
doList->checkList();
LOGS(_log, LOG_LVL_INFO, "&&& SLEEP");
usleep(_loopSleepTime);
}
}
Expand Down
12 changes: 12 additions & 0 deletions core/modules/loader/Central.h
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,18 @@ class Central {

int getErrCount() const { return _server->getErrCount(); }

/// Start the server on UDP and/or TCP ports. May throw boost::system::system_error
void start() {
startService();
startMonitoring();
}

/// Override with function to define and start the server.
void virtual startService() = 0;

/// Override with functions to add do list items.
void virtual startMonitoring() {};

/// Send the contents of 'sendBuf' to 'host:port'. This waits for the message to be
/// sent before returning.
/// @throw boost::system::system_error on failure.
Expand Down
Loading

0 comments on commit d2eb8d9

Please sign in to comment.