diff --git a/instances/api/serializers.py b/instances/api/serializers.py index 999cfa03..5c2847c8 100644 --- a/instances/api/serializers.py +++ b/instances/api/serializers.py @@ -1,4 +1,5 @@ from instances.models import CreateInstance, Flavor, Instance, MigrateInstance +from instances.utils import nic_macs from rest_framework import serializers @@ -58,6 +59,13 @@ class CreateInstanceSerializer(serializers.ModelSerializer): virtio = serializers.BooleanField(initial=True) qemu_ga = serializers.BooleanField(initial=True) + def validate(self, attrs): + try: + nic_macs(attrs.get("mac"), attrs.get("networks", "")) + except ValueError as err: + raise serializers.ValidationError({"mac": str(err)}) + return attrs + class Meta: model = CreateInstance fields = [ diff --git a/instances/templates/create_instance_w2.html b/instances/templates/create_instance_w2.html index e70260c3..648f8341 100644 --- a/instances/templates/create_instance_w2.html +++ b/instances/templates/create_instance_w2.html @@ -251,7 +251,7 @@