Skip to content

feat!: Implement server role listener #957

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 19 commits into from
Jul 4, 2025
Merged

Conversation

NickLarsenNZ
Copy link
Member

Fixes #912

Part of stackabletech/issues#692

BREAKING: CRD changes .spec.clusterConfig.listenerClass to .spec.servers.roleConfig.listenerClass

Definition of Done Checklist

  • Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
  • Please make sure all these things are done and tick the boxes

Author

  • Changes are OpenShift compatible
  • CRD changes approved
  • CRD documentation for all fields, following the style guide.
  • Helm chart can be installed and deployed operator works
  • Integration tests passed (for non trivial changes)
  • Changes need to be "offline" compatible
  • Links to generated (nightly) docs added
  • Release note snippet added

Reviewer

  • Code contains useful comments
  • Code contains useful logging statements
  • (Integration-)Test cases added
  • Documentation added or updated. Follows the style guide.
  • Changelog updated
  • Cargo.toml only contains references to git tags (not specific commits or branches)

Acceptance

  • Feature Tracker has been updated
  • Proper release label has been added
  • Links to generated (nightly) docs added
  • Release note snippet added
  • Add type/deprecation label & add to the deprecation schedule
  • Add type/experimental label & add to the experimental features tracker

BREAKING: CRD changes .spec.clusterConfig.listenerClass to .spec.servers.roleConfig.listenerClass
@NickLarsenNZ NickLarsenNZ self-assigned this Jun 24, 2025
@NickLarsenNZ NickLarsenNZ marked this pull request as ready for review July 2, 2025 15:56
@NickLarsenNZ
Copy link
Member Author

NickLarsenNZ commented Jul 3, 2025

Smoke tests pass at least.

--- PASS: kuttl (241.08s)
    --- PASS: kuttl/harness (0.00s)
        --- PASS: kuttl/harness/smoke_zookeeper-3.9.3_use-server-tls-false_use-client-auth-tls-false_openshift-false (52.57s)
        --- PASS: kuttl/harness/smoke_zookeeper-3.9.3_use-server-tls-true_use-client-auth-tls-false_openshift-false (61.66s)
        --- PASS: kuttl/harness/smoke_zookeeper-3.9.3_use-server-tls-true_use-client-auth-tls-true_openshift-false (60.41s)
        --- PASS: kuttl/harness/smoke_zookeeper-3.9.3_use-server-tls-false_use-client-auth-tls-true_openshift-false (66.42s)
PASS

Once merged, I can run all tests in Jenkins and any failures should be fixable through updated hostames.

Alternatively, I can run all tests in Replicated locally. Will update here depending on which way I go.


Edit: Running all tests sequentially, locally:

stackablectl release install dev
make run-dev
scripts/run-tests --parallel 1 --skip-release

@NickLarsenNZ
Copy link
Member Author

See also related issue when exposing ZookeeperCluster: #959

This PR doesn't change the behaviour. This is why there are no tests for external listeners.

@maltesander maltesander self-requested a review July 3, 2025 12:09
@maltesander maltesander moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Jul 3, 2025
@NickLarsenNZ
Copy link
Member Author

All tests pass

stackablectl release install dev
make run-dev
scripts/run-tests --parallel 1 --skip-release
--- PASS: kuttl (482.37s)
    --- PASS: kuttl/harness (0.00s)
        --- PASS: kuttl/harness/cluster-operation_zookeeper-latest-3.9.3_openshift-false (42.72s)
        --- PASS: kuttl/harness/smoke_zookeeper-3.9.3_use-server-tls-true_use-client-auth-tls-false_openshift-false (112.04s)
        --- PASS: kuttl/harness/delete-rolegroup_zookeeper-3.9.3_openshift-false (63.37s)
        --- PASS: kuttl/harness/logging_zookeeper-3.9.3_openshift-false (61.97s)
        --- PASS: kuttl/harness/smoke_zookeeper-3.9.3_use-server-tls-true_use-client-auth-tls-true_openshift-false (64.39s)
        --- PASS: kuttl/harness/smoke_zookeeper-3.9.3_use-server-tls-false_use-client-auth-tls-false_openshift-false (49.67s)
        --- PASS: kuttl/harness/smoke_zookeeper-3.9.3_use-server-tls-false_use-client-auth-tls-true_openshift-false (60.49s)
        --- PASS: kuttl/harness/znode_zookeeper-latest-3.9.3_openshift-false (27.72s)
PASS

Copy link
Member

@maltesander maltesander left a comment

Choose a reason for hiding this comment

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

Just nitpicks, LGTM overall!

Co-authored-by: Malte Sander <contact@maltesander.com>
@NickLarsenNZ NickLarsenNZ requested a review from maltesander July 4, 2025 06:12
Copy link
Member

@maltesander maltesander left a comment

Choose a reason for hiding this comment

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

LGTM!

@NickLarsenNZ NickLarsenNZ added this pull request to the merge queue Jul 4, 2025
@NickLarsenNZ NickLarsenNZ moved this from Development: In Review to Development: Done in Stackable Engineering Jul 4, 2025
Merged via the queue into main with commit 13c61b8 Jul 4, 2025
17 checks passed
@NickLarsenNZ NickLarsenNZ deleted the feat/listener-integration branch July 4, 2025 10:09
@lfrancke lfrancke moved this from Development: Done to Acceptance: In Progress in Stackable Engineering Jul 4, 2025
@lfrancke lfrancke moved this from Acceptance: In Progress to Done in Stackable Engineering Jul 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

Integrate ZooKeeper Operator with Listener Operator
3 participants