Skip to content

Commit

Permalink
octavia-cli: undue skip_reset flag revert and update integration tests (
Browse files Browse the repository at this point in the history
#20093)

* Revert "Revert "octavia-cli: Added flag to control whether to reset the streams or not (#18337)""

This reverts commit da0d9a7.

* Update octavia cli integration tests
  • Loading branch information
terencecho committed Dec 5, 2022
1 parent 4bef54d commit a1e21c9
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ repos:
).?$
- repo: https://github.com/csachs/pyproject-flake8
rev: v0.0.1a2.post1
rev: v6.0.0
hooks:
- id: pyproject-flake8
args: ["--config", "pyproject.toml"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ destination_configuration_path: TO_UPDATE_FROM_TEST
# EDIT THE CONFIGURATION BELOW!
configuration:
status: active # REQUIRED | string | Allowed values: active, inactive, deprecated
skip_reset: false # OPTIONAL | boolean | Flag to check if the connection should be reset after a connection update
namespace_definition: source # OPTIONAL | string | Allowed values: source, destination, customformat
namespace_format: "${SOURCE_NAMESPACE}" # OPTIONAL | string | Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'.
prefix: "" # REQUIRED | Prefix that will be prepended to the name of each stream when it is written to the destination
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ destination_configuration_path: destination_configuration_path
# EDIT THE CONFIGURATION BELOW!
configuration:
status: active # REQUIRED | string | Allowed values: active, inactive, deprecated
skip_reset: false # OPTIONAL | boolean | Flag to check if the connection should be reset after a connection update
namespace_definition: source # OPTIONAL | string | Allowed values: source, destination, customformat
namespace_format: "${SOURCE_NAMESPACE}" # OPTIONAL | string | Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'.
prefix: "" # REQUIRED | Prefix that will be prepended to the name of each stream when it is written to the destination
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ destination_configuration_path: destination_configuration_path
# EDIT THE CONFIGURATION BELOW!
configuration:
status: active # REQUIRED | string | Allowed values: active, inactive, deprecated
skip_reset: false # OPTIONAL | boolean | Flag to check if the connection should be reset after a connection update
namespace_definition: source # OPTIONAL | string | Allowed values: source, destination, customformat
namespace_format: "${SOURCE_NAMESPACE}" # OPTIONAL | string | Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'.
prefix: "" # REQUIRED | Prefix that will be prepended to the name of each stream when it is written to the destination
Expand Down
14 changes: 14 additions & 0 deletions octavia-cli/octavia_cli/apply/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,10 @@ class Connection(BaseResource):

resource_type = "connection"

local_root_level_keys_to_remove_during_create = ["skip_reset"] # Remove these keys when sending a create request

local_root_level_keys_to_filter_out_for_comparison = ["skip_reset"] # Remote do not have these keys

remote_root_level_keys_to_filter_out_for_comparison = [
"name",
"source",
Expand Down Expand Up @@ -667,6 +671,8 @@ def create_payload(self) -> WebBackendConnectionCreate:
self.configuration["operations"] = self._deserialize_operations(
self.raw_configuration["configuration"]["operations"], OperationCreate
)
for k in self.local_root_level_keys_to_remove_during_create:
self.configuration.pop(k, None)
return WebBackendConnectionCreate(
name=self.resource_name, source_id=self.source_id, destination_id=self.destination_id, **self.configuration
)
Expand Down Expand Up @@ -794,6 +800,14 @@ def _check_for_legacy_raw_configuration_keys(self, raw_configuration):
"These keys changed to source_configuration_path and destination_configuration_path in version > 0.39.18, please update your connection configuration to give path to source and destination configuration files or regenerate the connection",
)

def _get_local_comparable_configuration(self) -> dict:
comparable = {
k: v
for k, v in self.raw_configuration["configuration"].items()
if k not in self.local_root_level_keys_to_filter_out_for_comparison
}
return comparable

def _get_remote_comparable_configuration(self) -> dict:

comparable = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ destination_configuration_path: {{ destination_configuration_path }}
# EDIT THE CONFIGURATION BELOW!
configuration:
status: active # REQUIRED | string | Allowed values: active, inactive, deprecated
skip_reset: false # OPTIONAL | boolean | Flag to check if the connection should be reset after a connection update
namespace_definition: source # OPTIONAL | string | Allowed values: source, destination, customformat
namespace_format: "${SOURCE_NAMESPACE}" # OPTIONAL | string | Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'.
prefix: "" # REQUIRED | Prefix that will be prepended to the name of each stream when it is written to the destination
Expand Down

0 comments on commit a1e21c9

Please sign in to comment.