Sei sulla pagina 1di 13

Constructing Virtual Laboratory for

Research and Education


(Progress Report --- Week 2)

Team members: Melissa Nichols and Nathan Torrez


Mentor: Dr. Anyi Liu
Outline
Timeline
Key Terms
Schedule and Achievement of Week 2
Setting up basic domains with OpenStack Dashboard
Using SecureCRT and SecureFX
Testing Python scripts
Downloading and running virtual images
Editing scripts
Examining the profile file and the scripts that generates it
The Plan of Week 3
References
Timeline (Week 1 Week 10)
Week Task Week Task
Week 1 Research the background about the project Week 6 Write the module that can change the routing rules (Part
Get familiar with CloudLab, OpenStack, and Amazon EC2 1)
Week 7 Continue working on the module that can change the
Week 2 Get familiar with SecureCRT routing rules (Part 2)
Get familiar with current Python code Draft the research paper
Continue to get familiar with CloudLab, OpenStack, and
Amazon EC2 Week 8 Improve the performance and efficiency of the virtual
Write the module that can set up different domains using laboratory
the OpenStack API and Python (Part 1) Refine the user interface
Conduct research on constructing virtual laboratory Continue work on research paper
Working on the documentation (Part 1)
Week 3 Continue setting up the domains using the OpenStack API
and Python (Part 2) Week 9 Conduct tests in virtual laboratory environment
Working on the documentation (Part 2)
Week 4 Wrap up Domains Construction
Revise the research paper
Write the module that can change network topologies
Continue work on the poster
using OpenStack API (Part 1)
If possible, work with VMI library (libVMI)
Prepare for midterm presentation
Week 5 Give midterm presentation Week 10 Finalize the research paper
Continue working on the module that can change Finalize the poster
network topologies using OpenStack API (Part 2) Finalize the documentation
Key Terms
Network Domain: Refers to any group of users, workstations,
devices, printers, computers and database servers that share
different types of data via network resources[1].
Extensible Markup Language (XML): Used to describe data.
The XML standard is a flexible way to create information
formats and electronically share structured data via the
public Internet [2].
Schedule and Achievement of Week 2
Schedule
Day 1: Setting up basic network domains with OpenStack Dashboard
Day 2: Using SecureCRT and SecureFX
Day 3: Testing Python scripts
Day 4: Downloading and running virtual images
Day 5: Examining the profile file and the scripts that generates it
Achievement
Got familiar with SecureCRT
Got familiar with current Python code
Continued to get familiar with CloudLab, OpenStack, and Amazon EC2
Started writing the module that can set up different domains using the
OpenStack API and Python
Conducted research on constructing virtual laboratory
Day 1: Setting up basic network domains with
OpenStack Dashboard

We need three network


domains: an attack
domain, a target domain,
and a control domain
So far, we have built the
basic infrastructure
One of our tasks is
recreating this network from
a .xml file created using
our Python scripts
Three network domains
Day 2: Using SecureCRT and SecureFX
SecureCRT and SecureFX are software
tools developed by VanDyke Software
that provide SSH and file transfer
capabilities above that which PuTTY
can provide [3]
We use SecureCRT to access an
TesterScript.py script menu
Amazon EC2 VM and SecureFX to
transfer our Python scripts to the VM
We can then run our scripts on the
Amazon EC2 VM to perform the same
actions we would on the OpenStack
dashboard, but through a command
line interface
SecureFX
Day 2: Using SecureCRT and SecureFX (cont.)
At first, when we tried to run
the Python tester script,
"ImportError: No module
named 'os_client_config'
would show and the script
could not be run
Certain packages are needed
to run the program, and they
need to be compatible with
Python 3
We were able to solve the
issue and run the Python Diagram showing the Import Error
tester script on Day 3
Day 3: Testing Python scripts
We first created a bash script that runs
the installation commands at one time to
speed up the process of getting the
tester script running
We then tested each option on the
menu, and looked at the OpenStack
Dashboard to see if the changes we had
made with the tester script were reflected

Document showing steps to run our scripts

Creating a new VM using the Python tester


script

The VM created by the Python script shown on CloudStack Dashboard


Day 3: Testing Python scripts (cont.)
One of the functionalities of the Python script is generating a .xml file containing
all of the information about a CloudLab experiment
One of our goals is being able to successfully import that .xml file and fully recreate
a previously generated experiment
CloudLab experiments are set to expire after a certain amount of time, thus deleting that
experiment
Currently, the scripts can only successfully import routers

The .xml file showing the information about a subnet


Day 4: Downloading and running virtual
images
Before we downloaded a VM, we added
a function to the code that outputs the list
of VM images available when a
connection is successful
Originally, there was no indication that a
connection was unsuccessful until an option
from the menu was chosen and an error
occurred
We use the Python tester script to
download a VM image, then use
SecureFX to transfer the VM to our local
computer
We then must convert the downloaded file
to a format that our local virtualization
software can use Downloaded VM from the CloudLab to our local
Once we convert the file, we can computer
successfully run the downloaded image on
our computer
Day 5: Examining XML files and Python
scripts
In their current state, the Python
scripts cannot successfully import
everything from a generated .xml
file
We are in the process of finding
ways we can fix the code so that
the information can be
successfully imported
For large scale experiments,
being able to automate the
process of creating these The snippet of code from Python script that parses
OpenStack information into an XML file
experiments again is important
References

[1] What is a Domain? - Definition from Techopedia. (n.d.). Retrieved


from https://www.techopedia.com/definition/1326/domain-networking
[2] Rouse, Margaret What is XML (Extensible Markup Language)? -
Definition from WhatIs.com. Retrieved from the TechTarget website:
http://searchmicroservices.techtarget.com/definition/XML-Extensible-
Markup-Language
[3]VanDyke Software. (n.d.). Retrieved from the VanDyke Software
website: https://www.vandyke.com/index.php

Potrebbero piacerti anche