Skip to content

Commit 64172e4

Browse files
committed
provide event recorder for each controller
1 parent 6c22de7 commit 64172e4

File tree

1 file changed

+25
-12
lines changed

1 file changed

+25
-12
lines changed

rust/operator-binary/src/main.rs

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -92,18 +92,17 @@ async fn main() -> anyhow::Result<()> {
9292
)
9393
.await?;
9494

95-
let event_recorder = Arc::new(Recorder::new(
95+
let ctx = Ctx {
96+
client: client.clone(),
97+
product_config: product_config.load(&PRODUCT_CONFIG_PATHS)?,
98+
};
99+
let spark_event_recorder = Arc::new(Recorder::new(
96100
client.as_kube_client(),
97101
Reporter {
98102
controller: SPARK_FULL_CONTROLLER_NAME.to_string(),
99103
instance: None,
100104
},
101105
));
102-
103-
let ctx = Ctx {
104-
client: client.clone(),
105-
product_config: product_config.load(&PRODUCT_CONFIG_PATHS)?,
106-
};
107106
let app_controller = Controller::new(
108107
watch_namespace.get_api::<DeserializeGuard<SparkApplication>>(&client),
109108
watcher::Config::default(),
@@ -125,10 +124,10 @@ async fn main() -> anyhow::Result<()> {
125124
|result| {
126125
// The event_recorder needs to be shared across all invocations, so that
127126
// events are correctly aggregated
128-
let event_recorder = event_recorder.clone();
127+
let spark_event_recorder = spark_event_recorder.clone();
129128
async move {
130129
report_controller_reconciled(
131-
&event_recorder,
130+
&spark_event_recorder,
132131
SPARK_FULL_CONTROLLER_NAME,
133132
&result,
134133
)
@@ -137,6 +136,13 @@ async fn main() -> anyhow::Result<()> {
137136
},
138137
);
139138

139+
let pod_driver_event_recorder = Arc::new(Recorder::new(
140+
client.as_kube_client(),
141+
Reporter {
142+
controller: POD_DRIVER_FULL_CONTROLLER_NAME.to_string(),
143+
instance: None,
144+
},
145+
));
140146
let pod_driver_controller = Controller::new(
141147
watch_namespace.get_api::<DeserializeGuard<Pod>>(&client),
142148
watcher::Config::default()
@@ -159,10 +165,10 @@ async fn main() -> anyhow::Result<()> {
159165
|result| {
160166
// The event_recorder needs to be shared across all invocations, so that
161167
// events are correctly aggregated
162-
let event_recorder = event_recorder.clone();
168+
let pod_driver_event_recorder = pod_driver_event_recorder.clone();
163169
async move {
164170
report_controller_reconciled(
165-
&event_recorder,
171+
&pod_driver_event_recorder,
166172
POD_DRIVER_FULL_CONTROLLER_NAME,
167173
&result,
168174
)
@@ -176,6 +182,13 @@ async fn main() -> anyhow::Result<()> {
176182
client: client.clone(),
177183
product_config: product_config.load(&PRODUCT_CONFIG_PATHS)?,
178184
};
185+
let history_event_recorder = Arc::new(Recorder::new(
186+
client.as_kube_client(),
187+
Reporter {
188+
controller: HISTORY_FULL_CONTROLLER_NAME.to_string(),
189+
instance: None,
190+
},
191+
));
179192
let history_controller = Controller::new(
180193
watch_namespace.get_api::<DeserializeGuard<SparkHistoryServer>>(&client),
181194
watcher::Config::default(),
@@ -209,10 +222,10 @@ async fn main() -> anyhow::Result<()> {
209222
|result| {
210223
// The event_recorder needs to be shared across all invocations, so that
211224
// events are correctly aggregated
212-
let event_recorder = event_recorder.clone();
225+
let history_event_recorder = history_event_recorder.clone();
213226
async move {
214227
report_controller_reconciled(
215-
&event_recorder,
228+
&history_event_recorder,
216229
HISTORY_FULL_CONTROLLER_NAME,
217230
&result,
218231
)

0 commit comments

Comments
 (0)