Browse Source

Renamed device status constants for clarity

Jeremy Stretch 7 years ago
parent
commit
4df128d34e

+ 3 - 3
netbox/dcim/api/serializers.py

@@ -7,8 +7,8 @@ from rest_framework.validators import UniqueTogetherValidator
 
 
 from circuits.models import Circuit, CircuitTermination
 from circuits.models import Circuit, CircuitTermination
 from dcim.constants import (
 from dcim.constants import (
-    CONNECTION_STATUS_CHOICES, IFACE_FF_CHOICES, IFACE_MODE_CHOICES, IFACE_ORDERING_CHOICES, RACK_FACE_CHOICES,
-    RACK_TYPE_CHOICES, RACK_WIDTH_CHOICES, STATUS_CHOICES, SUBDEVICE_ROLE_CHOICES,
+    CONNECTION_STATUS_CHOICES, DEVICE_STATUS_CHOICES, IFACE_FF_CHOICES, IFACE_MODE_CHOICES, IFACE_ORDERING_CHOICES,
+    RACK_FACE_CHOICES, RACK_TYPE_CHOICES, RACK_WIDTH_CHOICES, SUBDEVICE_ROLE_CHOICES,
 )
 )
 from dcim.models import (
 from dcim.models import (
     ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay,
     ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay,
@@ -483,7 +483,7 @@ class DeviceSerializer(CustomFieldModelSerializer):
     site = NestedSiteSerializer()
     site = NestedSiteSerializer()
     rack = NestedRackSerializer()
     rack = NestedRackSerializer()
     face = ChoiceFieldSerializer(choices=RACK_FACE_CHOICES)
     face = ChoiceFieldSerializer(choices=RACK_FACE_CHOICES)
-    status = ChoiceFieldSerializer(choices=STATUS_CHOICES)
+    status = ChoiceFieldSerializer(choices=DEVICE_STATUS_CHOICES)
     primary_ip = DeviceIPAddressSerializer()
     primary_ip = DeviceIPAddressSerializer()
     primary_ip4 = DeviceIPAddressSerializer()
     primary_ip4 = DeviceIPAddressSerializer()
     primary_ip6 = DeviceIPAddressSerializer()
     primary_ip6 = DeviceIPAddressSerializer()

+ 13 - 13
netbox/dcim/constants.py

@@ -203,19 +203,19 @@ IFACE_MODE_CHOICES = [
 ]
 ]
 
 
 # Device statuses
 # Device statuses
-STATUS_OFFLINE = 0
-STATUS_ACTIVE = 1
-STATUS_PLANNED = 2
-STATUS_STAGED = 3
-STATUS_FAILED = 4
-STATUS_INVENTORY = 5
-STATUS_CHOICES = [
-    [STATUS_ACTIVE, 'Active'],
-    [STATUS_OFFLINE, 'Offline'],
-    [STATUS_PLANNED, 'Planned'],
-    [STATUS_STAGED, 'Staged'],
-    [STATUS_FAILED, 'Failed'],
-    [STATUS_INVENTORY, 'Inventory'],
+DEVICE_STATUS_OFFLINE = 0
+DEVICE_STATUS_ACTIVE = 1
+DEVICE_STATUS_PLANNED = 2
+DEVICE_STATUS_STAGED = 3
+DEVICE_STATUS_FAILED = 4
+DEVICE_STATUS_INVENTORY = 5
+DEVICE_STATUS_CHOICES = [
+    [DEVICE_STATUS_ACTIVE, 'Active'],
+    [DEVICE_STATUS_OFFLINE, 'Offline'],
+    [DEVICE_STATUS_PLANNED, 'Planned'],
+    [DEVICE_STATUS_STAGED, 'Staged'],
+    [DEVICE_STATUS_FAILED, 'Failed'],
+    [DEVICE_STATUS_INVENTORY, 'Inventory'],
 ]
 ]
 
 
 # Bootstrap CSS classes for device stasuses
 # Bootstrap CSS classes for device stasuses

+ 2 - 2
netbox/dcim/filters.py

@@ -11,7 +11,7 @@ from tenancy.models import Tenant
 from utilities.filters import NullableCharFieldFilter, NumericInFilter
 from utilities.filters import NullableCharFieldFilter, NumericInFilter
 from virtualization.models import Cluster
 from virtualization.models import Cluster
 from .constants import (
 from .constants import (
-    IFACE_FF_LAG, NONCONNECTABLE_IFACE_TYPES, STATUS_CHOICES, VIRTUAL_IFACE_TYPES, WIRELESS_IFACE_TYPES,
+    DEVICE_STATUS_CHOICES, IFACE_FF_LAG, NONCONNECTABLE_IFACE_TYPES, VIRTUAL_IFACE_TYPES, WIRELESS_IFACE_TYPES,
 )
 )
 from .models import (
 from .models import (
     ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay,
     ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay,
@@ -446,7 +446,7 @@ class DeviceFilter(CustomFieldFilterSet, django_filters.FilterSet):
         label='Device model (slug)',
         label='Device model (slug)',
     )
     )
     status = django_filters.MultipleChoiceFilter(
     status = django_filters.MultipleChoiceFilter(
-        choices=STATUS_CHOICES,
+        choices=DEVICE_STATUS_CHOICES,
         null_value=None
         null_value=None
     )
     )
     is_full_depth = django_filters.BooleanFilter(
     is_full_depth = django_filters.BooleanFilter(

+ 7 - 7
netbox/dcim/forms.py

@@ -22,10 +22,10 @@ from utilities.forms import (
 )
 )
 from virtualization.models import Cluster
 from virtualization.models import Cluster
 from .constants import (
 from .constants import (
-    CONNECTION_STATUS_CHOICES, CONNECTION_STATUS_CONNECTED, IFACE_FF_CHOICES, IFACE_FF_LAG, IFACE_MODE_ACCESS,
-    IFACE_MODE_CHOICES, IFACE_MODE_TAGGED_ALL, IFACE_ORDERING_CHOICES, RACK_FACE_CHOICES, RACK_TYPE_CHOICES,
-    RACK_WIDTH_CHOICES, RACK_WIDTH_19IN, RACK_WIDTH_23IN, STATUS_CHOICES, SUBDEVICE_ROLE_CHILD, SUBDEVICE_ROLE_PARENT,
-    SUBDEVICE_ROLE_CHOICES,
+    CONNECTION_STATUS_CHOICES, CONNECTION_STATUS_CONNECTED, DEVICE_STATUS_CHOICES, IFACE_FF_CHOICES, IFACE_FF_LAG,
+    IFACE_MODE_ACCESS, IFACE_MODE_CHOICES, IFACE_MODE_TAGGED_ALL, IFACE_ORDERING_CHOICES, RACK_FACE_CHOICES,
+    RACK_TYPE_CHOICES, RACK_WIDTH_CHOICES, RACK_WIDTH_19IN, RACK_WIDTH_23IN, SUBDEVICE_ROLE_CHILD,
+    SUBDEVICE_ROLE_PARENT, SUBDEVICE_ROLE_CHOICES,
 )
 )
 from .formfields import MACAddressFormField
 from .formfields import MACAddressFormField
 from .models import (
 from .models import (
@@ -888,7 +888,7 @@ class BaseDeviceCSVForm(forms.ModelForm):
         }
         }
     )
     )
     status = CSVChoiceField(
     status = CSVChoiceField(
-        choices=STATUS_CHOICES,
+        choices=DEVICE_STATUS_CHOICES,
         help_text='Operational status of device'
         help_text='Operational status of device'
     )
     )
 
 
