-
Notifications
You must be signed in to change notification settings - Fork 4.6k
octavia-cli: enable transformations #12727
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
octavia-cli: enable transformations #12727
Conversation
ae5cd24
to
f99b67e
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.
Just a couple questions about things that may be able to be removed now that null values are excluded in the API. Otherwise LGTM!
if "operations" in comparable: | ||
for operation in comparable["operations"]: | ||
for k in self.remote_operation_level_keys_to_filter_out: | ||
operation.pop(k) | ||
if "dbt" in operation["operator_configuration"] and operation["operator_configuration"]["dbt"] is None: | ||
operation["operator_configuration"].pop("dbt") | ||
if "normalization" in operation["operator_configuration"] and operation["operator_configuration"]["normalization"] is None: | ||
operation["operator_configuration"].pop("normalization") |
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.
@alafanechere I just wanted to double check: now that we have made the API change to exclude null values, is this logic still necessary?
What
We want to allow users to set up normalization / custom transformation on their connection managed with
octavia-cli
.How
octavia generate
:octavia-cli/octavia_cli/generate/commands.py Create a--normalization
option to enable normalization on generated connection configurations.octavia apply
(changes inoctavia-cli/octavia_cli/apply/resources.py):operations
on a connection is simpler using theWebBackendConnection*
endpoints and models. I changed theresources.py
code make use of these endpoints in model for connection management. This required setting some nullable fields on these models inairbyte-api/src/main/openapi/config.yaml
Connection._deserialize_operations
method.I also updated unit and integrations tests to test this new feature extensively.