-
Notifications
You must be signed in to change notification settings - Fork 57
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
Conversation
f85da55
to
fe4f077
Compare
Can you link the issue ? |
projects/vdk-core/src/vdk/internal/builtin_plugins/ingestion/ingester_configuration_plugin.py
Outdated
Show resolved
Hide resolved
Done, thanks |
projects/vdk-core/src/vdk/internal/builtin_plugins/ingestion/ingester_configuration_plugin.py
Outdated
Show resolved
Hide resolved
fe4f077
to
d74f504
Compare
projects/vdk-core/src/vdk/internal/builtin_plugins/ingestion/ingester_configuration_plugin.py
Outdated
Show resolved
Hide resolved
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.
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.
projects/vdk-core/src/vdk/internal/builtin_plugins/ingestion/ingester_configuration_plugin.py
Outdated
Show resolved
Hide resolved
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. |
8f6fa65
to
169d092
Compare
I've added workflow examples as pydoc to the interface. |
360899e
to
b81c794
Compare
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.
Looks good to me.
projects/vdk-core/tests/functional/ingestion/test_ingest_chain.py
Outdated
Show resolved
Hide resolved
b81c794
to
a9a466d
Compare
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>
a9a466d
to
968284c
Compare
projects/vdk-core/src/vdk/internal/builtin_plugins/ingestion/ingester_configuration_plugin.py
Outdated
Show resolved
Hide resolved
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.
Could you link to specific issue?
4afc373
to
14bd0ae
Compare
There is one linked issue. Is there another one that needs to be linked? |
14bd0ae
to
27751a6
Compare
projects/vdk-core/tests/functional/ingestion/test_ingest_chain.py
Outdated
Show resolved
Hide resolved
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>
27751a6
to
b7a1668
Compare
projects/vdk-core/tests/functional/ingestion/test_ingest_chain.py
Outdated
Show resolved
Hide resolved
… 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>
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.
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.
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