Commit Graph

1138 Commits

Author SHA1 Message Date
Bryan Bende 4196140e4c
NIFI-4750 Ensuring preDestruction is called on authorizer and appropriate policy/user-group providers. This closes #2387 2018-01-08 16:40:40 -05:00
Matt Gilman 8f635f1c0d
NIFI-4436:
- Only enforcing the unique name check when the registry has a different identifier.

This closes #2385.

Signed-off-by: Bryan Bende <bbende@apache.org>
2018-01-08 15:13:31 -05:00
Matt Gilman 33b40fb87f NIFI-4739:
- Ensuring the logout action is using a relative link.

This closes #2374
2018-01-08 15:02:12 -05:00
Kevin Doran a8817e0238
NIFI-4708 Add Registry support to encrypt-config.
Adds support for NiFI Registry config files to the encrypt-config tool
in NiFi Toolkit.
Also adds decryption capability to encrypt-config tool.

This closes #2376.

Signed-off-by: Andy LoPresto <alopresto@apache.org>
2018-01-08 11:17:21 -08:00
Mark Payne b6117743d4
NIFI-4436: Ensure that on save, we assign a Versioned Component Identifier to inner process groups that are tracking to remote flows, if they don't have one. This would occur, for instance, if a Process Group was imported into an existing group (or copied/moved into it) and then the existing group was saved.
NIFI-4436: Fixed a bug that caused a flow not to successfully change version if a connection is added to an existing component and that component is running at time of version change

NIFI-4436: Fixed bug with ordering of controller services being enabled and disabled

NIFI-4436: Fixed bug that prevented local input and output ports from being stopped and started as needed

NIFI-4436: Fixed bugs around referencing controller services that are at a higher level than the versioned flow

NIFI-4436: Ensure that we clear components from FlowController's cache when removed and that they are added to cache when created.

NIFI-4436: Fixed error message coming back if component is invalid when trying to be restarted/re-enabled

NIFI-4436: Addressed issue with children of a removed process group not being considered 'affected components' and as a result not being stopped/disabled/restarted/re-enabled

