Skip to content

Parameter Contexts blocking export-import of versioned flows #229

@Chaffelson

Description

@Chaffelson

From NiFi Mailing list:

HI Team,

We are facing the below mentioned issue while deploying the Nifi flow from one Nifi Registry bucket to another bucket using Nipy API, if flow contains any parameter context. However, it is working fine if flow doesn’t contain any parameter context.

Issue is while calling nipyapi.versioning.deploy_flow_version API with following error message

raise ApiException(http_resp=r)

nipyapi.nifi.rest.ApiException: (500)

Reason: Internal Server Error

HTTP response headers: HTTPHeaderDict({'Date': 'Tue, 20 Oct 2020 07:55:30 GMT', 'X-Frame-Options': 'SAMEORIGIN', 'Content-Security-Policy': "frame-ancestors 'self'", 'X-XSS-Protection': '1; mode=block', 'Strict-Transport-Security': 'max-age=31540000', 'Content-Type': 'text/plain', 'Vary': 'Accept-Encoding', 'Content-Length': '79', 'Server': 'Jetty(9.4.19.v20190610)'})

HTTP response body: An unexpected error has occurred. Please check the logs for additional details.

There is no error/exception in any other additional logs.

It seems that there is some issue in exporting and importing the flow from source bucket to destination bucket using Nipy API. As after importing the flow in destination bucket, it is also giving error while importing it at destination Nifi instance using Nifi UI from destination bucket.

And it is working fine while importing the flow through destination Nifi UI from source bucket. But we are not getting any error in nipyapi.versioning.export_flow_version and nipyapi.versioning.import_flow_version API calls

Could you please look into it and suggest if it is not possible through Nipy API if flow contains any parameter context. Or is there any other way to do it.

I have attached the source code for the reference.
We are using following versions:
Docker Nifi – 1.11.4
Docker Nifi Registry – nifi-registry-0.7.0
Nipy API - 0.14.3

In order to properly test this we should add Parameter Context handling to NiPy, construct tests for it, then add tests to the versioning code for this case. I'll make a start on the Parameter contexts today

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions