Skip to content
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

vdk-core: Introduce Ingestion Plugin execution sequence interfaces #579

Merged
merged 5 commits into from
Dec 13, 2021

Conversation

doks5
Copy link
Contributor

@doks5 doks5 commented Nov 30, 2021

As part of the improvements to the Ingestion API, it is necessary to make it
possible for multiple ingestion plugins to be chained and provide capability for
complex payload processing.

This change introduces new interface for the IngesterPlugin to facilitate payload
processing without ingesting, and a new environment variable in the ingestion configuration
to allow clients to specify the sequence in which ingestion plugins get executed.

Testing Done: Trivial, documentation change mainly.

Signed-off-by: Andon Andonov andonova@vmware.com

@doks5 doks5 force-pushed the person/andonova/ingest-plugin-chaining branch from f85da55 to fe4f077 Compare November 30, 2021 09:23
@antoniivanov
Copy link
Collaborator

Can you link the issue ?

@doks5 doks5 linked an issue Nov 30, 2021 that may be closed by this pull request
@doks5
Copy link
Contributor Author

doks5 commented Nov 30, 2021

Can you link the issue ?

Done, thanks

@doks5 doks5 force-pushed the person/andonova/ingest-plugin-chaining branch from fe4f077 to d74f504 Compare November 30, 2021 21:55
Copy link
Contributor

@gabrielgeorgiev1 gabrielgeorgiev1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally I would really benefit from seeing an actual implementation example as part of this PR, either as actual code or just a scenario inside the PR description. Right now my understanding of what the goal here is and how it's being achieved is very hazy.

@mivanov1988
Copy link
Collaborator

I totally agree with @gageorgiev. @doks5 could you please add examples and use cases. I am not sure what problem we are trying to solve.

@doks5 doks5 force-pushed the person/andonova/ingest-plugin-chaining branch 2 times, most recently from 8f6fa65 to 169d092 Compare December 2, 2021 22:16
@doks5
Copy link
Contributor Author

doks5 commented Dec 2, 2021

I totally agree with @gageorgiev. @doks5 could you please add examples and use cases. I am not sure what problem we are trying to solve.

I've added workflow examples as pydoc to the interface.

@doks5 doks5 force-pushed the person/andonova/ingest-plugin-chaining branch 5 times, most recently from 360899e to b81c794 Compare December 7, 2021 17:40
Copy link
Collaborator

@antoniivanov antoniivanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@doks5 doks5 force-pushed the person/andonova/ingest-plugin-chaining branch from b81c794 to a9a466d Compare December 8, 2021 07:36
@doks5 doks5 requested a review from ivakoleva December 8, 2021 07:39
As part of the improvements to the Ingestion API, it is necessary to make it
possible for multiple ingestion plugins to be chained and provide capability for
complex payload processing.

This change introduces new interface for the IngesterPlugin to facilitate payload
processing without ingesting, and a new environment variable in the ingestion configuration
to allow clients to specify the sequence in which ingestion plugins get executed.

Testing Done: Added tests that would be used when the implementation of the interfaces is complete.

Signed-off-by: Andon Andonov <andonova@vmware.com>
@doks5 doks5 force-pushed the person/andonova/ingest-plugin-chaining branch from a9a466d to 968284c Compare December 8, 2021 14:30
@doks5 doks5 requested a review from ivakoleva December 9, 2021 13:40
Copy link
Contributor

@ivakoleva ivakoleva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you link to specific issue?

@doks5 doks5 force-pushed the person/andonova/ingest-plugin-chaining branch from 4afc373 to 14bd0ae Compare December 9, 2021 16:44
@doks5
Copy link
Contributor Author

doks5 commented Dec 9, 2021

Could you link to specific issue?

There is one linked issue. Is there another one that needs to be linked?

@doks5 doks5 requested a review from ivakoleva December 9, 2021 16:46
@doks5 doks5 force-pushed the person/andonova/ingest-plugin-chaining branch from 14bd0ae to 27751a6 Compare December 9, 2021 16:53
As part of the improvements to the Ingestion API, it is necessary to make it
possible for multiple ingestion plugins to be chained and provide capability for
complex payload processing.

This change introduces new interface for the IngesterPlugin to facilitate payload
processing without ingesting, and a new environment variable in the ingestion configuration
to allow clients to specify the sequence in which ingestion plugins get executed.

Testing Done: Added tests that would be used when the implementation of the interfaces is complete.

Signed-off-by: Andon Andonov <andonova@vmware.com>
@doks5 doks5 force-pushed the person/andonova/ingest-plugin-chaining branch from 27751a6 to b7a1668 Compare December 9, 2021 17:16
@doks5 doks5 requested a review from ivakoleva December 9, 2021 17:21
… sequence interfaces

As part of the improvements to the Ingestion API, it is necessary to make it
possible for multiple ingestion plugins to be chained and provide capability for
complex payload processing.

This change introduces new interface for the IngesterPlugin to facilitate payload
processing without ingesting, and a new environment variable in the ingestion configuration
to allow clients to specify the sequence in which ingestion plugins get executed.

Testing Done: Added tests that would be used when the implementation of the interfaces is complete.

Signed-off-by: Andon Andonov <andonova@vmware.com>
@doks5 doks5 requested a review from ivakoleva December 12, 2021 22:12
Copy link
Contributor

@ivakoleva ivakoleva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thanks for elaborating thoroughly, this change of interface surface that adds support for ingestion pre- and post- processing along with metadata, is fundamental

A small note, I would suggest using IngestionMetadata consistently in favour of swapping to IngestionResult. It seems simpler, and no copying needs to be implemented, and described as expected behaviour.

@doks5 doks5 merged commit 246008c into main Dec 13, 2021
@doks5 doks5 deleted the person/andonova/ingest-plugin-chaining branch December 13, 2021 07:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[SPIKE] vdk-core: ingestion payload decoration capability
6 participants