@@ -247,3 +247,139 @@ tests:
247247 asserts :
248248 - failedTemplate :
249249 errorMessage : " You must define `ref` for everything in st2.packs.sensors. This assigns each sensor to a pod."
250+
251+ - it : stackstorm/sensor-mode = multiple-sensors-per-pod
252+ template : deployments.yaml
253+ release :
254+ name : multi-sensor-release
255+ set :
256+ st2 :
257+ packs : { sensors: [] }
258+ image :
259+ tag : globaldefault
260+ st2sensorcontainer :
261+ image :
262+ tag : sensordefault
263+ deployments : 3
264+ securityContext : *override_security_context
265+ securityContext : *global_security_context
266+ asserts :
267+ - hasDocuments :
268+ count : 15 # all but st2chatops
269+
270+ - isKind :
271+ of : Deployment
272+ documentIndex : *first_sensor_doc
273+ - isKind :
274+ of : Deployment
275+ documentIndex : *second_sensor_doc
276+ - isKind :
277+ of : Deployment
278+ documentIndex : *third_sensor_doc
279+
280+ - equal :
281+ path : metadata.name
282+ value : multi-sensor-release-st2sensorcontainer-0
283+ documentIndex : *first_sensor_doc
284+ - equal :
285+ path : metadata.name
286+ value : multi-sensor-release-st2sensorcontainer-1
287+ documentIndex : *second_sensor_doc
288+ - equal :
289+ path : metadata.name
290+ value : multi-sensor-release-st2sensorcontainer-2
291+ documentIndex : *third_sensor_doc
292+
293+ - equal :
294+ path : metadata.labels.app
295+ value : st2sensorcontainer-0
296+ documentIndex : *first_sensor_doc
297+ - equal :
298+ path : metadata.labels.app
299+ value : st2sensorcontainer-1
300+ documentIndex : *second_sensor_doc
301+ - equal :
302+ path : metadata.labels.app
303+ value : st2sensorcontainer-2
304+ documentIndex : *third_sensor_doc
305+
306+ - equal :
307+ path : spec.template.metadata.labels.app
308+ value : st2sensorcontainer-0
309+ documentIndex : *first_sensor_doc
310+ - equal :
311+ path : spec.template.metadata.labels.app
312+ value : st2sensorcontainer-1
313+ documentIndex : *second_sensor_doc
314+ - equal :
315+ path : spec.template.metadata.labels.app
316+ value : st2sensorcontainer-2
317+ documentIndex : *third_sensor_doc
318+
319+ - equal :
320+ path : spec.selector.matchLabels.app
321+ value : st2sensorcontainer-0
322+ documentIndex : *first_sensor_doc
323+ - equal :
324+ path : spec.selector.matchLabels.app
325+ value : st2sensorcontainer-1
326+ documentIndex : *second_sensor_doc
327+ - equal :
328+ path : spec.selector.matchLabels.app
329+ value : st2sensorcontainer-2
330+ documentIndex : *third_sensor_doc
331+
332+ - equal : *oneReplica
333+ documentIndex : *first_sensor_doc
334+ - equal : *oneReplica
335+ documentIndex : *second_sensor_doc
336+ - equal : *oneReplica
337+ documentIndex : *third_sensor_doc
338+
339+ - equal : &multiSensorAnnotation
340+ path : spec.template.metadata.annotations.stackstorm/sensor-mode
341+ value : multiple-sensors-per-pod
342+ documentIndex : *first_sensor_doc
343+ - equal : *multiSensorAnnotation
344+ documentIndex : *second_sensor_doc
345+ - equal : *multiSensorAnnotation
346+ documentIndex : *third_sensor_doc
347+
348+ - notContains : ¬SingleSensorMode
349+ path : spec.template.spec.containers[0].command
350+ content : ' --single-sensor-mode'
351+ documentIndex : *first_sensor_doc
352+ - notContains : *notSingleSensorMode
353+ documentIndex : *second_sensor_doc
354+ - notContains : *notSingleSensorMode
355+ documentIndex : *third_sensor_doc
356+
357+ - contains : &sensorConf
358+ path : spec.template.spec.containers[0].command
359+ content : ' --config-file=/etc/st2/st2.sensorcontainer.conf'
360+ documentIndex : *first_sensor_doc
361+ - contains : *sensorConf
362+ documentIndex : *second_sensor_doc
363+ - contains : *sensorConf
364+ documentIndex : *third_sensor_doc
365+
366+ # st2sensorcontainer values apply to all sensor containers replacing globals
367+
368+ - matchRegex : &multiSensorTag
369+ path : spec.template.spec.containers[0].image
370+ pattern : ' .*:sensordefault$'
371+ documentIndex : *first_sensor_doc
372+ - matchRegex : *multiSensorTag
373+ documentIndex : *second_sensor_doc
374+ - matchRegex : *multiSensorTag
375+ documentIndex : *third_sensor_doc
376+
377+ - equal : &multiSensorSecurityContext
378+ path : spec.template.spec.containers[0].securityContext
379+ value : *override_security_context
380+ documentIndex : *first_sensor_doc
381+ - equal : *multiSensorSecurityContext
382+ documentIndex : *second_sensor_doc
383+ - equal : *multiSensorSecurityContext
384+ documentIndex : *third_sensor_doc
385+
0 commit comments