Ignore missing initializers
Previously, the startup_scripts would fail if an initializer file was not present. Now they just ignore missing files.
This commit is contained in:
parent
03eb153da4
commit
e46a7d2f7f
|
@ -2,8 +2,14 @@ from django.contrib.auth.models import Permission, Group, User
|
||||||
from users.models import Token
|
from users.models import Token
|
||||||
|
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/users.yml', 'r') as stream:
|
file = Path('/opt/netbox/initializers/users.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml=YAML(typ='safe')
|
yaml=YAML(typ='safe')
|
||||||
users = yaml.load(stream)
|
users = yaml.load(stream)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
from django.contrib.auth.models import Permission, Group, User
|
from django.contrib.auth.models import Permission, Group, User
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/groups.yml', 'r') as stream:
|
file = Path('/opt/netbox/initializers/groups.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml=YAML(typ='safe')
|
yaml=YAML(typ='safe')
|
||||||
groups = yaml.load(stream)
|
groups = yaml.load(stream)
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@ from extras.constants import CF_TYPE_TEXT, CF_TYPE_INTEGER, CF_TYPE_BOOLEAN, CF_
|
||||||
from extras.models import CustomField, CustomFieldChoice
|
from extras.models import CustomField, CustomFieldChoice
|
||||||
|
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
text_to_fields = {
|
text_to_fields = {
|
||||||
'boolean': CF_TYPE_BOOLEAN,
|
'boolean': CF_TYPE_BOOLEAN,
|
||||||
|
@ -21,7 +23,11 @@ def get_class_for_class_path(class_path):
|
||||||
clazz = getattr(module, class_name)
|
clazz = getattr(module, class_name)
|
||||||
return ContentType.objects.get_for_model(clazz)
|
return ContentType.objects.get_for_model(clazz)
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/custom_fields.yml', 'r') as stream:
|
file = Path('/opt/netbox/initializers/custom_fields.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml = YAML(typ='safe')
|
yaml = YAML(typ='safe')
|
||||||
customfields = yaml.load(stream)
|
customfields = yaml.load(stream)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
from dcim.models import Region
|
from dcim.models import Region
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/regions.yml', 'r') as stream:
|
file = Path('/opt/netbox/initializers/regions.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml=YAML(typ='safe')
|
yaml=YAML(typ='safe')
|
||||||
regions = yaml.load(stream)
|
regions = yaml.load(stream)
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,14 @@ from dcim.models import Region, Site
|
||||||
from extras.models import CustomField, CustomFieldValue
|
from extras.models import CustomField, CustomFieldValue
|
||||||
from tenancy.models import Tenant
|
from tenancy.models import Tenant
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/sites.yml', 'r') as stream:
|
file = Path('/opt/netbox/initializers/sites.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml = YAML(typ='safe')
|
yaml = YAML(typ='safe')
|
||||||
sites = yaml.load(stream)
|
sites = yaml.load(stream)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
from dcim.models import Manufacturer
|
from dcim.models import Manufacturer
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/manufacturers.yml', 'r') as stream:
|
file = Path('/opt/netbox/initializers/manufacturers.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml = YAML(typ='safe')
|
yaml = YAML(typ='safe')
|
||||||
manufacturers = yaml.load(stream)
|
manufacturers = yaml.load(stream)
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,14 @@ from dcim.models import DeviceType, Manufacturer, Region
|
||||||
from tenancy.models import Tenant
|
from tenancy.models import Tenant
|
||||||
from extras.models import CustomField, CustomFieldValue
|
from extras.models import CustomField, CustomFieldValue
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/device_types.yml', 'r') as stream:
|
file = Path('/opt/netbox/initializers/device_types.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml = YAML(typ='safe')
|
yaml = YAML(typ='safe')
|
||||||
device_types = yaml.load(stream)
|
device_types = yaml.load(stream)
|
||||||
|
|
||||||
|
@ -48,4 +54,3 @@ with open('/opt/netbox/initializers/device_types.yml', 'r') as stream:
|
||||||
device_type.custom_field_values.add(custom_field_value)
|
device_type.custom_field_values.add(custom_field_value)
|
||||||
|
|
||||||
print("🔡 Created device type", device_type.manufacturer, device_type.model)
|
print("🔡 Created device type", device_type.manufacturer, device_type.model)
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,14 @@ from dcim.models import RackRole
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
from utilities.forms import COLOR_CHOICES
|
from utilities.forms import COLOR_CHOICES
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/rack_roles.yml', 'r') as stream:
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
file = Path('/opt/netbox/initializers/rack_roles.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml=YAML(typ='safe')
|
yaml=YAML(typ='safe')
|
||||||
rack_roles = yaml.load(stream)
|
rack_roles = yaml.load(stream)
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,14 @@ from tenancy.models import Tenant
|
||||||
from extras.models import CustomField, CustomFieldValue
|
from extras.models import CustomField, CustomFieldValue
|
||||||
from dcim.constants import RACK_TYPE_CHOICES, RACK_WIDTH_CHOICES
|
from dcim.constants import RACK_TYPE_CHOICES, RACK_WIDTH_CHOICES
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/racks.yml', 'r') as stream:
|
file = Path('/opt/netbox/initializers/racks.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml = YAML(typ='safe')
|
yaml = YAML(typ='safe')
|
||||||
racks = yaml.load(stream)
|
racks = yaml.load(stream)
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,14 @@ from dcim.models import DeviceRole
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
from utilities.forms import COLOR_CHOICES
|
from utilities.forms import COLOR_CHOICES
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/device_roles.yml', 'r') as stream:
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
file = Path('/opt/netbox/initializers/device_roles.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml=YAML(typ='safe')
|
yaml=YAML(typ='safe')
|
||||||
device_roles = yaml.load(stream)
|
device_roles = yaml.load(stream)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
from dcim.models import Manufacturer, Platform
|
from dcim.models import Manufacturer, Platform
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/platforms.yml', 'r') as stream:
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
file = Path('/opt/netbox/initializers/platforms.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml = YAML(typ='safe')
|
yaml = YAML(typ='safe')
|
||||||
platforms = yaml.load(stream)
|
platforms = yaml.load(stream)
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,14 @@ from tenancy.models import Tenant
|
||||||
from extras.models import CustomField, CustomFieldValue
|
from extras.models import CustomField, CustomFieldValue
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
|
||||||
with open('/opt/netbox/initializers/devices.yml', 'r') as stream:
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
file = Path('/opt/netbox/initializers/devices.yml')
|
||||||
|
if not file.is_file():
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
with file.open('r') as stream:
|
||||||
yaml = YAML(typ='safe')
|
yaml = YAML(typ='safe')
|
||||||
devices = yaml.load(stream)
|
devices = yaml.load(stream)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue