Skip to content

Commit

Permalink
Update Rack Initializer for Netbox 2.7
Browse files Browse the repository at this point in the history
The rack database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your racks.yml file as follows:

- Rack types must match one of the 5 rack types given, e.g.
  '4-post-cabinet'.
- Rack width must match one of the 2 rack widths given, i.e. '19' or
  '23'.

See the diff of this commit for further information how this is meant.
  • Loading branch information
cimnine committed Jan 20, 2020
1 parent c001626 commit 7b914d3
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 15 deletions.
28 changes: 22 additions & 6 deletions initializers/racks.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,41 @@
## Possible Choices:
## width:
## - 19
## - 23
## types:
## - 2-post-frame
## - 4-post-frame
## - 4-post-cabinet
## - wall-frame
## - wall-cabinet
## outer_unit:
## - mm
## - in
##
## Examples:

# - site: AMS 1
# name: rack-01
# role: Role 1
# type: 4-post cabinet
# width: 19 inches
# type: 4-post-cabinet
# width: 19
# u_height: 47
# custom_fields:
# text_field: Description
# - site: AMS 2
# name: rack-02
# role: Role 2
# type: 4-post cabinet
# width: 19 inches
# type: 4-post-cabinet
# width: 19
# u_height: 47
# custom_fields:
# text_field: Description
# - site: SING 1
# name: rack-03
# group: cage 101
# role: Role 3
# type: 4-post cabinet
# width: 19 inches
# type: 4-post-cabinet
# width: 19
# u_height: 47
# custom_fields:
# text_field: Description
9 changes: 0 additions & 9 deletions startup_scripts/080_racks.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from dcim.models import Site, RackRole, Rack, RackGroup
from tenancy.models import Tenant
from extras.models import CustomField, CustomFieldValue
from dcim.constants import RACK_TYPE_CHOICES, RACK_WIDTH_CHOICES
from ruamel.yaml import YAML
from pathlib import Path
import sys
Expand Down Expand Up @@ -41,14 +40,6 @@

params[assoc] = model.objects.get(**query)

for rack_type in RACK_TYPE_CHOICES:
if params['type'] in rack_type:
params['type'] = rack_type[0]

for rack_width in RACK_WIDTH_CHOICES:
if params['width'] in rack_width:
params['width'] = rack_width[0]

rack, created = Rack.objects.get_or_create(**params)

if created:
Expand Down

0 comments on commit 7b914d3

Please sign in to comment.