Вы находитесь на странице: 1из 11

Constructing Virtual Laboratory for

Research and Education


(Progress Report --- Week 3)

Team members: Melissa Nichols and Nathan Torrez


Mentor: Dr. Anyi Liu
Outline
Timeline
Key Terms
Schedule and Achievement of Week 3
Adding functionality that allows for creation of multiple VMs at
once
Speeding up multiple VM creation with Multithreading
Using Paramiko to SSH into a VM
Uploading routers, networks, subnets, and VM instances from XML
The Plan of Week 4
References
Timeline
Week Task
Week One Research the background about the project
Get familiar with CloudLab, OpenStack, and Amazon EC2

Week Two Get familiar with SecureCRT


Get familiar with current Python code
Continue to get familiar with CloudLab, OpenStack, and Amazon EC2
Write the module that can set up different domains using the
OpenStack API and Python (Part 1)
Conduct research on constructing virtual laboratory

Week Three Continue setting up the domains using the OpenStack API and Python
(Part 2)
We are here
Week Four Wrap up Domains Construction
Write the module that can change network topologies using
OpenStack API (Part 1)
Prepare for midterm presentation

Week Five Give midterm presentation


Continue working on the module that can change network topologies
using OpenStack API (Part 2)
Key Terms
Multithreading: Multithreading is similar to multitasking, which
allows multiple threads to accomplish similar tasks at the
same time. By using multithreading, programs run more
efficiently. [1]
Paramiko: Paramiko is a Python module that provides an
interface to use the SSH protocol.[2]
The Achievement of Week 3
Day 1:
Add the functions that allows creating multiple virtual instances in parallel
Experiment with a script that connects from the local host to an Amazon EC2
instance to a CloudLab Instance using Paramiko
Day 2:
Re-construct the routers, networks, and VMs from an XML profile
Access the VMs using Paramiko via SSH
Day 3:
Implement multithreading to speed up process of spawning multiple VMs
Troubleshoot generation of interfaces when importing XML
Day 4:
Troubleshoot interface creation
Day 1: Adding functionality and experimenting with scripts
Before we edited our scripts,
one could not create multiple
VM instances at the same time
We added an option to create
multiple VMs with similar settings
at the same time
We measured how long it took
to spawn multiple VMs
Our initial implementation was
not very fast because we were
not familiar with Python
Creation of VMs with timestamps multithread programming
Day 2: Upload Routers, Networks, and VMs
from an XML File
We were successfully able to re-
construct routers, networks, and VMs
from an XML profile.
There are still challenges trying to
upload router interfaces so that the
routers can be connected to the
network.
We were also able to run Linux
command in the VMs by using
Paramiko[2], inside a Python
XML File that uploads VMs,
Routers and Networks
program
Day 3: Implement Multithreading
Multiple instances have
been re-created using the
existing Python scripts
They were created using a
while loop which is slow and
inefficient
We use the multithreading in
Python, which significantly
increased the speed it takes
to create multiple instances
at the same time
Section of Python script that implements
multithreading
Day 4: Troubleshooting
We spent a lot of time troubleshooting the
Python code that was used to generate
the routers interfaces from the XML file
We spent most of the day troubleshooting
this problem as well as modified existing
scripts to make them more efficient
Week 4 Plan

Add more functionalities to our existing


scripts
Continue to troubleshoot the script that
fails to upload the interfaces to the
routers from the XML profile
References

[1] Christensson, P. (2008, September 26). Multithreading Definition.


Retrieved 2017, Jun 1, from https://techterms.com
[2] Noller, J. (2009, February 5). SSH Programming with Paramiko.
Retrieved 2017, Jun 4, from http://jessenoller.com

Вам также может понравиться