@@ -1025,7 +1025,7 @@ class DeviceBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):
     device_role = forms.ModelChoiceField(queryset=DeviceRole.objects.all(), required=False, label='Role')
     device_role = forms.ModelChoiceField(queryset=DeviceRole.objects.all(), required=False, label='Role')
     tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False)
     tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False)
     platform = forms.ModelChoiceField(queryset=Platform.objects.all(), required=False)
     platform = forms.ModelChoiceField(queryset=Platform.objects.all(), required=False)
-    status = forms.ChoiceField(choices=add_blank_choice(STATUS_CHOICES), required=False, initial='')
+    status = forms.ChoiceField(choices=add_blank_choice(DEVICE_STATUS_CHOICES), required=False, initial='')
     serial = forms.CharField(max_length=50, required=False, label='Serial Number')
     serial = forms.CharField(max_length=50, required=False, label='Serial Number')
 
 
     class Meta:
     class Meta:
@@ -1036,7 +1036,7 @@ def device_status_choices():
     status_counts = {}
     status_counts = {}
     for status in Device.objects.values('status').annotate(count=Count('status')).order_by('status'):
     for status in Device.objects.values('status').annotate(count=Count('status')).order_by('status'):
         status_counts[status['status']] = status['count']
         status_counts[status['status']] = status['count']
