From 67d1267d98210a8860be470a8d72b98020ef3801 Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Fri, 17 Aug 2018 12:12:54 -0400 Subject: [PATCH] enforce 0 <= Instance.capacity_adjustment see: https://github.com/ansible/tower/issues/2839 --- ...0_validate_instance_capacity_adjustment.py | 22 +++++++++++++++++++ awx/main/models/ha.py | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 awx/main/migrations/0049_v330_validate_instance_capacity_adjustment.py diff --git a/awx/main/migrations/0049_v330_validate_instance_capacity_adjustment.py b/awx/main/migrations/0049_v330_validate_instance_capacity_adjustment.py new file mode 100644 index 0000000000..1a12419e64 --- /dev/null +++ b/awx/main/migrations/0049_v330_validate_instance_capacity_adjustment.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.11 on 2018-08-17 16:13 +from __future__ import unicode_literals + +from decimal import Decimal +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0048_v330_django_created_modified_by_model_name'), + ] + + operations = [ + migrations.AlterField( + model_name='instance', + name='capacity_adjustment', + field=models.DecimalField(decimal_places=2, default=Decimal('1'), max_digits=3, validators=[django.core.validators.MinValueValidator(0)]), + ), + ] diff --git a/awx/main/models/ha.py b/awx/main/models/ha.py index 0956ba00be..e8634bb22a 100644 --- a/awx/main/models/ha.py +++ b/awx/main/models/ha.py @@ -6,6 +6,7 @@ import random from decimal import Decimal from django.core.exceptions import ValidationError +from django.core.validators import MinValueValidator from django.db import models, connection from django.db.models.signals import post_save, post_delete from django.dispatch import receiver @@ -81,6 +82,7 @@ class Instance(HasPolicyEditsMixin, BaseModel): default=Decimal(1.0), max_digits=3, decimal_places=2, + validators=[MinValueValidator(0)] ) enabled = models.BooleanField( default=True