-
Notifications
You must be signed in to change notification settings - Fork 5
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 by Bors] - Added code to perform full cluster stop when changing the deployed NiFi version #323
Conversation
…Fi version. fixes #238 Signed-off-by: Sönke Liebau <[email protected]>
Signed-off-by: Sönke Liebau <[email protected]>
This reverts commit 1d0e0a5.
Signed-off-by: Sönke Liebau <[email protected]>
Signed-off-by: Sönke Liebau <[email protected]>
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.
Tested and works fine (only one zookeeper version)!
--- PASS: kuttl (348.76s)
--- PASS: kuttl/harness (0.00s)
--- PASS: kuttl/harness/upgrade_zookeeper-3.8.0-stackable0.7.0_nifi_old-1.15.0-stackable0.4.0_nifi_new-1.16.3-stackable0.1.0 (164.70s)
--- PASS: kuttl/harness/upgrade_zookeeper-3.8.0-stackable0.7.0_nifi_old-1.16.0-stackable0.1.0_nifi_new-1.16.3-stackable0.1.0 (182.84s)
PASS
Some issues/questions:
- The (old) reporting task job is not getting deleted (missing in orphaned resources) after update
- Does it make sense to use one of the python tests (e.g. test_nifi.py to check for registered nodes) in the upgrade tests?
- Do we need a flow-file/data test? In terms of are the versions and their data really compatible? We do that e.g. in Kafka.
- Does it make sense to emit the log messages as events ("Cluster has been stopped for a restart, will scale back up.")?
We need to have a look at that, yes. I noticed this as well, but figured this will mostly be an issue during testing, when we trigger the upgrade before the job for the old version is finished.
It absolutely does, I'll look into this when I get back. Or if someone else wants to pick this up in the meantime, please do feel free to!
We should have that, yes.
It does! |
Co-authored-by: Malte Sander <[email protected]>
# Conflicts: # deploy/crd/nificluster.crd.yaml # docs/modules/ROOT/pages/usage.adoc # rust/crd/src/authentication.rs # rust/crd/src/lib.rs
Signed-off-by: Sönke Liebau <[email protected]>
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.
Just minor things and a question:
Do we want to try loading a flow template / data in general?
@sbernauer used a job to ingest the flow: https://github.com/stackabletech/stackablectl/blob/main/demos/nifi-kafka-druid-water-level-data/create-nifi-ingestion-job.yaml and https://github.com/stackabletech/stackablectl/blob/main/demos/nifi-kafka-druid-water-level-data/IngestWaterLevelsToKafka.xml.
We could check in the up/downgrade that this is still available / working after the restart (a much easier flow)?
Co-authored-by: Malte Sander <[email protected]>
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.
Very nice! LGTM.
bors merge |
…Fi version (#323) Currenty we cannot upgrade NiFi without manual intervention, as NiFi can't run with mixed versions in a cluster and StateFulSets do not have an upgrade policy of "full". This PR adds tracking of the deployed NiFi version to the status of the NiFi object and evaluates if a reconciliation signifies a change of the deployed version. If this is recognized a full stop of the cluster is performed and only then the updated version rolled out. fixes #238 Signed-off-by: Sönke Liebau <[email protected]> # Description *Please add a description here. This will become the commit message of the merge request later.* Co-authored-by: Sönke Liebau <[email protected]> Co-authored-by: Razvan-Daniel Mihai <[email protected]>
Pull request successfully merged into main. Build succeeded: |
Currenty we cannot upgrade NiFi without manual intervention, as NiFi can't run with mixed versions in a cluster and StateFulSets do not have an upgrade policy of "full".
This PR adds tracking of the deployed NiFi version to the status of the NiFi object and evaluates if a reconciliation signifies a change of the deployed version. If this is recognized a full stop of the cluster is performed and only then the updated version rolled out.
fixes #238
Signed-off-by: Sönke Liebau [email protected]
Description
Please add a description here. This will become the commit message of the merge request later.
Review Checklist
Once the review is done, comment
bors r+
(orbors merge
) to merge. Further information