-    return [(s[0], '{} ({})'.format(s[1], status_counts.get(s[0], 0))) for s in STATUS_CHOICES]
+    return [(s[0], '{} ({})'.format(s[1], status_counts.get(s[0], 0))) for s in DEVICE_STATUS_CHOICES]
 
 
 
 
 class DeviceFilterForm(BootstrapMixin, CustomFieldFilterForm):
 class DeviceFilterForm(BootstrapMixin, CustomFieldFilterForm):

+ 1 - 1
netbox/dcim/models.py

@@ -844,7 +844,7 @@ class Device(CreatedUpdatedModel, CustomFieldModel):
         help_text='The lowest-numbered unit occupied by the device'
         help_text='The lowest-numbered unit occupied by the device'
     )
     )
     face = models.PositiveSmallIntegerField(blank=True, null=True, choices=RACK_FACE_CHOICES, verbose_name='Rack face')
     face = models.PositiveSmallIntegerField(blank=True, null=True, choices=RACK_FACE_CHOICES, verbose_name='Rack face')
-    status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, default=STATUS_ACTIVE, verbose_name='Status')
+    status = models.PositiveSmallIntegerField(choices=DEVICE_STATUS_CHOICES, default=DEVICE_STATUS_ACTIVE, verbose_name='Status')
     primary_ip4 = models.OneToOneField(
     primary_ip4 = models.OneToOneField(
         'ipam.IPAddress', related_name='primary_ip4_for', on_delete=models.SET_NULL, blank=True, null=True,
         'ipam.IPAddress', related_name='primary_ip4_for', on_delete=models.SET_NULL, blank=True, null=True,
         verbose_name='Primary IPv4'
         verbose_name='Primary IPv4'

+ 4 - 4
netbox/dcim/tests/test_forms.py

@@ -26,7 +26,7 @@ class DeviceTestCase(TestCase):
             'face': RACK_FACE_FRONT,
             'face': RACK_FACE_FRONT,
             'position': 41,
             'position': 41,
             'platform': get_id(Platform, 'juniper-junos'),
             'platform': get_id(Platform, 'juniper-junos'),
-            'status': STATUS_ACTIVE,
+            'status': DEVICE_STATUS_ACTIVE,
         })
         })
         self.assertTrue(test.is_valid(), test.fields['position'].choices)
         self.assertTrue(test.is_valid(), test.fields['position'].choices)
         self.assertTrue(test.save())
         self.assertTrue(test.save())
@@ -43,7 +43,7 @@ class DeviceTestCase(TestCase):
             'face': RACK_FACE_FRONT,
             'face': RACK_FACE_FRONT,
             'position': 1,
             'position': 1,
             'platform': get_id(Platform, 'juniper-junos'),
             'platform': get_id(Platform, 'juniper-junos'),
-            'status': STATUS_ACTIVE,
+            'status': DEVICE_STATUS_ACTIVE,
         })
         })
         self.assertFalse(test.is_valid())
         self.assertFalse(test.is_valid())
 
 
@@ -59,7 +59,7 @@ class DeviceTestCase(TestCase):
             'face': None,
             'face': None,
             'position': None,
             'position': None,
             'platform': None,
             'platform': None,
-            'status': STATUS_ACTIVE,
+            'status': DEVICE_STATUS_ACTIVE,
         })
         })
         self.assertTrue(test.is_valid())
         self.assertTrue(test.is_valid())
         self.assertTrue(test.save())
         self.assertTrue(test.save())
@@ -76,7 +76,7 @@ class DeviceTestCase(TestCase):
             'face': RACK_FACE_REAR,
             'face': RACK_FACE_REAR,
             'position': None,
             'position': None,
             'platform': None,
             'platform': None,
-            'status': STATUS_ACTIVE,
+            'status': DEVICE_STATUS_ACTIVE,
         })
         })
         self.assertTrue(test.is_valid())
         self.assertTrue(test.is_valid())
         self.assertTrue(test.save())
         self.assertTrue(test.save())

+ 2 - 2
netbox/extras/management/commands/run_inventory.py

@@ -8,7 +8,7 @@ from django.db import transaction
 from ncclient.transport.errors import AuthenticationError
 from ncclient.transport.errors import AuthenticationError
 from paramiko import AuthenticationException
 from paramiko import AuthenticationException
 
 
-from dcim.models import Device, InventoryItem, Site, STATUS_ACTIVE
+from dcim.models import DEVICE_STATUS_ACTIVE, Device, InventoryItem, Site
 
 
 
 
 class Command(BaseCommand):
 class Command(BaseCommand):
