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
initial implementation for tiered storage support #9727
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Staniel I think this looks pretty good ... nice work. I left few minor comments. Also, if you could run make crd_install
, it will copy the CRD files to the places where they need to be updated and hopefully help the CI build to pass.
cluster-operator/src/main/java/io/strimzi/operator/cluster/model/KafkaCluster.java
Outdated
Show resolved
Hide resolved
documentation/api/io.strimzi.api.kafka.model.kafka.tieredstorage.TieredStorageCustom.adoc
Outdated
Show resolved
Hide resolved
...perator/src/main/java/io/strimzi/operator/cluster/model/KafkaBrokerConfigurationBuilder.java
Outdated
Show resolved
Hide resolved
...perator/src/main/java/io/strimzi/operator/cluster/model/KafkaBrokerConfigurationBuilder.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Lixin Yao <lixin_yao@apple.com>
Signed-off-by: Lixin Yao <lixin_yao@apple.com>
Signed-off-by: Lixin Yao <lixin_yao@apple.com>
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Outdated
Show resolved
Hide resolved
...perator/src/main/java/io/strimzi/operator/cluster/model/KafkaBrokerConfigurationBuilder.java
Outdated
Show resolved
Hide resolved
@im-konge @see-quick Can you please think a bit about the system tests for this? We do not have any plugin to test it with (Kafka has the [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some nits but looks overall good to me.
api/src/main/java/io/strimzi/api/kafka/model/kafka/KafkaClusterSpec.java
Outdated
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Outdated
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Outdated
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Outdated
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/TieredStorageCustom.java
Outdated
Show resolved
Hide resolved
...perator/src/main/java/io/strimzi/operator/cluster/model/KafkaBrokerConfigurationBuilder.java
Outdated
Show resolved
Hide resolved
documentation/api/io.strimzi.api.kafka.model.kafka.tieredstorage.TieredStorageCustom.adoc
Outdated
Show resolved
Hide resolved
...perator/src/main/java/io/strimzi/operator/cluster/model/KafkaBrokerConfigurationBuilder.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Lixin Yao <lixin_yao@apple.com>
@scholzj IIRC we discussed this a while ago and there were two ideas:
But I think having this tested on the ST level makes sense and it can possibly find some issues, which unit tests will not catch. I can take a look at it :) |
I think using it in one of your long-running clusters would make sense. But I'm not completely sure how much would the system test really add. Would we just check that the cluster starts with given config? In any case, can then please help @Staniel with how to do it and point him in the right direction as this is not really a question of simply copying some existing test with the custom image. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some more nits around formatting of the code. But it looks good to me. I tried it as well and it seems to work for me with the LocalTieredStorage plugin as well as with the Aiven S3 plugin. So I think we just need to figure out the system tests to be able to merge it.
api/src/main/java/io/strimzi/api/kafka/model/kafka/KafkaClusterSpec.java
Outdated
Show resolved
Hide resolved
...perator/src/main/java/io/strimzi/operator/cluster/model/KafkaBrokerConfigurationBuilder.java
Outdated
Show resolved
Hide resolved
...perator/src/main/java/io/strimzi/operator/cluster/model/KafkaBrokerConfigurationBuilder.java
Outdated
Show resolved
Hide resolved
...tor/src/test/java/io/strimzi/operator/cluster/model/KafkaBrokerConfigurationBuilderTest.java
Show resolved
Hide resolved
Signed-off-by: Lixin Yao <lixin_yao@apple.com>
Thank you! I have also verified the change using a local build Strimzi image on my K8s cluster and the config is working as expected. |
Yeah I will help @Staniel for sure. I'm just thinking that in case that it will be on the long running cluster, the STs will be skipped from this repository. I will take a look at it tomorrow and provide info regarding STs. Maybe - would it be possible to add STs in separate PR, or it would be a blocker? |
@im-konge I think we can do that in a separate PR, yes. |
/azp run regression |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks goo to me. Thanks for the PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some nits/suggestions but LGTM overall. Thanks for the PR!
api/src/main/java/io/strimzi/api/kafka/model/kafka/KafkaClusterSpec.java
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/TieredStorage.java
Outdated
Show resolved
Hide resolved
...perator/src/main/java/io/strimzi/operator/cluster/model/KafkaBrokerConfigurationBuilder.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, Thanks 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Staniel.
Look mostly good for me, I just left a couple of comments.
Additionally, I tried with LocalTieredStorage and it works fine.
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Outdated
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/TieredStorageCustom.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! I've left a few suggestions related to the doc.
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/TieredStorage.java
Outdated
Show resolved
Hide resolved
documentation/api/io.strimzi.api.kafka.model.kafka.tieredstorage.TieredStorageCustom.adoc
Outdated
Show resolved
Hide resolved
documentation/api/io.strimzi.api.kafka.model.kafka.tieredstorage.TieredStorageCustom.adoc
Outdated
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Outdated
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Outdated
Show resolved
Hide resolved
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Lixin Yao <lixin_yao@apple.com>
Signed-off-by: Lixin Yao <lixin_yao@apple.com>
@Staniel You will need to updated the derived files:
|
Signed-off-by: Lixin Yao <lixin_yao@apple.com>
@PaulRMellor @fvaleri Does it look good now? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
api/src/main/java/io/strimzi/api/kafka/model/kafka/tieredstorage/RemoteStorageManager.java
Outdated
Show resolved
Hide resolved
Thanks for the updates |
Signed-off-by: Jakub Scholz <www@scholzj.com>
Thanks for the PR @Staniel |
Type of change
Select the type of your PR
Description
Please describe your pull request
Support tiered storage: https://github.com/strimzi/proposals/blob/main/065-support-tiered-storage.md
Checklist
Please go through this checklist and make sure all applicable tasks have been done