Instructor Documentation

Overview

As an instructor, you will use Cloud VCL to administer and facilitate Assignments to students in your Course(s). Every Assignment will utilize a Virtual Environment to complete it. So, before you create an Assignment, you must create an Environment Definition (and corresponding Virtual Machine Definitions) which will determine the parameters of the Virtual Environments that students use for that Assignment. Also before you create an Assignment, you must create a Course.

Typical Workflow:

  1. Create a Course
  2. Add Students to that Course
  3. Create an Environment Definition
  4. Create VM Definition within that Environment Definition
  5. Create an Assignment (assign that Course and Environment Definition to it)
  6. Monitor and/or help students complete the Assignment*

*Cloud VCL does not track progress, so it may be best to require proof of completion (screenshots, answer sheet, etc.) from students.

Becoming an Instructor User

Contact your system administrator to have them promote you to become an instructor user. If you aren't promoted, you will remain a student user and you won't have permission to create courses, assignments and such.

Logging Into Cloud VCL

Navigate to your institution's Cloud VCL site and log in using your institution's credentials. You will know that you've successfully logged in when you see Logged in as YourUsername in the top right corner. Once you log in and arrive on the home page, if you see a blue text box that indicates you're an instructor, you've been successfully promoted. If not, please ask your system administrator to promote you. To log out, select the Logout button in the top right corner.

Checking Quota and Usage

Whenever you or your student creates an instance, the counter will increase in the blue text box where it says Instance Count. Other usage details are provided (CPU, RAM, and disk) as well whenever a new instance is created. Note that your allocated quota is shared between you AND your students in ALL your courses. If you exceed quota, you or your students won't be able to create additional instances. Contact your system administrator if you want your quota increased.

Creating a Course

Visit the Course List page by selecting the Courses tab in the header. Create a VCL course by clicking the Create Course button near the top right corner, providing a name for the desired course, and pressing Submit. Courses can be edited or deleted on the Course List page too. When clicking on a course title, you will see all enrolled students and assignments given in that course if they were already added and assigned. If you choose to delete a course, all of the students and assignments tied to that course will be deleted as well; however, all students will remain in the database. You may wish to also just delete certain students or assignments once accessing a course title.

Adding Students to a Course