@@ -41,7 +41,7 @@ class Command(BaseCommand):
             self.password = getpass("Password: ")
             self.password = getpass("Password: ")
 
 
         # Attempt to inventory only active devices
         # Attempt to inventory only active devices
-        device_list = Device.objects.filter(status=STATUS_ACTIVE)
+        device_list = Device.objects.filter(status=DEVICE_STATUS_ACTIVE)
 
 
         # --site: Include only devices belonging to specified site(s)
         # --site: Include only devices belonging to specified site(s)
         if options['site']:
         if options['site']:

+ 2 - 2
netbox/virtualization/api/serializers.py

@@ -9,7 +9,7 @@ from extras.api.customfields import CustomFieldModelSerializer
 from ipam.models import IPAddress
 from ipam.models import IPAddress
 from tenancy.api.serializers import NestedTenantSerializer
 from tenancy.api.serializers import NestedTenantSerializer
 from utilities.api import ChoiceFieldSerializer, ValidatedModelSerializer
 from utilities.api import ChoiceFieldSerializer, ValidatedModelSerializer
-from virtualization.constants import STATUS_CHOICES
+from virtualization.constants import VM_STATUS_CHOICES
 from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 from virtualization.models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 
 
 
 
@@ -94,7 +94,7 @@ class VirtualMachineIPAddressSerializer(serializers.ModelSerializer):
 
 
 
 
 class VirtualMachineSerializer(CustomFieldModelSerializer):
 class VirtualMachineSerializer(CustomFieldModelSerializer):
-    status = ChoiceFieldSerializer(choices=STATUS_CHOICES)
+    status = ChoiceFieldSerializer(choices=VM_STATUS_CHOICES)
     cluster = NestedClusterSerializer()
     cluster = NestedClusterSerializer()
     role = NestedDeviceRoleSerializer()
     role = NestedDeviceRoleSerializer()
     tenant = NestedTenantSerializer()
     tenant = NestedTenantSerializer()

+ 5 - 5
netbox/virtualization/constants.py

@@ -1,12 +1,12 @@
 from __future__ import unicode_literals
 from __future__ import unicode_literals
 
 
-from dcim.constants import STATUS_ACTIVE, STATUS_OFFLINE, STATUS_STAGED
+from dcim.constants import DEVICE_STATUS_ACTIVE, DEVICE_STATUS_OFFLINE, DEVICE_STATUS_STAGED
 
 
 # VirtualMachine statuses (replicated from Device statuses)
 # VirtualMachine statuses (replicated from Device statuses)
-STATUS_CHOICES = [
-    [STATUS_ACTIVE, 'Active'],
-    [STATUS_OFFLINE, 'Offline'],
-    [STATUS_STAGED, 'Staged'],
+VM_STATUS_CHOICES = [
+    [DEVICE_STATUS_ACTIVE, 'Active'],
+    [DEVICE_STATUS_OFFLINE, 'Offline'],
+    [DEVICE_STATUS_STAGED, 'Staged'],
 ]
 ]
 
 
 # Bootstrap CSS classes for VirtualMachine statuses
 # Bootstrap CSS classes for VirtualMachine statuses

+ 2 - 2
netbox/virtualization/filters.py

@@ -9,7 +9,7 @@ from dcim.models import DeviceRole, Interface, Platform, Site
 from extras.filters import CustomFieldFilterSet
 from extras.filters import CustomFieldFilterSet
 from tenancy.models import Tenant
 from tenancy.models import Tenant
 from utilities.filters import NumericInFilter
 from utilities.filters import NumericInFilter
-from .constants import STATUS_CHOICES
+from .constants import VM_STATUS_CHOICES
 from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 
 
 
 
