Skip to content

Commit 3a8ed8c

Browse files
authored
feat: run containerdebug in the background (#730)
* feat: run containerdebug in the background * cargo update * remove unused env var * reintroduce the CONTAINERDEBUG_LOG_DIRECTOTY env var * factor out ctnrdebug test
1 parent 6ec1ce7 commit 3a8ed8c

File tree

4 files changed

+17
-0
lines changed

4 files changed

+17
-0
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file.
88

99
- The lifetime of auto generated TLS certificates is now configurable with the role and roleGroup
1010
config property `requestedSecretLifetime`. This helps reducing frequent Pod restarts ([#722]).
11+
- Run a `containerdebug` process in the background of each Airflow container to collect debugging information ([#730]).
1112

1213
### Fixed
1314

@@ -19,6 +20,7 @@ All notable changes to this project will be documented in this file.
1920
[#717]: https://github.com/stackabletech/nifi-operator/pull/717
2021
[#718]: https://github.com/stackabletech/nifi-operator/pull/718
2122
[#722]: https://github.com/stackabletech/nifi-operator/pull/722
23+
[#730]: https://github.com/stackabletech/nifi-operator/pull/730
2224

2325
## [24.11.0] - 2024-11-18
2426

rust/operator-binary/src/controller.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -938,6 +938,13 @@ async fn build_node_rolegroup_statefulset(
938938
..EnvVar::default()
939939
});
940940

941+
// Needed for the `containerdebug` process to log it's tracing information to.
942+
env_vars.push(EnvVar {
943+
name: "CONTAINERDEBUG_LOG_DIRECTORY".to_string(),
944+
value: Some(format!("{STACKABLE_LOG_DIR}/containerdebug")),
945+
value_from: None,
946+
});
947+
941948
env_vars.push(zookeeper_env_var(
942949
"ZOOKEEPER_HOSTS",
943950
&nifi.spec.cluster_config.zookeeper_config_map_name,
@@ -1084,6 +1091,7 @@ async fn build_node_rolegroup_statefulset(
10841091
{COMMON_BASH_TRAP_FUNCTIONS}
10851092
{remove_vector_shutdown_file_command}
10861093
prepare_signal_handlers
1094+
containerdebug --output={STACKABLE_LOG_DIR}/containerdebug-state.json --loop &
10871095
bin/nifi.sh run &
10881096
wait_for_termination $!
10891097
{create_vector_shutdown_file_command}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
# This test checks if the containerdebug-state.json file is present and valid
3+
apiVersion: kuttl.dev/v1beta1
4+
kind: TestAssert
5+
timeout: 600
6+
commands:
7+
- script: kubectl exec -n $NAMESPACE --container nifi test-nifi-node-default-0 -- cat /stackable/log/containerdebug-state.json | jq --exit-status '"valid JSON"'

0 commit comments

Comments
 (0)