Skip to content

test(inkless:systest): run ducktape system tests against consolidated topics#645

Open
viktorsomogyi wants to merge 1 commit into
mainfrom
svv/ts-unification-systest
Open

test(inkless:systest): run ducktape system tests against consolidated topics#645
viktorsomogyi wants to merge 1 commit into
mainfrom
svv/ts-unification-systest

Conversation

@viktorsomogyi

Copy link
Copy Markdown
Contributor

This commit adds the ability to run the ducktape system tests against consolidating topics, and a few consolidation-specific variants, in the same run as the existing diskless and classic->diskless switch tests.

Per-test switch: KafkaService gains a consolidation flag (forwarded to the isolated controller) that renders a consolidation broker config in kafka.properties (diskless default + remote tiering via the Aiven tiered-storage plugin, S3/MinIO + Postgres backend). It falls back to the run-wide --globals consolidation flag when unset since theswitch tests require the classic default.

Tests and infra: three thin subclasses under tests/kafkatest/tests/inkless reuse upstream test bodies with consolidation enabled (produce-bench, compression, get-offset-shell).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds per-test “consolidation” mode support so Inkless ducktape system tests can exercise consolidating (diskless + remote tiered storage) topics alongside existing classic→diskless switch tests in the same run.

Changes:

  • Add a per-test KafkaService.consolidation flag (with fallback to --globals consolidation) and thread it into broker config rendering.
  • Introduce consolidation-specific Inkless test subclasses (produce-bench, compression, get-offset-shell) that reuse upstream test bodies with consolidation enabled.
  • Extend the ducker system test container/workflow to include the Aiven tiered-storage plugin and broaden the workflow default test target to the whole Inkless test directory.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/kafkatest/version.py Adds clarifying comments for tool-flag support checks tied to Kafka version gates.
tests/kafkatest/tests/inkless/consolidation_produce_bench_test.py New consolidation variant of produce-bench; enables consolidation and adjusts producer settings; ignores transactional case.
tests/kafkatest/tests/inkless/consolidation_get_offset_shell_test.py New consolidation variant of GetOffsetShell tests; constructs KafkaService with consolidation=True.
tests/kafkatest/tests/inkless/consolidation_compression_test.py New consolidation variant of compression tests; flips broker/controller consolidation flags per-test.
tests/kafkatest/tests/core/produce_bench_test.py Adds an overridable producer_config() hook and uses it for both benchmark variants.
tests/kafkatest/services/kafka/templates/kafka.properties Adds a consolidation config block that enables diskless+remote-tiering settings.
tests/kafkatest/services/kafka/kafka.py Adds consolidation ctor arg and passes consolidation into template rendering (with globals fallback).
tests/docker/Dockerfile Downloads and installs the Aiven tiered-storage plugin into the ducker image.
.github/workflows/inkless-system-tests.yml Renames/broadens the Inkless system test workflow and defaults to running all Inkless tests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/kafkatest/services/kafka/templates/kafka.properties
Comment thread tests/docker/Dockerfile Outdated
@viktorsomogyi viktorsomogyi force-pushed the svv/ts-unification-systest branch 2 times, most recently from 2470f62 to 1f25fba Compare June 12, 2026 16:20
@viktorsomogyi viktorsomogyi marked this pull request as ready for review June 12, 2026 16:21
@viktorsomogyi viktorsomogyi requested a review from Copilot June 15, 2026 09:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment thread tests/kafkatest/services/kafka/templates/kafka.properties

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

tests/kafkatest/services/kafka/kafka.py:215

  • The KafkaService.__init__ signature now includes the consolidation parameter, but the constructor docstring doesn’t document it. This makes it harder for test authors to discover the per-test vs --globals consolidation behavior that the code implements.
        """
        :param context: test context
        :param int num_nodes: the number of nodes in the service.  There are 4 possibilities:

@viktorsomogyi viktorsomogyi force-pushed the svv/ts-unification-systest branch from 8b105a4 to bf02116 Compare June 15, 2026 13:45
@viktorsomogyi viktorsomogyi changed the base branch from main to svv/ts-unification-leader-epoch June 15, 2026 13:46
Base automatically changed from svv/ts-unification-leader-epoch to main June 16, 2026 14:46
… topics

This commit adds the ability to run the ducktape system tests against
consolidating topics, and a few consolidation-specific variants, in the same
run as the existing diskless and classic->diskless switch tests.

Per-test switch: KafkaService gains a `consolidation` flag (forwarded to the
isolated controller) that renders a consolidation broker config in
kafka.properties (diskless default + remote tiering via the Aiven
tiered-storage plugin, S3/MinIO + Postgres backend). It falls back to the
run-wide `--globals consolidation` flag when unset since theswitch tests
require the classic default.

Tests and infra: three thin subclasses under tests/kafkatest/tests/inkless
reuse upstream test bodies with consolidation enabled (produce-bench,
compression, get-offset-shell).

Assisted-by: Claude Opus 4.8 <noreply@anthropic.com>
@viktorsomogyi viktorsomogyi force-pushed the svv/ts-unification-systest branch from bf02116 to fd552d5 Compare June 16, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants