You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Yolanda M. Davis (JIRA)" <ji...@apache.org> on 2017/03/30 14:35:41 UTC

[jira] [Commented] (NIFI-3663) Utility to automate upgrade/downgrade of NiFi

    [ https://issues.apache.org/jira/browse/NIFI-3663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15949179#comment-15949179 ] 

Yolanda M. Davis commented on NIFI-3663:
----------------------------------------

Just wanted to provide a definition for rolling upgrade in NiFi:

NiFi already supports the backwards compatibility of nodes (from version 1.0.0 forward) so the challenge is ensuring users are alerted before node is disconnected, upgraded and then rejoins the cluster. Users of the UI should be alerted of pending upgrade of cluster and alerted when specific node in cluster is about to be removed for upgrade. Also once a node is disconnected from a cluster NiFi already prevents users from making any changes to the flow (so that the flow template won't change when the upgraded node reconnects). However if the flow is running it should be allowed to continue to execute on the nodes remaining active in the cluster. 

Here is a summary of what can happen during the upgrade of a node:

1) Send bulletin to NiFi alerts users of pending upgrade of node
2) Disconnect node from cluster and shutdown node
3) Backup lib, config, docs, bin directories, license, notice (not repos/state dir)
4) Decompress upgrade file and install new library folder, docs and bin directories. 
5) Perform configuration delta for conf, properties and xml files writing out updated files to designated configuration location
6) Start up node and reconnect to cluster

For downgrade process:
1) Send bulletin to NiFi alerts users of pending downgrade of node
2) If node is running and attached to cluster then disconnect node and shutdown
3) Retrieve backup of lib, config, docs and bin, directories and restore to install location
4) Start up node and reconnect to cluster


> Utility to automate upgrade/downgrade of NiFi 
> ----------------------------------------------
>
>                 Key: NIFI-3663
>                 URL: https://issues.apache.org/jira/browse/NIFI-3663
>             Project: Apache NiFi
>          Issue Type: New Feature
>          Components: Tools and Build
>            Reporter: Yolanda M. Davis
>            Assignee: Yolanda M. Davis
>
> Upgrading NiFi either in standalone mode or within a cluster currently requires several manual steps to ensure that an existing NiFi node is properly migrated to a new version.  Also there is no support for "rolling upgrade" which would allow upgrade of a NiFi cluster to occur without a full outage of the cluster. This limits a clusters ability to provide a highly available environment for flow execution and also requires more coordination to plan and schedule for full outages.
> Having a utility (or a set of utilities) that can support a more seamless move to a new version of NiFi (either in rolling or non-rolling fashion) would help to further support automation of configuration and management for NiFi.  Such a utility could also be leveraged by more enterprise level configuration management frameworks (e.g. Ansible, Puppet, Chef, Salt) to coordinate upgrades across multiple nodes or clusters within an environment.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)