Network dynamic operations
Our API can now provide static information about the network; anything that we can store in the database can be returned to the user. It would be great if we can interact with our network directly, such as query the device for information or push configuration changes to the device.
We will start this process by leveraging the script we have already seen in Chapter 2, Low-Level Network Device Interactions for interacting with a device via Pexpect. We will modify the script slightly into a function we can repeatedly use in chapter9_pexpect_1.py
:
# We need to install pexpect for our virtual env $ pip install pexpect $ cat chapter9_pexpect_1.py import pexpect def show_version(device, prompt, ip, username, password): device_prompt = prompt child = pexpect.spawn('telnet ' + ip) child.expect('Username:') child.sendline(username) child.expect('Password:') child.sendline(password) child.expect(device_prompt) child.sendline('show version...