This closes #2219.

Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 13:10:13 -05:00
Matt Gilman fa996cd418
NIFI-4436:
- Minor tweak to when the max height for the options list is calculated per PR comments.
- Resolving logic issue in two phase commit when updating variable registry.
- Fixing variable visibility.
2018-01-08 12:44:57 -05:00
Mark Payne f702f808a7
NIFI-4436: Fixed bug that caused a Process Group to be 'dirty' if a processor that was referencing a non-existent controller service is updated to reference an externally available controller service
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:57 -05:00
Matt Gilman b3e1584ef4
NIFI-4436:
- Addressing PR feedback.
- Addressing two phase commit logic issue when changing the flow version.
2018-01-08 12:44:57 -05:00
Mark Payne 63544c880f
NIFI-4436: Fixed bug that caused in Process Groups' names not to be fixed when reverting changes
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:57 -05:00
Matt Gilman fd18eeb84e
NIFI-4436:
- Code clean up.
- Backing out incomplete fix for variable registry two phase commit to address in separate JIRA.
2018-01-08 12:44:57 -05:00
Mark Payne 118667a601
NIFI-4436: Bug fixes
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:56 -05:00
Matt Gilman 20b539aac3
NIFI-4436:
- Bumping registry version to 0.1.0.
- Addressing PR comments.
2018-01-08 12:44:56 -05:00
Mark Payne 0127b02617
NIFI-4436: Fixed bug that causes a deadlock when changing version of a PG. Before this patch, an update would obtain a write lock and then recurse downward through the child groups, obtaining write locks to update variable registries. At the same time, if a Processor is obtaining a Controller Service, it will obtain a Read Lock on the Process Group and then recurse upward through the ancestors, obtaining Read Lock. If the timing is right, we can have a group obtain a read lock, then try to obtain its parent's Read Lock. At the same time, an update to the group could hold the Write Lock on the Process Group and attempt to obtain a Write Lock on child (where the Processor lives), resulting in a deadlock.
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:56 -05:00
Matt Gilman c5b0931e55
NIFI-4436:
- Minor UX tweaks.
- Updating imports due to refactoring of Registry models.
- Fixing checkstyle issues.
2018-01-08 12:44:56 -05:00
Mark Payne 416b86145f
NIFI-4436: Bug fixes
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:56 -05:00
Matt Gilman f48808b1f4
NIFI-4436:
- Updating buckets permissions based on new model.
- Adding check to ensure that flow name is non null before checking the length.
- Adding versioned flow state to the Process Group tab in the Summary table.
- Fixing issue with navigating to Controller Services from the local changes dialog.
2018-01-08 12:44:56 -05:00
Mark Payne 181d6809c1
NIFI-4436: Bug fixes; ensure correct Exception types are thrown
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:55 -05:00
Matt Gilman 1266235c00
NIFI-4436:
- Code clean up.
- Improved error handling.
- Minor UX improvements.
- Always showing Process Group state to complement the aggregation counts.
- Adding the Process Group state to the top status bar.
2018-01-08 12:44:55 -05:00
Mark Payne fe8b30bf26
NIFI-4436: Removed isCurrent, isModified from VersionControlInformation and associated DTO. Bug fixes & code refactoring
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:55 -05:00
Matt Gilman db2cc9fec1
NIFI-4436:
- Code clean up.
- Improved error handling.
- Minor UX improvements.
- Adding message to indicate that variables do not support sensitive values.
- Preventing a user from changing the flow version to the current version.
- Only presenting buckets a user has appropriate permissions to.
- Adding basic auditing to the version control actions.
2018-01-08 12:44:55 -05:00
Mark Payne 014c542f48
NIFI-4436: Bug fix to ensure that RPG's ports are not removed until after connections are established to the ports; ensure that if a registry's name is changed that it is updated immediately in VersionControlInformation objects
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:55 -05:00
Matt Gilman 49aad2c3a8
NIFI-4436:
- Updating front end to use version control state/status.
- Fixing copy/paste issue during revert local changes.
- Code clean up in the breadcrumbs.
- Update VersionsResource authorization and two phase commit object usage.
2018-01-08 12:44:54 -05:00
Mark Payne fdef5b5605
NIFI-4436: More intelligently flag a ProcessGroup to indicate whether or not it has any local modifications compared to Versioned Flow - Bug fixes - Updated to include status of a Versioned Process Group to include VersionedFlowState and explanation
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:54 -05:00
Matt Gilman d34fb5e2ef
NIFI-4436:
- Addressing miscellaneous minor UX issues.
- Updating comments UX for all components.
- Updating the styling of PG and RPG to be more consistent.
- Adding the icons for nested versioned process groups.
- Calculating the number/states of nested versioned process groups.
2018-01-08 12:44:54 -05:00
Mark Payne e1606701c7
NIFI-4436, NIFI-4461: When copying and pasting an RPG, ensure that we copy Batch Settings for each Port. Bug fixes. Now works in clustered mode.
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:54 -05:00
Matt Gilman c92022dd60
NIFI-4436:
- Fixing default border radius.
- Code clean up.
- Ensuring component visibility is updated after updating/reverting.
- Fixing sort on component name in local changes dialog
NIFI-4526:
- Added front end controls for updating RPG target URL.
2018-01-08 12:44:54 -05:00
Mark Payne adacb204a8
NIFI-4436: Bug fixes - Checkpoint before allowing multiple Process Groups with same Versioned Component ID and same parent - Ensure that if flow update is cancelled while processors are being stopped/services disabled that we stop waiting for that to occur. Also ensure that if we fail to update flow that we re-enable/restart the processors and services - Updated verbiage to use a ConciseEvolvingDifferentDescriptor when getting local modifications for a versioned flow - Do not allow outer process group to be saved to flow registry or have local modifications reverted if it has a descendant process group that is under version control and is dirty. Fixed bug where ComponentDifferenceDTO was populated with wrong component id and group id
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:53 -05:00
Matt Gilman 3d8b1e4890
NIFI-4436:
- Clearing bucket/flow/versions when changing the selected registry/bucket.
- Using the versioned flow to get the group name when importing.
- Adding menu items for viewing local changes.
- Showing local changes during revert request.
2018-01-08 12:44:53 -05:00
Mark Payne f6cc5b6cdc
NIFI-4436: Integrate with actual Flow Registry via REST Client - Store Bucket Name, Flow Name, Flow Description for VersionControlInformation - Added endpoint for determining local modifications to a process group - Updated authorizations required for version control endpoints - Add state and percent complete fields ot VersionedFlowUpdateRequestDTO - If a variable exists in a parent process group, do not include it in imported/updated process group when interacting with flow registry - Code cleanup, documentation; bug fixes - Ensure that we are passing NiFiUser to the flow registry client when appropriate - Updated to work against new version of flow registry client; deleted file-based flow registry client
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:53 -05:00
Matt Gilman d6e54f19ee
NIFI-4436:
- Adding the version number to the start version control, commit, and change version dialog.
- Showing a loading item in the combo's while querying for the registries, buckets, and flows.
- Adding tooltips to display version control information on the canvas.
- Adding progress bar dialogs for changing version and reverting local changes.
- Updating canvas and breadcrumb according to the version control state.
- Updating to use registry name, bucket name, and flow name where appropriate.
2018-01-08 12:44:53 -05:00
Mark Payne 6b00dff1a8
NIFI-4436: Integrate with actual Flow Registry via REST Client - Store Bucket Name, Flow Name, Flow Description for VersionControlInformation - Added endpoint for determining local modifications to a process group - Updated authorizations required for version control endpoints - Add state and percent complete fields ot VersionedFlowUpdateRequestDTO
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:53 -05:00
Matt Gilman 696d583b14
NIFI-4436:
- Added the import dialog for importing a versioned flow into a new process group.
- Added the change version dialog for upgrading/downgrading a versioned flow.
2018-01-08 12:44:52 -05:00
Mark Payne 6aa8b5c61c
NIFI-4436: Added additional endpoints; bug fixes
Signed-off-by: Matt Gilman <matt.c.gilman@gmail.com>
2018-01-08 12:44:52 -05:00
Matt Gilman 7a0a900a0f
NIFI-4436:
- Adding support to save a version of a flow based on a selected Process Group.
- Adding support for revert changes back to the most recent version.
- Adding support to disconnect from version control.
- Moving the version control information out of the entity objects and into the dto's.
- Fixing checkstyle issues.
NIFI-4502:
- Updating the UI to allow for the user to register registry clients.
- Updating the version control menu item names.
2018-01-08 12:44:52 -05:00
Mark Payne 6a58d780d7
NIFI-4436:
- Initial checkpoint: able ot start version control and detect changes, in standalone mode, still 'crude' implementation
- Checkpoint: Can place flow under version control and can determine if modified
- Checkpoint: Change version working in some cases. Does not work if processor removed because COMPONENT_REMOVED type has ComponentA whose ID is the VersionedComponentID but we are trying to call ProcessorDAO.get() with this ID
- Checkpoint: Able to change flow from Version 1 to Version 2 and back. Not yet tested with controller services. Have not tried changing/removing connections. Not cluster-friendly yet. All inline, not in background. Have not taken into account ports, funnels, remote ports, etc. Have not tested with Labels yet
- Checkpoint after implementing ClusterReplicationComponentLifecycle instead of JerseyClientComponentLifecycle
- Checkpoint: Updated to allow starting version control and updating version in clustered mode
- Checkpoint: Updated versioning endpoint so that when version of a flow is updated, the bundle information is populated and the snapshot is replicated to the cluster.
- Checkpoint: Implemented endpoint for reverting to previously sync'ed version of a flow and updated version control endpoint so that Process Group can be pushed as a new version to existing flow instead of only creating a new flow
- Checkpoint: Updated so that if a Process Group is under Version Control and it has a child Process Group, which is also under Version Control, we can handle that gracefully. Not yet tested because it depends on updates to the nifi-registry module, which can't be compiled due to maven dependency conflicts
2018-01-08 12:44:52 -05:00
Kevin Doran 81d3f6f326
NIFI-4740 Fix User Group Data Integrity Checks. This closes #2378
Removes user existence check from FileUserGroupProvider when
group is created or updated. Replaces it with check in the
Authorizer Decorator class created by Authorizer Factory, so
that all providers are used.

