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: properties write pre-processing support #819

Merged
merged 4 commits into from
Apr 29, 2022

Conversation

ivakoleva
Copy link
Contributor

This change introduces IPropertiesServiceClient write_properties
chaining, enabling use-cases like decorate/curate properties
prior write, parallel properties storage, and so on.
In addition, autonomous IPropertiesServiceClient write properties may
now be invoked in a sequence.

A backwards-compatible API change is introduced, so now
write_properties does return the properties written, that unblocks
the chaining abstraction. Obsolete method signatures would be already
updated. Pydocs updated.
Preprocessors configured in PROPERTIES_WRITE_PREPROCESS_SEQUENCE are
verified and available before any properties writing initiated.
Propertiesnotavailable.py file renamed, unused imports cleaned;
a few typos fixed in ingestion processing user-facing documentation;

Testing Done: introduced 3 properties preprocessing functional tests,
covering success/error/misconfiguration cases.

Signed-off-by: ikoleva [email protected]

This change introduces `IPropertiesServiceClient` `write_properties`
chaining, enabling use-cases like decorate/curate properties
prior write, parallel properties storage, and so on.
In addition, autonomous `IPropertiesServiceClient` write properties may
now be invoked in a sequence.

A backwards-compatible API change is introduced, so now
`write_properties` does return the properties written, that unblocks
the chaining abstraction. Obsolete method signatures would be already
updated. Pydocs updated.
Preprocessors configured in `PROPERTIES_WRITE_PREPROCESS_SEQUENCE` are
verified and available before any properties writing initiated.
`Propertiesnotavailable.py` file renamed, unused imports cleaned;
a few typos fixed in ingestion processing user-facing documentation;

Testing Done: introduced 3 properties preprocessing functional tests,
covering success/error/misconfiguration cases.

Signed-off-by: ikoleva <[email protected]>
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.

As it's a introducing a new user-facing options, we should include a functional test under https://github.com/vmware/versatile-data-kit/tree/main/projects/vdk-core/tests/functional/run to test the PROPERTIES_WRITE_PREPROCESS_SEQUENCE with vdk run

This change introduces `IPropertiesServiceClient` `write_properties`
chaining, enabling use-cases like decorate/curate properties
prior write, parallel properties storage, and so on.
In addition, autonomous `IPropertiesServiceClient` write properties may
now be invoked in a sequence.

A backwards-compatible API change is introduced, so now
`write_properties` does return the properties written, that unblocks
the chaining abstraction. Obsolete method signatures would be already
updated. Pydocs updated.
Preprocessors configured in `PROPERTIES_WRITE_PREPROCESS_SEQUENCE` are
verified and available before any properties writing initiated.
`Propertiesnotavailable.py` file renamed, unused imports cleaned;
a few typos fixed in ingestion processing user-facing documentation;

Testing Done: introduced 4 properties preprocessing functional tests,
covering success/immutableouterscope/error/misconfiguration cases;
introduced a functional test using PROPERTIES_WRITE_PREPROCESS_SEQUENCE
to decorate with an additional property, via newly implemented
TestPropertiesDecoratedPlugin in vdk-test-utils

Signed-off-by: ikoleva <[email protected]>
@ivakoleva
Copy link
Contributor Author

As it's a introducing a new user-facing options, we should include a functional test under https://github.com/vmware/versatile-data-kit/tree/main/projects/vdk-core/tests/functional/run to test the PROPERTIES_WRITE_PREPROCESS_SEQUENCE with vdk run

the functional test is implemented; should I comment it out however, and create a PR with vdk-test-utils changes to merge first?

@ivakoleva ivakoleva requested review from antoniivanov and doks5 April 28, 2022 08:23
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. I made some small suggestions that you should look over but I am ok if you decide not to change anything.

@antoniivanov
Copy link
Collaborator

the functional test is implemented; should I comment it out however, and create a PR with vdk-test-utils changes to merge first?

You can merge both in the same PR - our CI uses vdk-test-utils from the source.

This change introduces `IPropertiesServiceClient` `write_properties`
chaining, enabling use-cases like decorate/curate properties
prior write, parallel properties storage, and so on.
In addition, autonomous `IPropertiesServiceClient` write properties may
now be invoked in a sequence.

A backwards-compatible API change is introduced, so now
`write_properties` does return the properties written, that unblocks
the chaining abstraction. Obsolete method signatures would be already
updated. Pydocs updated.
Preprocessors configured in `PROPERTIES_WRITE_PREPROCESS_SEQUENCE` are
verified and available before any properties writing initiated.
`Propertiesnotavailable.py` file renamed, unused imports cleaned;
a few typos fixed in ingestion processing user-facing documentation;

Testing Done: introduced 4 properties preprocessing functional tests,
covering success/immutableouterscope/error/misconfiguration cases;
introduced a functional test using PROPERTIES_WRITE_PREPROCESS_SEQUENCE
to decorate with an additional property, via newly implemented
TestPropertiesDecoratedPlugin in vdk-test-utils

Signed-off-by: ikoleva <[email protected]>
@ivakoleva ivakoleva enabled auto-merge (squash) April 29, 2022 12:38
@ivakoleva ivakoleva merged commit 95de635 into main Apr 29, 2022
@ivakoleva ivakoleva deleted the person/ikoleva/properties-write-preprocesing branch April 29, 2022 12:44
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.

4 participants