-
Notifications
You must be signed in to change notification settings - Fork 207
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
Issue 63: Enabling ephemeral storage for zookeeper. #64
Issue 63: Enabling ephemeral storage for zookeeper. #64
Conversation
df7f4f9
to
5a25d41
Compare
Codecov Report
@@ Coverage Diff @@
## master #64 +/- ##
=======================================
- Coverage 52.61% 52% -0.62%
=======================================
Files 5 5
Lines 785 800 +15
=======================================
+ Hits 413 416 +3
- Misses 345 355 +10
- Partials 27 29 +2
Continue to review full report at Codecov.
|
1 similar comment
Codecov Report
@@ Coverage Diff @@
## master #64 +/- ##
=======================================
- Coverage 52.61% 52% -0.62%
=======================================
Files 5 5
Lines 785 800 +15
=======================================
+ Hits 413 416 +3
- Misses 345 355 +10
- Partials 27 29 +2
Continue to review full report at Codecov.
|
Signed-off-by: Houston Putman <hputman1@bloomberg.net>
2c7f01d
to
b8201e9
Compare
Rebased to comply with new Now ephemeral storage is enabled if |
Signed-off-by: Houston Putman <hputman1@bloomberg.net>
b8201e9
to
bda3a6b
Compare
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 for the contribution @HoustonPutman. Let me share my thoughts on this.
On one hand, I'm a bit concerned about altering the default persistence settings as it can inadvertently impact users who might be thinking that their data is still persisted, but it's not.
On the other hand, I think this change makes sense, adheres to the documentation, and we are still on time to make breaking changes as the project is in alpha state.
From my side, I'm more inclined to making this change. I'll review the code if there's a consensus on accepting the change.
@Tristan1900 @spiegela what do you think?
I agree with you @adrianmo, this is a good change since it just implements what the doc promises. I would vote to make the change. |
I should also mention, that I updated the format checking script to output the diffs of the expected vs. actual formatting. Making it much easier to debug, since the formatting is tested against multiple go versions. |
Have y'all had a chance to look at the implementation? |
Any issue on that ? Can it be merged ? |
@@ -467,7 +467,7 @@ func (r *ReconcileZookeeperCluster) yamlConfigMap(instance *zookeeperv1beta1.Zoo | |||
} | |||
|
|||
func (r *ReconcileZookeeperCluster) reconcileFinalizers(instance *zookeeperv1beta1.ZookeeperCluster) (err error) { |
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 like we need coverage of reconcileFinalizers
, but it isn't currently there, so I'll file that in a separate issue.
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.
Sorry for the delay getting back around to this. These changes all look good to me. Thanks!
Thanks for approving @spiegela! Can we get this merged? |
@pbelgundi can you also provide a review for this? |
when can we expect this to be merged? thanks |
Is there anything blocking this getting approved/merged @pbelgundi? |
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
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.
Before any change is merged, it is necessary to have it tested it for the following usecases, manually if automated testing is not feasible:
- Deployment & Deletion ( same & separate NS)
- DR (delete 1, multiple, all ZK pods, delete ZK STS and it should be able to come back up functioning correctly…)
- Upgrades/Rollback
- Cluster Scale Up/Down.
Spec: persistence.PersistentVolumeClaimSpec, | ||
}) | ||
} else { | ||
extraVolumes = append(extraVolumes, v1.Volume{ |
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.
Our zookeeperStartup.sh script relies on persistent volumes to be able to handle server restarts which will be broken when using ephemeral volumes.
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.
Defaulting to ephemeral storage breaks our DR Strategy. While I like the idea of using ephemeral storage with Zookeeper, at this point it can't be made a default option.
@pbelgundi If we make this a non-default option, is everything else in this PR kosher? If so, perhaps we should create a parallel PR with the changes we need to get this unblocked. |
Yes, I'm good as long as existing defaults don't change. |
Better implementation available at #215 |
Changelog Description
This PR allows users to create zookeepers with ephemeral storage instead of PVCs.
To enable ephemeral storage, omit
This change breaks backwards compatibility, but it does adhere to the documentation of the Zookeeper CRD:
zookeeper-operator/pkg/apis/zookeeper/v1beta1/zookeepercluster_types.go
Lines 68 to 71 in 68336c7
Purpose of the change
Fix #63
How to verify
Start the operator, create a Zk cluster without persistence.
Signed-off-by: Houston Putman hputman1@bloomberg.net