Skip to content

Commit

Permalink
octavia-cli: Added flag to control whether to reset the streams or not (
Browse files Browse the repository at this point in the history
#18337)

* Added flag on octavia to control wheter to reset the streams or not

* Restore test_api_http_headers

* Going back to reseting by default
  • Loading branch information
marcelopio authored Dec 5, 2022
1 parent 2a16285 commit 4f9b660
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 0 deletions.
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 # REQUIRED | boolean | Flag to check if the connection should be reseted 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
16 changes: 16 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,14 @@ 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 +675,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 +804,12 @@ 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 # REQUIRED | boolean | Flag to check if the connection should be reseted 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 4f9b660

Please sign in to comment.