Also fixes bug when searching for group membership by user
that returns results across all providers.
2018-01-05 14:22:35 -05:00
yuri1969 41d9506a2b
NIFI-4402 - Add component location in Summary view
Implemented as described in the issue. Improvements are welcome.
Reworded the title according to feedback.
This closes #2195
2018-01-05 09:09:37 -05:00
Matt Gilman 7a8dbb8b15
NIFI-4733:
- Resolving logic issue in two phase commit when updating variable registry. This closes #2370
2018-01-04 13:03:11 -05:00
Matt Gilman a2a8fcb31c NIFI-4092: This closes #2365.
- Removing direct dependency on jaxb.

Signed-off-by: joewitt <joewitt@apache.org>
2018-01-04 09:38:35 -05:00
joewitt 6ee6b5e57c NIFI-4734 refactored couchbase bundle, jms bundle, removed jms test-lib usage, fixed broken SeeAlso and service links causing docs warns. Corrected L&N in each bundle. This closes #2369.
Signed-off-by: Mark Payne <markap14@hotmail.com>
2018-01-04 09:16:17 -05:00
Jeff Storck 42a1ee011b NIFI-4323 This closes #2360. Wrapped Get/ListHDFS hadoop operations in ugi.doAs calls
NIFI-3472 NIFI-4350 Removed explicit relogin code from HDFS/Hive/HBase components and updated SecurityUtils.loginKerberos to use UGI.loginUserFromKeytab. This brings those components in line with daemon-process-style usage, made possible by NiFi's InstanceClassloader isolation.  Relogin (on ticket expiry/connection failure) can now be properly handled by hadoop-client code implicitly.
NIFI-3472 Added default value (true) for javax.security.auth.useSubjectCredsOnly to bootstrap.conf
NIFI-3472 Added javadoc explaining the removal of explicit relogin threads and usage of UGI.loginUserFromKeytab
Readded Relogin Period property to AbstractHadoopProcessor, and updated its documentation to indicate that it is now a deprecated property
Additional cleanup of code that referenced relogin periods
Marked KerberosTicketRenewer is deprecated