Whenever a course is created, you must add students yourself either manually or through the CSV upload functionality. First, click on the course title you wish to add students to on the Course List page and then press the Add Students button. You can also remove students or assignments individually after you enter a specific course title. Note that if you wish to launch your own environment for an assignment in a course you created, you must add yourself as a student in that class. This can be done through simply providing only your username in the Username field through manual entry (make sure the username you enter is the same username found in the federated authentication system.

CSV Upload

The CSV upload functionality allows you to add multiple students to a certain course as well as to store data in Cloud VCL's database in general. Export the desired class list CSV file from Blackboard Learn and save it on your local machine. Note that Cloud VCL only requires three fields (Last Name, First Name, and Username respectively), and the CSV file generated by Blackboard Learn will have additional fields. Edit the the CSV file by removing the unneeded columns. Next, click over where it says Browse for CSV and select the class list CSV file. After selecting the correct file, press the Upload CSV and Add Students button. The students listed in the CSV will be added to the course and saved in the database.

Manual Entry

In the case that a student is missing from the master class list file generated by Blackboard Learn and does not exist in the system, you can manually add them using this functionality. If for any reason the master class list contained only the first and last name of a student but not a username, you can just provide the username; however, the entered username must be identical to the username found in the federated authentication system. For each field, you must only provide one value (you cannot list multiple usernames, first names, and last names with every entry). After filling out the given fields, press the Add the Student button to add them to the course and database.

Creating an Environment Definition

The environment definition is a virtual environment where assignments will be created through defining VMs (explained in the following section). View the Environment Definition List page by selecting the Environment Definitions tab found in the header. Create an environment definition by clicking Create Environment Definition in the top right corner and providing a name. Once it's created, you will see it listed on the Environment Definition List page. Click on a particular environment definition title to view any corresponding defined VMs. Environment definitions can also be edited or deleted through the Environment Definition List page. If you decide to delete an environment definition, note that all of the corresponding VM definitions will be deleted as well.

You can create multiple Environment Definitions for one Assignment, which can hold one or more VM Definitions. However, you cannot change an Environment Definition for an existing assignment because changing the image for an Environment Definition won't update the image of any existing environments created by you or your students. You would need to create a new assignment with the updated Environment Definition to accomplish this.

Creating a VM Definition

A VM definition is a template for VMs in an environment that can be launched through given assignments. Note that an environment definition can have multiple VM Definitions, where each will have a flavor, image, and other customizable configurations found below. By clicking on an environment definition title from the Environment Definition List page, you can view, create, edit, or delete the Virtual Machine Definitions that have been created. Create a new VM by clicking Create VM Definition in the top right corner. Remember that deleting a VM definition will delete all VMs inside the environment that is connected to that VM definition. Find more details about specific fields in the creation of a VM below:

Image

You will have permission to select and use various OS images that your institution offers. Please select the type of image you want for your VM definition through the dropdown menu. Note that you can create and have multiple VM definitions in one environment definition. This allows you or your students to have multiple instances for an assignment using that particular environment definition.

Flavor

A flavor is a predefined combination of virtual resources (CPU core count, RAM and disk space) defined in the OpenStack environment. Select the type of flavor through the dropdown menu for your VM definition but do not select a flavor that has more than what is required. Remember that each time a student creates an instance, it is using that particular combination of resources laid out in that flavor. Please refer to your institution's cloud documentation regarding flavor details and other best practices.

Console Log

The console log contains all of the log entries related to the system's functioning and start up behavior. As an instructor, you will always have access to console logs; however, you may disable this feature for students when they are viewing their console by unchecking the box in the VM definition creation form. The console log can be viewed when you enter your environment by clicking the Open Log Console button.

Shell Script

You may provide a script that will be ran by the instance once it's created (e.g. create a text file or directory without having a student do it through the console via commands). Depending on the image you choose, you will have to provide the appropriate shebang in order for the script to run successfully.

Windows

For Windows-based images, you will be writing your scripts using Powershell (all Powershell scripts must begin with the '#ps1_sysnative' shebang). Powershell is not a compiled language but a command centric, dynamic scripting language. Learn more about Powershell scripting and how to write one through this link: http://powershelltutorial.net/

The example below creates a new directory named Test in another directory called VCL in the Windows file system:

#ps1_sysnative 
New-Item c:\VCL\Test -type directory

Linux

For Linux-based images, you will be using bash scripts (all bash scripts must begin with the '#!/bin/sh' shebang). Learn more about bash scripting here: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html.

The example below creates a text filed called test in the log directory:

1
2
#!/bin/sh
sudo touch ../var/log/test.txt

Install Packages (Linux Only)

A Linux package is an item (which can take form of a script, text file, license, etc.) that installs a piece of software through the package manager into your system. Install packages by inserting one package name per line. You can search for Ubuntu packages and their names here: http://packages.ubuntu.com/. For CentOS packages, please use think link: https://centos-packages.com/7/. Click where it says All Packages to view a list of all packages available with a brief description on CentOS. This feature is only for Linux-based images (NOT Windows).

Update Package Lists on Boot (Linux Only)

By selecting yes, it will update the list of available packages and their versions, but does not install or upgrade any packages. This feature is only for Linux-based images (NOT Windows).

Upgrade All Packages on Boot (Linux Only)

By selecting yes, it will upgrade to the newest versions of the packages you have. This feature is only for Linux-based images (NOT Windows).

Perform Reboot if Required After Package Install/Upgrade (Linux Only)

By selecting yes, it will perform a reboot if packages are installed and upgraded. This feature is only for Linux-based images (NOT Windows).

Timezone (Linux Only)

Set a different system timezone for your instance. You may find a list of all existing timezones through this link: http://manpages.ubuntu.com/manpages/trusty/man3/DateTime::TimeZone::Catalog.3pm.html. This feature is only for Linux-based images (NOT Windows).

This example sets the instance's timezone to New York's time:

America/New_York

This second example sets the instance's timezone to Dubai's time:

Asia/Dubai

Hostname (Linux Only)

Hostname is used to display the system's DNS name. You can set a new hostname that will replace the hostname generated by default. The format of the generated default hostname is image@VMdefinitionName.

Default User Password (Linux Only)

Sets the password for the default user (see table below for OS-dependant usernames). Please also refer to your institution's cloud documentation regarding usernames for additional images not found in the table below. Leave the field blank in order to disable the functionality. This feature is only for Linux-based images (NOT Windows).

Image Type Username
Ubuntu ubuntu
CentOS centos

Default User Public Key (Linux Only)

This sets the SSH public key for the default user (see table above for OS-dependant usernames or refer to your institution's cloud documentation regarding usernames for additional images used by your institution). SSH public-key authentication is a more secure alternative to connecting to a remote system than logging in with an account password (learn more about SSH keys here: https://kb.iu.edu/d/aews). Supported key types are: rsa, dsa, ecdsa, and ed25519. Also, ensure that the public key is all in one line when entering a key in the field. Visit https://wiki.archlinux.org/index.php/SSH_keys to learn more about different key types.

Example for rsa key type:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAywWhrwq4FjHt+UuwZcZePxtjtZOENFpOjufycaYso2nTlzNwnAQEQRfbqsUxKVtOtGxgApIkUvjRIjNBdJE6iOzvBXZhhJrM0GUDJragw7SMVIs/5xJBGAyHKJ1YUMGO7+nJTmsCLx6PFOlQYveuriiVVCCZerGCLH+UtSXK3z+l7hx9NiDg3/ylOLc3f3SLxrJKn0gMTgK7BHJFXo4PguuPjWZLVdUDX+XKiqtT2n4IsYs6N9qVFG3zUgNlEjZM47NK/ytAC0max98pK+QNzsuaQOo/IShJ1TOw5wwScflPArVJ2AyROqAe7cfQg7q12I9olASFd3U5NazfZCTYAvWA1kz9UZEWLJ1Br1XOkPqOleMM8KCp/PXzz8H0kISkMIji0/QuiZOPEBsKlszXjlALcXR8Mg1uiZVWy48i9JheyXyj1ToCj6cPScpgFHp3DAGSlKKbE1EFaVfeeyGAnHESuXC9wkSeFZCEyMJ+RgJxMkBXNZmyycbwsSqAeGJpMEUDlwzu2GD0obBz0HXqg9J1Xallop5AVDKfeszZcc= user@host

Example for dsa key type:

ssh-dss AAAAB3NzaC1kc3MAAACBAJ3hB5SAF6mBXPlZlRoJEZi0KSIN+NU2iGiaXZXi9CDrgVxTp6/sc56UcYCp4qjfrZ2G3+6PWbxYso4P4YyUC+61RU5KPy4EcTJske3O+aNvec/20cW7PT3TvH1+sxwGrymD50kTiXDgo5nXdqFvibgM61WW2DGTKlEUsZys0njRAAAAFQDs7ukaTGJlZdeznwFUAttTH9LrwwAAAIAMm4sLCdvvBx9WPkvWDX0OIXSteCYckiQxesOfPvz26FfYxuTG/2dljDlalC+kYG05C1NEcmZWSNESGBGfccSYSfI3Y5ahSVUhOC2LMO3JNjVyYUnOM/iyhzrnRfQoWO9GFMaugq0jBMlhZA4UO26yJqJ+BtXIyItaEEJdc/ghIwAAAIBFeCZynstlbBjP648+mDKIvzNSS+JYr5klGxS3q8A56NPcYhDMxGn7h1DKbb2AV4pO6y+6hDrWo3UT4dLVuzK01trwp PYp6JXTSZZ12ZaXNPz7sX9/z6pzMqhX4UEfjVsLcuF+ZS6aQCPO0ZZEa1z+EEIZSD/ykLQsDwPxGjPBqw== user@host

Example for ecdsa key type:

ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCNnJ7lJwykFIErYDb7RcM3kyGUXjhdsZdaMbsp2NTCPr9U9AR7ucONsb8G/Dr5pzOH2J47V/ceZ7Mrfw4gOYu8= user@host 

Example for ed25519 key type:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXpBovNAOIz26NQ6KYp8Emn50pUds5tjiMLKXmN6hGH user@host

Create System Account for Student (Linux Only)

Creates a user in the system based on student's username and a random password (will be provided to student when they enter their instance in a blue text box above the console region). This feature is only for Linux-based images (NOT Windows).

Student User Sudo (Linux Only)

Sets sudo access for the student's system user. It provides administrator privileges (usually available only to the root user) to normal users. Set to 'ALL = (ALL) NOPASSWD: ALL' for unlimited sudo access. Here is a link with more information: https://help.ubuntu.com/community/RootSudo. This feature is only for Linux-based images (NOT Windows).

Creating an Assignment

Visit the Assignment List page by selecting the Assignments tab found in the header where you can a list of existing assignments and their corresponding course, description, and start and end dates. Create a course by clicking the Create Assignment button in the top right corner and then providing the necessary information. Each assignment will be assigned to one course and will become available to the students upon the given start date. The assignment will close and all associated environments will be terminated based on the given end date. Assignments can be updated or deleted on the Assignment List page. Note that deleting an assignment will delete all connected environments that were launched by you or your students.

Course and Environment Definition must first be created in order for students to be assigned to an Assignment.

Entering Your Environment

On the Assignment List page, click on an assignment title where you can then see a list of student environments. You can see who created which environments and you also have the ability to delete or enter them. Press the LAUNCH A NEW ENVIRONMENT FOR THIS ASSIGNMENT if you want to create your own instance for the assignment. If an environment has already been created, press the Enter Your Environment button to revisit it or you may wish to delete it by pressing Delete your Environment. It will take a moment for the console to load. Once the console appears and reaches the log in screen, enter the username and password given in the blue box if you set a new user password. The console can be in full screen mode by clicking the Open Console in Full Screen Mode. If there are multiple VMs, you can easily switch from one console to another by clicking on the desired VM found in the green box. Additionally, there is information regarding when the environment was created and the date and time of when the environment will be terminated. You can also view the console log here by clicking the Open Console Log button. All KVM (keyboard, video, mouse) functionality will work; however, audio will not work. If you wish to reboot your environment, press the Send CtrlAltDel button on the top right corner. This is in case the console freezes.

Please note: copy (CTRL+C) and paste (CTRL+V) functions do not work in the console.

Entering a Student's Environment

On the Assignment List page, click on the assignment title that has the student's environment you want to enter. In the list of students' environment, identify the student and click the corresponding Enter Environment button. You are able to view and interact with their console and their activity in this way as well as delete their environment.