Skip to content

Commit 45dc8fb

Browse files
committed
Merge branch 'fix/local-collector-env-override' into dockerify
2 parents a68658e + ccf5148 commit 45dc8fb

File tree

1 file changed

+39
-18
lines changed

1 file changed

+39
-18
lines changed

collector_test.sh

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -63,27 +63,48 @@ fi
6363

6464
# Final status check
6565
if [ "$test_ping" = true ] && [ "$test_namespace" = true ]; then
66-
echo "✅ Collector is running and reachable"
66+
echo "✅ Collector is running and reachable on port ${LOCAL_COLLECTOR_PORT} and namespace ${FULL_NAMESPACE}"
6767
exit 100
6868
else
69-
echo "⚠️ No active collector found - searching for available ports..."
70-
for port in {50051..51050}; do
71-
port_is_free=false
72-
if [[ "$PORT_CHECK_CMD" == *"curl"* ]]; then
73-
if ! $PORT_CHECK_CMD "localhost:$port" 2>/dev/null; then
74-
port_is_free=true
69+
echo "⚠️ No active collector found"
70+
71+
# Only search for alternative port if configured port is in use (test_ping=true)
72+
if [ "$test_ping" = true ]; then
73+
echo "⚠️ Configured port ${LOCAL_COLLECTOR_PORT} is in use - searching for other available ports..."
74+
for port in {50051..51050}; do
75+
if [ "$port" = "$LOCAL_COLLECTOR_PORT" ]; then
76+
continue # Skip the port we know is in use
7577
fi
76-
else
77-
if ! $PORT_CHECK_CMD "localhost" "$port" 2>/dev/null; then
78-
port_is_free=true
78+
79+
port_is_free=true
80+
for host in "${hosts[@]}"; do
81+
if command -v nc &> /dev/null; then
82+
if nc -z "${host}" "${port}" 2>/dev/null; then
83+
port_is_free=false
84+
break
85+
fi
86+
elif command -v netcat &> /dev/null; then
87+
if netcat -z "${host}" "${port}" 2>/dev/null; then
88+
port_is_free=false
89+
break
90+
fi
91+
else
92+
if timeout 1 bash -c "</dev/tcp/${host}/${port}" 2>/dev/null; then
93+
port_is_free=false
94+
break
95+
fi
96+
fi
97+
done
98+
99+
if [ "$port_is_free" = true ]; then
100+
echo "✅ Found available port: $port (replacing conflicting configured port ${LOCAL_COLLECTOR_PORT}) for namespace ${FULL_NAMESPACE}"
101+
sed -i".backup" "s/^LOCAL_COLLECTOR_PORT=.*/LOCAL_COLLECTOR_PORT=${port}/" "${ENV_FILE}"
102+
break
79103
fi
80-
fi
81-
82-
if [ "$port_is_free" = true ]; then
83-
echo "✅ Found available port: $port"
84-
sed -i".backup" "s/^LOCAL_COLLECTOR_PORT=.*/LOCAL_COLLECTOR_PORT=${port}/" "${ENV_FILE}"
85-
break
86-
fi
87-
done
104+
done
105+
else
106+
echo "✅ Configured port ${LOCAL_COLLECTOR_PORT} is available for namespace ${FULL_NAMESPACE} - will use it for new collector"
107+
fi
108+
88109
exit 101
89110
fi

0 commit comments

Comments
 (0)