NIFI-3472 Cleaned up imports in TestPutHiveStreaming
2018-01-03 11:31:47 -05:00
Matt Gilman b7c9c88f9f
NIFI-4444:
- Ensure the /nifi-api/controller redirection filter executes before matching.

This closes # 2358.

Signed-off-by: Andy LoPresto <alopresto.apache@gmail.com>
2018-01-02 10:01:03 -05:00
Kevin Doran 482f371958
NIFI-4701 Add authorizers.xml support to toolkit.
Adds authorizers.xml to the files understood by the encrypt-config
tool in the NiFi Toolkit. If enabled, then the sensitive properties
for LdapUserGroupProvider in authorizers.xml will be encrypted.
Also fixes a bug wherein encrypt-config replaces multiple XML nodes
in login-indentity-providers.xml when LdapProvider is not the first
provider listed in the file.
Enable properties in authorizers.xml to be encrypted by the master key.

This closes #2350.

Signed-off-by: Andy LoPresto <alopresto.apache@gmail.com>
2017-12-31 17:41:04 -05:00
Aldrin Piri 49285d325f NIFI-4719 - Incrementing Template encoding version to 1.2 to reflect changes incorporated in NIFI-3155
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2357.
2017-12-23 18:15:49 +01:00
Koji Kawamura e8f6ff440a NIFI-4714 - Use lowercase hostname for validation.
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2355.
2017-12-21 14:38:36 +01:00
Matt Gilman 17718940d7 NIFI-4689 - Ensuring all provenance properties are represented in nifi.properties.
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2352.
2017-12-19 09:44:25 +01:00
Joe Percivall 48ae4be015 NIFI-4475 Changing the get(batchSize) method in StandardProcessSession so that it checks all connections before returning nothing. This closes #2337. 2017-12-14 15:08:55 -05:00
Koji Kawamura b8375a681a NIFI-3377: NiFi RPG errors when switching between transport protocols. This closes #2340. 2017-12-14 15:02:40 -05:00
Kevin Doran 2608351113
NIFI-4667 Fix LDAP Sync Interval
Corrects time unit conversion for the Sync Interval config property
for LdapUserGroupProvider in authorizers.xml.

Also enforces a minimum value of 10 secs for the Sync Interval to help
catch unintentional misconfigurations, for example users upgrading
from previous versions, where tiny Sync Interval values could be set
as a workaround for NIFI-4667.

This closes #2341
2017-12-14 15:01:52 -05:00
Mark Payne 3b74d2ddad NIFI-4633: This closes #2327. Ensure that everywhere that a FlowFile is passed into ProcessSession that we used the most up-to-date version of it
Ensure that when ProcessSession.clone(FlowFile) is called, we obtain the most recent version of the FlowFile before attempting to obtain FlowFile size.

Signed-off-by: joewitt <joewitt@apache.org>
2017-12-08 15:30:01 -05:00