From cc4cc37d46c492bb4ac7c45acf7086519945a1a0 Mon Sep 17 00:00:00 2001 From: Jeff Bradberry Date: Wed, 24 Jan 2024 15:24:03 -0500 Subject: [PATCH] 'managed' is a read-only field on InstanceSerializer so we don't need complex logic to compare an incoming to existing value. --- awx/api/serializers.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/awx/api/serializers.py b/awx/api/serializers.py index 5495e05a4b..cc117f7927 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -5666,9 +5666,6 @@ class InstanceSerializer(BaseSerializer): if 'canonical_address_peers_from_control_nodes' in attrs: attrs['peers_from_control_nodes'] = attrs.pop('canonical_address_peers_from_control_nodes') - def get_field_from_model_or_attrs(fd): - return attrs.get(fd, self.instance and getattr(self.instance, fd) or None) - def check_peers_changed(): ''' return True if @@ -5680,9 +5677,7 @@ class InstanceSerializer(BaseSerializer): if not self.instance and not settings.IS_K8S: raise serializers.ValidationError(_("Can only create instances on Kubernetes or OpenShift.")) - managed = get_field_from_model_or_attrs("managed") - - if managed: + if self.instance and self.instance.managed: if check_peers_changed(): raise serializers.ValidationError(_("Setting peers manually for managed nodes is not allowed."))