@@ -70,7 +70,7 @@ class VirtualMachineFilter(CustomFieldFilterSet):
         label='Search',
         label='Search',
     )
     )
     status = django_filters.MultipleChoiceFilter(
     status = django_filters.MultipleChoiceFilter(
-        choices=STATUS_CHOICES,
+        choices=VM_STATUS_CHOICES,
         null_value=None
         null_value=None
     )
     )
     cluster_group_id = django_filters.ModelMultipleChoiceFilter(
     cluster_group_id = django_filters.ModelMultipleChoiceFilter(

+ 4 - 4
netbox/virtualization/forms.py

@@ -16,7 +16,7 @@ from utilities.forms import (
     ChainedFieldsMixin, ChainedModelChoiceField, ChainedModelMultipleChoiceField, CommentField, ComponentForm,
     ChainedFieldsMixin, ChainedModelChoiceField, ChainedModelMultipleChoiceField, CommentField, ComponentForm,
     ConfirmationForm, CSVChoiceField, ExpandableNameField, FilterChoiceField, SlugField, SmallTextarea,
     ConfirmationForm, CSVChoiceField, ExpandableNameField, FilterChoiceField, SlugField, SmallTextarea,
 )
 )
-from .constants import STATUS_CHOICES
+from .constants import VM_STATUS_CHOICES
 from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine
 
 
 VIFACE_FF_CHOICES = (
 VIFACE_FF_CHOICES = (
@@ -264,7 +264,7 @@ class VirtualMachineForm(BootstrapMixin, TenancyForm, CustomFieldForm):
 
 
 class VirtualMachineCSVForm(forms.ModelForm):
 class VirtualMachineCSVForm(forms.ModelForm):
     status = CSVChoiceField(
     status = CSVChoiceField(
-        choices=STATUS_CHOICES,
+        choices=VM_STATUS_CHOICES,
         required=False,
         required=False,
         help_text='Operational status of device'
         help_text='Operational status of device'
     )
     )
@@ -311,7 +311,7 @@ class VirtualMachineCSVForm(forms.ModelForm):
 
 
 class VirtualMachineBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):
 class VirtualMachineBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):
     pk = forms.ModelMultipleChoiceField(queryset=VirtualMachine.objects.all(), widget=forms.MultipleHiddenInput)
     pk = forms.ModelMultipleChoiceField(queryset=VirtualMachine.objects.all(), widget=forms.MultipleHiddenInput)
-    status = forms.ChoiceField(choices=add_blank_choice(STATUS_CHOICES), required=False, initial='')
+    status = forms.ChoiceField(choices=add_blank_choice(VM_STATUS_CHOICES), required=False, initial='')
     cluster = forms.ModelChoiceField(queryset=Cluster.objects.all(), required=False)
     cluster = forms.ModelChoiceField(queryset=Cluster.objects.all(), required=False)
     role = forms.ModelChoiceField(queryset=DeviceRole.objects.filter(vm_role=True), required=False)
     role = forms.ModelChoiceField(queryset=DeviceRole.objects.filter(vm_role=True), required=False)
     tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False)
     tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False)
@@ -329,7 +329,7 @@ def vm_status_choices():
     status_counts = {}
     status_counts = {}
     for status in VirtualMachine.objects.values('status').annotate(count=Count('status')).order_by('status'):
     for status in VirtualMachine.objects.values('status').annotate(count=Count('status')).order_by('status'):
         status_counts[status['status']] = status['count']
         status_counts[status['status']] = status['count']
-    return [(s[0], '{} ({})'.format(s[1], status_counts.get(s[0], 0))) for s in STATUS_CHOICES]
+    return [(s[0], '{} ({})'.format(s[1], status_counts.get(s[0], 0))) for s in VM_STATUS_CHOICES]
 
 
 
 
 class VirtualMachineFilterForm(BootstrapMixin, CustomFieldFilterForm):
 class VirtualMachineFilterForm(BootstrapMixin, CustomFieldFilterForm):

+ 3 - 3
netbox/virtualization/models.py

@@ -11,7 +11,7 @@ from dcim.models import Device
 from extras.models import CustomFieldModel, CustomFieldValue
 from extras.models import CustomFieldModel, CustomFieldValue
 from utilities.models import CreatedUpdatedModel
 from utilities.models import CreatedUpdatedModel
 from utilities.utils import csv_format
 from utilities.utils import csv_format
-from .constants import STATUS_ACTIVE, STATUS_CHOICES, VM_STATUS_CLASSES
+from .constants import DEVICE_STATUS_ACTIVE, VM_STATUS_CHOICES, VM_STATUS_CLASSES
 
 
 
 
 #
 #
@@ -177,8 +177,8 @@ class VirtualMachine(CreatedUpdatedModel, CustomFieldModel):
         unique=True
         unique=True
     )
     )
     status = models.PositiveSmallIntegerField(
     status = models.PositiveSmallIntegerField(
-        choices=STATUS_CHOICES,
-        default=STATUS_ACTIVE,
+        choices=VM_STATUS_CHOICES,
+        default=DEVICE_STATUS_ACTIVE,
         verbose_name='Status'
         verbose_name='Status'
     )
     )
     role = models.ForeignKey(
     role = models.ForeignKey(