diff --git a/startup_scripts/00_users.py b/startup_scripts/000_users.py similarity index 100% rename from startup_scripts/00_users.py rename to startup_scripts/000_users.py diff --git a/startup_scripts/10_groups.py b/startup_scripts/010_groups.py similarity index 100% rename from startup_scripts/10_groups.py rename to startup_scripts/010_groups.py diff --git a/startup_scripts/20_custom_fields.py b/startup_scripts/020_custom_fields.py similarity index 100% rename from startup_scripts/20_custom_fields.py rename to startup_scripts/020_custom_fields.py diff --git a/startup_scripts/40_regions.py b/startup_scripts/030_regions.py similarity index 92% rename from startup_scripts/40_regions.py rename to startup_scripts/030_regions.py index 033e26c..888f031 100644 --- a/startup_scripts/40_regions.py +++ b/startup_scripts/030_regions.py @@ -15,7 +15,7 @@ with open('/opt/netbox/initializers/regions.yml', 'r') as stream: for assoc, details in optional_assocs.items(): if assoc in params: model, field = details - query = dict(field=params.pop(assoc)) + query = { field: params.pop(assoc) } params[assoc] = model.objects.get(**query) diff --git a/startup_scripts/41_sites.py b/startup_scripts/040_sites.py similarity index 93% rename from startup_scripts/41_sites.py rename to startup_scripts/040_sites.py index 599f8b7..3dd5a57 100644 --- a/startup_scripts/41_sites.py +++ b/startup_scripts/040_sites.py @@ -14,6 +14,7 @@ with open('/opt/netbox/initializers/sites.yml', 'r') as stream: if sites is not None: for params in sites: + custom_fields = params.pop('custom_fields', None) for assoc, details in optional_assocs.items(): if assoc in params: @@ -30,7 +31,7 @@ with open('/opt/netbox/initializers/sites.yml', 'r') as stream: custom_field = CustomField.objects.get(name=cf_name) custom_field_value = CustomFieldValue.objects.create( field=custom_field, - obj=device_type, + obj=site, value=cf_value ) diff --git a/startup_scripts/42_manufacturers.py b/startup_scripts/050_manufacturers.py similarity index 100% rename from startup_scripts/42_manufacturers.py rename to startup_scripts/050_manufacturers.py diff --git a/startup_scripts/43_device_types.py b/startup_scripts/060_device_types.py similarity index 84% rename from startup_scripts/43_device_types.py rename to startup_scripts/060_device_types.py index e27ca00..f4d5ae2 100644 --- a/startup_scripts/43_device_types.py +++ b/startup_scripts/060_device_types.py @@ -1,4 +1,5 @@ -from dcim.models import DeviceType, Manufacturer +from dcim.models import DeviceType, Manufacturer, Region +from tenancy.models import Tenant from extras.models import CustomField, CustomFieldValue from ruamel.yaml import YAML @@ -19,16 +20,16 @@ with open('/opt/netbox/initializers/device_types.yml', 'r') as stream: for params in device_types: custom_fields = params.pop('custom_fields', None) - for assoc, details in required.items(): + for assoc, details in required_assocs.items(): model, field = details - query = dict(field=params.pop(assoc)) + query = { field: params.pop(assoc) } params[assoc] = model.objects.get(**query) for assoc, details in optional_assocs.items(): if assoc in params: model, field = details - query = dict(field=params.pop(assoc)) + query = { field: params.pop(assoc) } params[assoc] = model.objects.get(**query) diff --git a/startup_scripts/44_rack_roles.py b/startup_scripts/070_rack_roles.py similarity index 92% rename from startup_scripts/44_rack_roles.py rename to startup_scripts/070_rack_roles.py index 53517c2..ca82125 100644 --- a/startup_scripts/44_rack_roles.py +++ b/startup_scripts/070_rack_roles.py @@ -13,7 +13,7 @@ with open('/opt/netbox/initializers/rack_roles.yml', 'r') as stream: for color_tpl in COLOR_CHOICES: if color in color_tpl: - params['color'] = color_tpl[0] + params['color'] = color_tpl[0] rack_role, created = RackRole.objects.get_or_create(**params) diff --git a/startup_scripts/45_racks.py b/startup_scripts/080_racks.py similarity index 90% rename from startup_scripts/45_racks.py rename to startup_scripts/080_racks.py index 6391b46..2f5ea75 100644 --- a/startup_scripts/45_racks.py +++ b/startup_scripts/080_racks.py @@ -22,16 +22,16 @@ with open('/opt/netbox/initializers/racks.yml', 'r') as stream: for params in racks: custom_fields = params.pop('custom_fields', None) - for assoc, details in required.items(): + for assoc, details in required_assocs.items(): model, field = details - query = dict(field=params.pop(assoc)) + query = { field: params.pop(assoc) } params[assoc] = model.objects.get(**query) for assoc, details in optional_assocs.items(): if assoc in params: model, field = details - query = dict(field=params.pop(assoc)) + query = { field: params.pop(assoc) } params[assoc] = model.objects.get(**query) @@ -51,7 +51,7 @@ with open('/opt/netbox/initializers/racks.yml', 'r') as stream: custom_field = CustomField.objects.get(name=cf_name) custom_field_value = CustomFieldValue.objects.create( field=custom_field, - obj=device_type, + obj=rack, value=cf_value ) diff --git a/startup_scripts/46_device_roles.py b/startup_scripts/090_device_roles.py similarity index 100% rename from startup_scripts/46_device_roles.py rename to startup_scripts/090_device_roles.py diff --git a/startup_scripts/47_devices.py b/startup_scripts/100_devices.py similarity index 89% rename from startup_scripts/47_devices.py rename to startup_scripts/100_devices.py index 46e8188..b4f0323 100644 --- a/startup_scripts/47_devices.py +++ b/startup_scripts/100_devices.py @@ -21,7 +21,7 @@ with open('/opt/netbox/initializers/devices.yml', 'r') as stream: 'platform': (Platform, 'name'), 'rack': (Rack, 'name'), 'cluster': (Cluster, 'name'), - 'primary_ip4': (IPAddress, 'address') + 'primary_ip4': (IPAddress, 'address'), 'primary_ip6': (IPAddress, 'address') } @@ -29,16 +29,16 @@ with open('/opt/netbox/initializers/devices.yml', 'r') as stream: for params in devices: custom_fields = params.pop('custom_fields', None) - for assoc, details in required.items(): + for assoc, details in required_assocs.items(): model, field = details - query = dict(field=params.pop(assoc)) + query = { field: params.pop(assoc) } params[assoc] = model.objects.get(**query) for assoc, details in optional_assocs.items(): if assoc in params: model, field = details - query = dict(field=params.pop(assoc)) + query = { field: params.pop(assoc) } params[assoc] = model.objects.get(**query) @@ -55,7 +55,7 @@ with open('/opt/netbox/initializers/devices.yml', 'r') as stream: custom_field = CustomField.objects.get(name=cf_name) custom_field_value = CustomFieldValue.objects.create( field=custom_field, - obj=device_type, + obj=device, value=cf_value )