Skip to content

Commit

Permalink
Adding load_devices.py for blog article
Browse files Browse the repository at this point in the history
  • Loading branch information
ktbyers committed Nov 5, 2015
1 parent e7c316d commit 0ed2e48
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions django/load_devices.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
from net_system.models import NetworkSwitch, InventoryGroup
from net_system.models import Credentials
from getpass import getpass

import django

def main():
django.setup()

management_ip = raw_input("Please enter IP address: ")
my_switches = (('pynet-sw1', 8222, '10.220.88.28'),
('pynet-sw2', 8322, '10.220.88.29'),
('pynet-sw3', 8422, '10.220.88.30'),
('pynet-sw4', 8522, '10.220.88.31'))

passwd = getpass()

# Create Arista inventory group
arista_group = InventoryGroup.objects.get_or_create(group_name='arista')
print arista_group

# Create four switch objects
for switch_name, ssh_port, ip_addr in my_switches:
switch_obj = NetworkSwitch.objects.get_or_create(
device_name=switch_name,
device_type='arista_eos',
ip_address=ip_addr,
management_ip=management_ip,
port=ssh_port,
group_name=arista_group[0]
)
print switch_obj

# Create credential object
arista_creds = Credentials.objects.get_or_create(
username='admin1',
password=passwd,
description='Arista credentials'
)
print arista_creds

# Bind switches to credentials
net_devices = NetworkSwitch.objects.all()
print net_devices
for my_switch in net_devices:
my_switch.credentials = arista_creds[0]
my_switch.save()

if __name__ == "__main__":
main()

0 comments on commit 0ed2e48

Please sign in to comment.