mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 17:08:41 -06:00
Closes #4199: Update example report to use ChoiceSet
This commit is contained in:
parent
8cfb5ac5c6
commit
5871640701
@ -32,7 +32,8 @@ class DeviceIPsReport(Report):
|
|||||||
Within each report class, we'll create a number of test methods to execute our report's logic. In DeviceConnectionsReport, for instance, we want to ensure that every live device has a console connection, an out-of-band management connection, and two power connections.
|
Within each report class, we'll create a number of test methods to execute our report's logic. In DeviceConnectionsReport, for instance, we want to ensure that every live device has a console connection, an out-of-band management connection, and two power connections.
|
||||||
|
|
||||||
```
|
```
|
||||||
from dcim.constants import CONNECTION_STATUS_PLANNED, DEVICE_STATUS_ACTIVE
|
from dcim.choices import DeviceStatusChoices
|
||||||
|
from dcim.constants import CONNECTION_STATUS_PLANNED
|
||||||
from dcim.models import ConsolePort, Device, PowerPort
|
from dcim.models import ConsolePort, Device, PowerPort
|
||||||
from extras.reports import Report
|
from extras.reports import Report
|
||||||
|
|
||||||
@ -43,7 +44,8 @@ class DeviceConnectionsReport(Report):
|
|||||||
def test_console_connection(self):
|
def test_console_connection(self):
|
||||||
|
|
||||||
# Check that every console port for every active device has a connection defined.
|
# Check that every console port for every active device has a connection defined.
|
||||||
for console_port in ConsolePort.objects.prefetch_related('device').filter(device__status=DEVICE_STATUS_ACTIVE):
|
active = DeviceStatusChoices.STATUS_ACTIVE
|
||||||
|
for console_port in ConsolePort.objects.prefetch_related('device').filter(device__status=active):
|
||||||
if console_port.connected_endpoint is None:
|
if console_port.connected_endpoint is None:
|
||||||
self.log_failure(
|
self.log_failure(
|
||||||
console_port.device,
|
console_port.device,
|
||||||
@ -60,7 +62,7 @@ class DeviceConnectionsReport(Report):
|
|||||||
def test_power_connections(self):
|
def test_power_connections(self):
|
||||||
|
|
||||||
# Check that every active device has at least two connected power supplies.
|
# Check that every active device has at least two connected power supplies.
|
||||||
for device in Device.objects.filter(status=DEVICE_STATUS_ACTIVE):
|
for device in Device.objects.filter(status=DeviceStatusChoices.STATUS_ACTIVE):
|
||||||
connected_ports = 0
|
connected_ports = 0
|
||||||
for power_port in PowerPort.objects.filter(device=device):
|
for power_port in PowerPort.objects.filter(device=device):
|
||||||
if power_port.connected_endpoint is not None:
|
if power_port.connected_endpoint is not None:
|
||||||
|
Loading…
Reference in New Issue
Block a user