From 9445725a9e56956ea06d4338fc4cccd9bb89ad94 Mon Sep 17 00:00:00 2001 From: Dmitriy Chubinidze Date: Sun, 27 Apr 2025 07:50:55 +0000 Subject: [PATCH] Making IP protocol field required While adding rule to security group and choosing "Other Protocol" field, we should make "IP Protocol" field mandatory to prevent getting error. Change-Id: I56da00c6a000c019699edda12b405b6ddc389001 Closes-Bug: #2023362 --- .../dashboards/project/security_groups/forms.py | 9 +++------ .../dashboards/project/security_groups/tests.py | 9 ++++++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/openstack_dashboard/dashboards/project/security_groups/forms.py b/openstack_dashboard/dashboards/project/security_groups/forms.py index 94e951a567..37a9bb3c6e 100644 --- a/openstack_dashboard/dashboards/project/security_groups/forms.py +++ b/openstack_dashboard/dashboards/project/security_groups/forms.py @@ -126,8 +126,9 @@ class AddRule(forms.SelfHandlingForm): })) ip_protocol = forms.IntegerField( - label=_('IP Protocol'), required=False, - help_text=_("Enter an integer value between 0 and 255."), + label=_('IP Protocol'), required=True, + help_text=_("Enter an integer value between -1 and 255 " + "(-1 means wild card)."), validators=[utils_validators.validate_ip_protocol], widget=forms.TextInput(attrs={ 'class': 'switched', @@ -283,10 +284,6 @@ class AddRule(forms.SelfHandlingForm): self.fields['direction'].choices = [('ingress', _('Ingress')), ('egress', _('Egress'))] - self.fields['ip_protocol'].help_text = _( - "Enter an integer value between -1 and 255 " - "(-1 means wild card)." - ) self.fields['port_or_range'].choices = [ ('port', _('Port')), diff --git a/openstack_dashboard/dashboards/project/security_groups/tests.py b/openstack_dashboard/dashboards/project/security_groups/tests.py index 15bd854830..73c1abe207 100644 --- a/openstack_dashboard/dashboards/project/security_groups/tests.py +++ b/openstack_dashboard/dashboards/project/security_groups/tests.py @@ -461,7 +461,8 @@ class SecurityGroupsViewTests(test.TestCase): 'rule_menu': 'http', 'port_or_range': 'port', 'cidr': rule.ip_range['cidr'], - 'remote': 'cidr'} + 'remote': 'cidr', + 'ip_protocol': 6} res = self.client.post(self.edit_url, formData) self.assertRedirectsNoFollow(res, self.detail_url) @@ -544,7 +545,8 @@ class SecurityGroupsViewTests(test.TestCase): 'port_or_range': 'port', 'cidr': '0.0.0.0/0', 'security_group': sec_group.id, - 'remote': 'sg'} + 'remote': 'sg', + 'ip_protocol': 6} res = self.client.post(self.edit_url, formData) self.assertRedirectsNoFollow(res, self.detail_url) @@ -931,7 +933,8 @@ class SecurityGroupsViewTests(test.TestCase): 'port_or_range': 'range', 'rule_menu': 'all_tcp', 'cidr': rule.ip_range['cidr'], - 'remote': 'cidr'} + 'remote': 'cidr', + 'ip_protocol': 6} res = self.client.post(self.edit_url, formData) self.assertRedirectsNoFollow(res, self.detail_url)