Parcourir la source

Fixes #4476: Correct typo in slugs for Infiniband interface types

Jeremy Stretch il y a 5 ans
Parent
commit
c691ec843d

+ 1 - 0
docs/release-notes/version-2.8.md

@@ -40,6 +40,7 @@ For NetBox plugins to be recognized, they must be installed and added by name to
 ### Bug Fixes
 ### Bug Fixes
 
 
 * [#4474](https://github.com/netbox-community/netbox/issues/4474) - Fix population of device types when bulk editing devices
 * [#4474](https://github.com/netbox-community/netbox/issues/4474) - Fix population of device types when bulk editing devices
+* [#4476](https://github.com/netbox-community/netbox/issues/4476) - Correct typo in slugs for Infiniband interface types
 
 
 ### API Changes
 ### API Changes
 
 

+ 9 - 9
netbox/dcim/choices.py

@@ -575,15 +575,15 @@ class InterfaceTypeChoices(ChoiceSet):
     TYPE_128GFC_QSFP28 = '128gfc-sfp28'
     TYPE_128GFC_QSFP28 = '128gfc-sfp28'
 
 
     # InfiniBand
     # InfiniBand
-    TYPE_INFINIBAND_SDR = 'inifiband-sdr'
-    TYPE_INFINIBAND_DDR = 'inifiband-ddr'
-    TYPE_INFINIBAND_QDR = 'inifiband-qdr'
-    TYPE_INFINIBAND_FDR10 = 'inifiband-fdr10'
-    TYPE_INFINIBAND_FDR = 'inifiband-fdr'
-    TYPE_INFINIBAND_EDR = 'inifiband-edr'
-    TYPE_INFINIBAND_HDR = 'inifiband-hdr'
-    TYPE_INFINIBAND_NDR = 'inifiband-ndr'
-    TYPE_INFINIBAND_XDR = 'inifiband-xdr'
+    TYPE_INFINIBAND_SDR = 'infiniband-sdr'
+    TYPE_INFINIBAND_DDR = 'infiniband-ddr'
+    TYPE_INFINIBAND_QDR = 'infiniband-qdr'
+    TYPE_INFINIBAND_FDR10 = 'infiniband-fdr10'
+    TYPE_INFINIBAND_FDR = 'infiniband-fdr'
+    TYPE_INFINIBAND_EDR = 'infiniband-edr'
+    TYPE_INFINIBAND_HDR = 'infiniband-hdr'
+    TYPE_INFINIBAND_NDR = 'infiniband-ndr'
+    TYPE_INFINIBAND_XDR = 'infiniband-xdr'
 
 
     # Serial
     # Serial
     TYPE_T1 = 't1'
     TYPE_T1 = 't1'

+ 34 - 0
netbox/dcim/migrations/0104_correct_infiniband_types.py

@@ -0,0 +1,34 @@
+from django.db import migrations
+
+
+INFINIBAND_SLUGS = (
+    ('inifiband-sdr', 'infiniband-sdr'),
+    ('inifiband-ddr', 'infiniband-ddr'),
+    ('inifiband-qdr', 'infiniband-qdr'),
+    ('inifiband-fdr10', 'infiniband-fdr10'),
+    ('inifiband-fdr', 'infiniband-fdr'),
+    ('inifiband-edr', 'infiniband-edr'),
+    ('inifiband-hdr', 'infiniband-hdr'),
+    ('inifiband-ndr', 'infiniband-ndr'),
+    ('inifiband-xdr', 'infiniband-xdr'),
+)
+
+
+def correct_infiniband_types(apps, schema_editor):
+    Interface = apps.get_model('dcim', 'Interface')
+    for old, new in INFINIBAND_SLUGS:
+        Interface.objects.filter(type=old).update(type=new)
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dcim', '0103_standardize_description'),
+    ]
+
+    operations = [
+        migrations.RunPython(
+            code=correct_infiniband_types,
+            reverse_code=migrations.RunPython.noop
+        ),
+    ]