From c691ec843da0df4d10a44c6459146cab96bf9e9e Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 13 Apr 2020 10:51:25 -0400 Subject: [PATCH] Fixes #4476: Correct typo in slugs for Infiniband interface types --- docs/release-notes/version-2.8.md | 1 + netbox/dcim/choices.py | 18 +++++----- .../0104_correct_infiniband_types.py | 34 +++++++++++++++++++ 3 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 netbox/dcim/migrations/0104_correct_infiniband_types.py diff --git a/docs/release-notes/version-2.8.md b/docs/release-notes/version-2.8.md index 6598619f8..f2f3218d3 100644 --- a/docs/release-notes/version-2.8.md +++ b/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 * [#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 diff --git a/netbox/dcim/choices.py b/netbox/dcim/choices.py index 79f00bce4..f1f60b753 100644 --- a/netbox/dcim/choices.py +++ b/netbox/dcim/choices.py @@ -575,15 +575,15 @@ class InterfaceTypeChoices(ChoiceSet): TYPE_128GFC_QSFP28 = '128gfc-sfp28' # 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 TYPE_T1 = 't1' diff --git a/netbox/dcim/migrations/0104_correct_infiniband_types.py b/netbox/dcim/migrations/0104_correct_infiniband_types.py new file mode 100644 index 000000000..91438e62e --- /dev/null +++ b/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 + ), + ]