You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add Kafka integration tests and deploy-kafka EaaS task
- Deploy a single-broker Apache Kafka 3.9.2 instance (KRaft mode) in the
EaaS ephemeral namespace, accessible at kafka:9092 with PLAINTEXT transport.
Uses emptyDir volumes for /opt/kafka/{config,logs} and /tmp/kafka-logs to
satisfy OpenShift's restricted-v2 SCC (arbitrary non-root UID). KRaft
controller quorum uses localhost:9093 to avoid a chicken-and-egg deadlock
with the Kubernetes Service.
- Configure CTS to use the Kafka backend in the EaaS environment via a
ProdConfiguration override (MESSAGING_BACKEND, MESSAGING_BROKER_URLS,
MESSAGING_KAFKA_SECURITY_PROTOCOL, MESSAGING_TOPIC_PREFIX).
- Add three self-verifying integration tests (test_kafka_compose_created,
test_kafka_compose_tagged, test_kafka_compose_untagged) that snapshot the
partition-0 end offset before each action and assert that a correctly
structured message arrives on the corresponding cts.compose-* topic.
All three are skipped when KAFKA_URL is unset.
- Fix a bug in cts/messaging.py where the string "none" was passed as
compression_type to KafkaProducer; kafka-python requires Python None.
- Add kafka-python to test-requirements.txt.
- Enable CI triggers for the feature/integration-tests branch in both
GitHub Actions (gating.yaml) and the Konflux PR pipeline
(cts-pull-request.yaml).
- Use a _JsonDeserializer class (implementing the kafka.serializer.Deserializer
interface) instead of a plain lambda for value_deserializer, eliminating the
DeprecationWarning emitted by kafka-python 3.x.
Generated-By: OpenCode (google-vertex-anthropic/claude-sonnet-4-6@default)
0 commit comments