From bdec7c84a2272464f329d2581607fd7e66d51581 Mon Sep 17 00:00:00 2001 From: Richard Killen Date: Wed, 11 Jan 2023 13:15:31 -0600 Subject: [PATCH] Remove deprecated "named object list" format for kubernetes model section --- .../tool/util/targets/crd_file_updater.py | 38 +------------------ .../tool/validate/kubernetes_validator.py | 12 +----- .../deploy/messages/wlsdeploy_rb.properties | 1 - .../wlsdeploy/tool/extract/extract_test.py | 22 +---------- core/src/test/resources/extract/model-3.yaml | 21 ---------- 5 files changed, 3 insertions(+), 91 deletions(-) delete mode 100644 core/src/test/resources/extract/model-3.yaml diff --git a/core/src/main/python/wlsdeploy/tool/util/targets/crd_file_updater.py b/core/src/main/python/wlsdeploy/tool/util/targets/crd_file_updater.py index 1c2de6593..aae564a20 100644 --- a/core/src/main/python/wlsdeploy/tool/util/targets/crd_file_updater.py +++ b/core/src/main/python/wlsdeploy/tool/util/targets/crd_file_updater.py @@ -1,5 +1,5 @@ """ -Copyright (c) 2022, Oracle Corporation and/or its affiliates. +Copyright (c) 2022, 2023, Oracle and/or its affiliates. Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. Methods to update an output file with information from the kubernetes section of the model. @@ -205,10 +205,6 @@ def _update_dictionary(output_dictionary, model_dictionary, schema_folder, schem property_folder = properties[key] element_type = schema_helper.get_type(property_folder) - # deprecated "named object list" format - value = _check_named_object_list(value, element_type, property_folder, schema_path, key, model_crd_folder) - # end deprecated - value = _convert_value(value, element_type) if isinstance(value, dict): @@ -299,38 +295,6 @@ def _convert_value(model_value, type_name): return model_value -# *** DELETE METHOD WHEN deprecated "named object list" IS REMOVED *** -def _check_named_object_list(model_value, type_name, schema_folder, schema_path, key, model_crd_folder): - """ - Convert specified model value to an object list if it uses deprecated "named object list" format. - :param model_value: the value to be checked - :param type_name: the schema type name of the value - :param schema_folder: the schema for the value being checked - :param schema_path: used for schema_helper key lookup - :param key: used for schema_helper key lookup - :param model_crd_folder: required for object list matching - :return: the converted value - """ - if type_name == 'array' and isinstance(model_value, dict): - object_list = list() - next_schema_path = schema_helper.append_path(schema_path, key) - list_key = model_crd_folder.get_object_list_key(next_schema_path) - item_info = schema_helper.get_array_item_info(schema_folder) - properties = schema_helper.get_properties(item_info) - - for model_key, model_object in model_value.items(): - new_object = model_object.copy() - - # see if the model name should become an attribute in the new object - if (list_key in properties.keys()) and (list_key not in new_object.keys()): - new_object[list_key] = model_key - - object_list.append(new_object) - return object_list - - return model_value - - def _add_domain_comments(wko_dictionary): """ Add relevant comments to the domain CRD dictionary to provide additional information. diff --git a/core/src/main/python/wlsdeploy/tool/validate/kubernetes_validator.py b/core/src/main/python/wlsdeploy/tool/validate/kubernetes_validator.py index e56b6a761..0f0f76dc0 100644 --- a/core/src/main/python/wlsdeploy/tool/validate/kubernetes_validator.py +++ b/core/src/main/python/wlsdeploy/tool/validate/kubernetes_validator.py @@ -1,5 +1,5 @@ """ -Copyright (c) 2020, 2022, Oracle and/or its affiliates. +Copyright (c) 2020, 2023, Oracle and/or its affiliates. Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. """ @@ -133,16 +133,6 @@ def _validate_object_array(self, model_value, property_map, schema_path, model_p """ _method_name = '_validate_object_array' - # deprecated "named object list" format - if isinstance(model_value, dict): - self._logger.warning("WLSDPLY-05091", model_path, class_name=self._class_name, method_name=_method_name) - for name in model_value: - object_map = model_value[name] - next_model_path = model_path + "/" + name - self.validate_folder(object_map, property_map, schema_path, next_model_path) - return - # end deprecated - if not isinstance(model_value, list): self._logger.severe("WLSDPLY-05040", model_path, class_name=self._class_name, method_name=_method_name) return diff --git a/core/src/main/resources/oracle/weblogic/deploy/messages/wlsdeploy_rb.properties b/core/src/main/resources/oracle/weblogic/deploy/messages/wlsdeploy_rb.properties index d868d72f9..f74f89e42 100644 --- a/core/src/main/resources/oracle/weblogic/deploy/messages/wlsdeploy_rb.properties +++ b/core/src/main/resources/oracle/weblogic/deploy/messages/wlsdeploy_rb.properties @@ -514,7 +514,6 @@ WLSDPLY-05040=Expected a list of objects in model location {0} # wlsdeploy/tool/validate/kubernetes_validator.py WLSDPLY-05090=Model folder {0} is not supported, will be skipped -WLSDPLY-05091=Model folder {0} uses deprecated "named object list" format, should be a hyphenated object list # wlsdeploy/tools/validate/validation_utils.py WLSDPLY-05300=NOT USED diff --git a/core/src/test/python/wlsdeploy/tool/extract/extract_test.py b/core/src/test/python/wlsdeploy/tool/extract/extract_test.py index 3693334c1..86afd98ed 100644 --- a/core/src/test/python/wlsdeploy/tool/extract/extract_test.py +++ b/core/src/test/python/wlsdeploy/tool/extract/extract_test.py @@ -1,5 +1,5 @@ """ -Copyright (c) 2021, 2022, Oracle and/or its affiliates. +Copyright (c) 2021, 2023, Oracle and/or its affiliates. Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. """ import os @@ -86,26 +86,6 @@ def testKubernetesModel(self): self._match_values("Secret 0", secret_list[0], 'secret-1') self._match_values("Secret 1", secret_list[1], 'secret-2') - # deprecated - def testNamedObjectListModel(self): - """ - Test that fields using the deprecated "named object list" in the kubernetes section of the model - are transferred to the resulting domain resource file - """ - resource = self._extract_domain_resource('3') - - # serverPod/env from the kubernetes section should be in the domain resource file - env_list = self._traverse(resource, 'spec', 'serverPod', 'env') - self._match_values("Env count", len(env_list), 2) - self._match_values("Env 0", env_list[0]['name'], 'JAVA_OPTIONS') - self._match_values("Env 1", env_list[1]['name'], 'USER_MEM_ARGS') - - # clusters from kubernetes section should be in the domain resource file - cluster_list = self._traverse(resource, 'spec', 'clusters') - self._match_values("Cluster count", len(cluster_list), 2) - self._match_values("Cluster 0 clusterName", cluster_list[0]['clusterName'], 'CLUSTER_1') - self._match_values("Cluster 1 clusterName", cluster_list[1]['clusterName'], 'CLUSTER_2') - def _extract_domain_resource(self, suffix): model_file = os.path.join(self.MODELS_DIR, 'model-' + suffix + '.yaml') translator = FileToPython(model_file, use_ordering=True) diff --git a/core/src/test/resources/extract/model-3.yaml b/core/src/test/resources/extract/model-3.yaml deleted file mode 100644 index 827668e6f..000000000 --- a/core/src/test/resources/extract/model-3.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (c) 2021, Oracle Corporation and/or its affiliates. -# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. - -# Test model for extractDomainResource. -# This will test that the deprecated "named object list" format is still supported in WDT 2.0 - -kubernetes: - spec: - serverPod: - env: - JAVA_OPTIONS: - value: -good_java - USER_MEM_ARGS: - value: '-XX:+UseContainerSupport -Djava.security.egd=file:/dev/./urandom ' - clusters: - CLUSTER_1: - serverStartState: RUNNING - replicas: 1 - CLUSTER_2: - serverStartState: RUNNING - replicas: 4