-
-
Notifications
You must be signed in to change notification settings - Fork 8
feat: add rolling upgrade support for nifi 2.x #771
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
Conversation
maltesander
left a comment
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.
Tests work fine, flows keep working (and running) from 1.27.0 to 2.0.0 to 2.2.0 and displays accordingly

There is one problem when i tried with the custom 2.0.0 image to the standard 2.2.0. When using a non custom image afterwards and no serverside apply the propery is still set. This then showed the nifi version in the UI to be 2.0.0 (but using 2.2.0 image).
This should be fixed in 02-install-nifi.yaml.j2 like:
spec:
image:
{% if test_scenario['values']['nifi_old'].find(",") > 0 %}
custom: "{{ test_scenario['values']['nifi_old'].split(',')[1] }}"
productVersion: "{{ test_scenario['values']['nifi_old'].split(',')[0] }}"
{% else %}
productVersion: "{{ test_scenario['values']['nifi_old'] }}"
custom: null
{% endif %}
and in 05-upgrade-nifi.yaml.j2 like
{% if test_scenario['values']['nifi_new'].find(",") > 0 %}
custom: "{{ test_scenario['values']['nifi_new'].split(',')[1] }}"
productVersion: "{{ test_scenario['values']['nifi_new'].split(',')[0] }}"
{% else %}
productVersion: "{{ test_scenario['values']['nifi_new'] }}"
custom: null # <-----thats required
{% endif %}
Good find, thanks! Added the fix in all the integration tests 8b20f2a Also reran an affected test: |
|
Integration tests rerun after all the new changes: |
maltesander
left a comment
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!
* feat: add rolling upgrade support for nifi 2.x * cargo fmt * cargo fmt * cargo update and make regenerate-nix * add changelog entry * add documentation * cargo update and make regenerate-nix * fix upgrade intergration tests with custom images * cargo update and make regenerate-nix * fix integration tests when using custom images * rename VersionChangeState enum and some variants * rename enum variant * move upgrade code in separate module * cargo fmt * adapt variable names --------- Co-authored-by: Malte Sander <malte.sander.it@gmail.com>

Description
Implementation of #736
This PR configures the rolling upgrade for clusters upgrading from version 2.x to 2.y. It also expands the upgrade integration test.
The
upgrade_nifi_old-2.0.0_nifi_new-2.2.0_zookeeper-latest-3.9.3_openshift-falseintegration test was run with a custom built nifi image2.0.0-stackable0.0.0-devsince we currently don't have a release with two separate nifi 2.x versions. If this changes, the tests will need some adjustments, for example intest-definition.yamlfor thenifi_olddimension. This is currently left out to not break current test runs.Openshift Tests:
Definition of Done Checklist