diff --git a/lib/ansible/module_utils/k8s/helper.py b/lib/ansible/module_utils/k8s/helper.py index f8f6098dda673f..438dd9d0dd8e7d 100644 --- a/lib/ansible/module_utils/k8s/helper.py +++ b/lib/ansible/module_utils/k8s/helper.py @@ -381,7 +381,7 @@ def __compare_obj_list(self, src_value, request_value, obj_class, param_name): if not request_value: return - sample_obj = self.model_class_from_name(obj_class)() + model_class = self.model_class_from_name(obj_class) # Try to determine the unique key for the array key_names = [ @@ -390,7 +390,7 @@ def __compare_obj_list(self, src_value, request_value, obj_class, param_name): ] key_name = None for key in key_names: - if hasattr(sample_obj, key): + if hasattr(model_class, key): key_name = key break @@ -421,14 +421,14 @@ def __compare_obj_list(self, src_value, request_value, obj_class, param_name): found = True for key, value in iteritems(item): snake_key = self.attribute_to_snake(key) - item_kind = sample_obj.swagger_types.get(snake_key) + item_kind = model_class.swagger_types.get(snake_key) if item_kind and item_kind in PRIMITIVES or type(value).__name__ in PRIMITIVES: setattr(obj, snake_key, value) elif item_kind and item_kind.startswith('list['): obj_type = item_kind.replace('list[', '').replace(']', '') if getattr(obj, snake_key) is None: setattr(obj, snake_key, []) - if obj_type not in ('str', 'int', 'bool'): + if obj_type not in ('str', 'int', 'bool', 'object'): self.__compare_obj_list(getattr(obj, snake_key), value, obj_type, param_name) else: # Straight list comparison @@ -462,7 +462,7 @@ def __compare_obj_list(self, src_value, request_value, obj_class, param_name): ) if not found: # Requested item not found. Adding. - obj = self.__update_object_properties(self.model_class_from_name(obj_class)(), item) + obj = self.model_class_from_name(obj_class)(**item) src_value.append(obj) else: # There isn't a key, or we don't know what it is, so check for all properties to match @@ -480,7 +480,7 @@ def __compare_obj_list(self, src_value, request_value, obj_class, param_name): found = True break if not found: - obj = self.__update_object_properties(self.model_class_from_name(obj_class)(), item) + obj = self.model_class_from_name(obj_class)(**item) src_value.append(obj) def __update_object_properties(self, obj, item): @@ -512,7 +512,7 @@ def __transform_properties(self, properties, prefix='', path=None, alternate_pre """ Convert a list of properties to an argument_spec dictionary - :param properties: List of properties from self.properties_from_model_obj() + :param properties: List of properties from self.properties_from_model_class() :param prefix: String to prefix to argument names. :param path: List of property names providing the recursive path through the model to the property :param alternate_prefix: a more minimal version of prefix @@ -598,7 +598,7 @@ def add_meta(prop_name, prop_prefix, prop_alt_prefix): } args.update(self.__transform_properties(sub_props, prefix=p, path=paths, alternate_prefix=a)) else: - sub_props = self.properties_from_model_obj(prop_attributes['class']()) + sub_props = self.properties_from_model_class(prop_attributes['class']) args.update(self.__transform_properties(sub_props, prefix=p, path=paths, alternate_prefix=a)) else: # Adds a primitive property @@ -608,7 +608,7 @@ def add_meta(prop_name, prop_prefix, prop_alt_prefix): paths.append(prop) property_type = prop_attributes['class'].__name__ - if property_type == 'IntstrIntOrString': + if property_type == 'object': property_type = 'str' args[arg_prefix + prop] = { diff --git a/lib/ansible/modules/clustering/k8s/k8s_raw.py b/lib/ansible/modules/clustering/k8s/k8s_raw.py index 87b143f00057e3..5f574bb215685e 100644 --- a/lib/ansible/modules/clustering/k8s/k8s_raw.py +++ b/lib/ansible/modules/clustering/k8s/k8s_raw.py @@ -39,7 +39,7 @@ requirements: - "python >= 2.7" - - "openshift >= 0.3" + - "openshift == 0.4.1" - "PyYAML >= 3.11" ''' diff --git a/lib/ansible/modules/clustering/k8s/k8s_scale.py b/lib/ansible/modules/clustering/k8s/k8s_scale.py index 3fda8e08eaa098..c4603fff2232c1 100644 --- a/lib/ansible/modules/clustering/k8s/k8s_scale.py +++ b/lib/ansible/modules/clustering/k8s/k8s_scale.py @@ -35,7 +35,7 @@ requirements: - "python >= 2.7" - - "openshift >= 0.3" + - "openshift == 0.4.1" - "PyYAML >= 3.11" ''' diff --git a/lib/ansible/modules/clustering/openshift/openshift_raw.py b/lib/ansible/modules/clustering/openshift/openshift_raw.py index 3059f8592ab574..52a56a668b3cd1 100644 --- a/lib/ansible/modules/clustering/openshift/openshift_raw.py +++ b/lib/ansible/modules/clustering/openshift/openshift_raw.py @@ -49,7 +49,7 @@ requirements: - "python >= 2.7" - - "openshift >= 0.3" + - "openshift == 0.4.1" - "PyYAML >= 3.11" ''' diff --git a/lib/ansible/modules/clustering/openshift/openshift_scale.py b/lib/ansible/modules/clustering/openshift/openshift_scale.py index 385999b457fb9f..b1400ad53528bb 100644 --- a/lib/ansible/modules/clustering/openshift/openshift_scale.py +++ b/lib/ansible/modules/clustering/openshift/openshift_scale.py @@ -35,7 +35,7 @@ requirements: - "python >= 2.7" - - "openshift >= 0.3" + - "openshift == 0.4.1" - "PyYAML >= 3.11" ''' diff --git a/lib/ansible/plugins/inventory/k8s.py b/lib/ansible/plugins/inventory/k8s.py index 82f31ab391fc38..b5089288885a18 100644 --- a/lib/ansible/plugins/inventory/k8s.py +++ b/lib/ansible/plugins/inventory/k8s.py @@ -73,6 +73,11 @@ description: - List of namespaces. If not specified, will fetch all containers for all namespaces user is authorized to access. + + requirements: + - "python >= 2.7" + - "openshift == 0.4.1" + - "PyYAML >= 3.11" ''' EXAMPLES = ''' diff --git a/lib/ansible/plugins/inventory/openshift.py b/lib/ansible/plugins/inventory/openshift.py index f4e65cd8d96f12..17b8f347edee7f 100644 --- a/lib/ansible/plugins/inventory/openshift.py +++ b/lib/ansible/plugins/inventory/openshift.py @@ -74,6 +74,11 @@ description: - List of namespaces. If not specified, will fetch all containers for all namespaces user is authorized to access. + + requirements: + - "python >= 2.7" + - "openshift == 0.4.1" + - "PyYAML >= 3.11" ''' EXAMPLES = ''' diff --git a/lib/ansible/plugins/lookup/k8s.py b/lib/ansible/plugins/lookup/k8s.py index 544a8295ecbddd..5b7c6069482f23 100644 --- a/lib/ansible/plugins/lookup/k8s.py +++ b/lib/ansible/plugins/lookup/k8s.py @@ -115,7 +115,7 @@ requirements: - "python >= 2.7" - - "openshift >= 0.3" + - "openshift == 0.4.1" - "PyYAML >= 3.11" notes: diff --git a/lib/ansible/plugins/lookup/openshift.py b/lib/ansible/plugins/lookup/openshift.py index 5c12e747a810ad..fffeca777bc901 100644 --- a/lib/ansible/plugins/lookup/openshift.py +++ b/lib/ansible/plugins/lookup/openshift.py @@ -115,7 +115,7 @@ requirements: - "python >= 2.7" - - "openshift >= 0.3" + - "openshift == 0.4.1" - "PyYAML >= 3.11" notes: