Skip to content

Commit bdfc6b0

Browse files
authored
Merge pull request #40 from redBorder/development
Release 0.6.3
2 parents 72dff4d + 2380e51 commit bdfc6b0

2 files changed

Lines changed: 42 additions & 5 deletions

File tree

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.6.2
1+
0.6.3

resources/bin/rb_clean_zookeeper.sh

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ consumersdata=0
55
startservices=1
66
kafkaclean=0
77
ds_services_stop="chef-client f2k n2klocd redborder-monitor"
8-
ds_services_start="zookeeper kafka k2http f2k rb-sociald rb-snmp nmspd n2klocd freeradius redborder-monitor chef-client sfacctd logstash redborder-ale redborder-scanner"
98

109
function usage() {
1110
echo "rb_clean_zookeeper.sh [-h][-f][-c][-l][-k]"
@@ -16,7 +15,45 @@ function usage() {
1615
exit 0
1716
}
1817

19-
while getopts "fdschlk" name
18+
function clean_consumers() {
19+
local path="/consumers"
20+
response=$(/usr/bin/zkCli.sh -server localhost:2181 ls /consumers 2>/dev/null | grep '^\[.*\]$')
21+
22+
# Remove brackets, split by comma, and trim whitespace
23+
IFS=',' read -ra children <<< "${response#[}"
24+
for child in "${children[@]}"; do
25+
child="${child%]}"
26+
child="$(echo "$child" | xargs)" # Trim whitespace
27+
[[ -n "$child" ]] && echo "Deleting: $path/$child"
28+
/usr/bin/zkCli.sh -server localhost:2181 delete $path/$child 2>/dev/null | grep '^\[.*\]$'
29+
done
30+
}
31+
32+
function start_services() {
33+
local ds_services_start="zookeeper kafka k2http f2k n2klocd redborder-monitor chef-client sfacctd logstash redborder-ale redborder-scanner"
34+
35+
# Cache available services
36+
local systemctl_services=$(systemctl list-unit-files --no-pager --no-legend | awk '{print $1}')
37+
local rbcli_services=$(rbcli service list | awk '{print $1}')
38+
39+
for service_name in $ds_services_start; do
40+
if echo "$systemctl_services" | grep -qw "^$service_name"; then
41+
# Try to start the service
42+
if systemctl start "$service_name"; then
43+
echo "Service '$service_name' started successfully."
44+
else
45+
echo "Failed to start '$service_name'. Please check the service logs."
46+
fi
47+
elif echo "$rbcli_services" | grep -qw "^$service_name"; then
48+
echo "Info: Service '$service_name' exists in rbcli but is not enabled in systemctl. Please enable it first."
49+
else
50+
echo "Error: Service '$service_name' not found in systemctl or rbcli."
51+
fi
52+
done
53+
}
54+
55+
while getopts "fydschlk" name
56+
2057
do
2158
case $name in
2259
f) force=1;;
@@ -56,10 +93,10 @@ if [ "x$VAR" == "xy" -o "x$VAR" == "xY" ]; then
5693
else
5794
systemctl start zookeeper
5895
e_title "Deleting specific zookeeper data"
59-
[ $consumersdata -eq 1 ] && echo "rmr /consumers" | rb_zkcli &>/dev/null
96+
clean_consumers
6097
fi
6198

6299
if [ $startservices -eq 1 ]; then
63-
systemctl start $ds_services_start
100+
start_services
64101
fi
65102
fi

0 commit comments

Comments
 (0)