Week 8 and 9

 

During these two weeks in class meetings, we discussed the up to date progress towards our contribution towards Eucalyptus. All groups reported their progress on what they are working on ranging from documenting utester to documenting Eucalyptus Architecture Overview. In addition, the group working on setting up our cloud reported on their progress. My group was working on tracking the issues available on Eutester, and the ways we can apply changes in order to fix them.

Nonetheless, during these two weeks I worked on improving my knowledge of python. I found a very good tutorial online, which is very thorough (http://docs.python.org/tutorial/). Β Further, I spent a lot of time going through the entire code on Eutester to see how the issues arises could be fixed. While going through the code, I found it very complex to understand the code since the documentation on the code is very poor; I look forward on joining the documentation team on the 10th week to improve better understanding of the code. Good documentation will boost better understanding of the code in the future for other programmers willing to contribute and add more futures to Eutester.

From the blog Dnjoroge by Dnjoroge and used with permission of the author. All other rights reserved by the author.

More Python

While things with infrastructure were being dealt with, I decided to jump on the eutester documentation project. So, during class I cloned the repo that kwurst forked and got to it. I took some time throughout the week to go through multiple directories in the eutester code and try to understand how it all worked and connected. I’m still not sure how everything works, but I do have a much better understanding of the code.

As far as documentation goes, I did do some in the eucaweb directory. The files i added to were the euwebaccount.py and euwebgroup.py. These are fairly basic scripts that setup accounts and groups respectively for testing purposes. Once I was done with commenting those for the day, i committed and pushed my changes to the repo. I checked the github page just to make sure and seeing my first push ever was pretty cool!

It looks like a few of us are doing good on commenting the code, so I wouldn’t be surprised if we had this project done within the next week. Now that I have a better understanding of the code I will be able to get some more commits in before the semester is over.

From the blog clacroix12 by clacroix12 and used with permission of the author. All other rights reserved by the author.

CS 401 – Networking is Difficult

So I haven’t posted here in awhile. In CS 401 I have been trying unsuccessfully to create a working Eucalyptus cloud. At this point the basic system is in place: The core services are running. Users can sign up for an account on our cloud. Users can upload kernels and OS images. However, when a user tries to launch a virtual machine instance everything falls apart. The instances are forever stuck in the “pending” state.

I was using the “managed” networking mode for Eucalyptus. However, upon testing if the network was “VLAN clean.” I followed the instructions here and alas, the VLAN was not clean. It seems like more of a headache to get the VLAN to function than it is to switch to the “managed-novlan” networking mode.

The “managed-novlan” mode required me to manually configure an ethernet bridge for Eucalyptus to use. I followed the instructions in the Eucalyptus 3.0 Installation Guide and everything seems to work (running `service network restart` shows no errors), but now the Cluster Controller cannot communicate with the Node Controllers. This means that there are no available resources advertised for VMs. So now I cannot even try to start up a VM instance. πŸ™

I only have basic networking knowledge so these issues have been a real headache for me. The fine folks on the #eucalyptus IRC channel have been helping me out with everything but everytime we eliminate an issue there is another one to take its place.

In other news, Eucalyptus project member Andy Grimm will be visiting WSU this week. I’m looking forward to talking with him and hopefully I can convince him to give me some on-site assistance with the servers.

From the blog David Thompson Β» WSU CS by davexunit and used with permission of the author. All other rights reserved by the author.

Week 9 : Code documentation on GitHub

This week we did talked about different things for example signup at GitHub and working on documentation for the coding on Eucalyptus project like Eucaops, Eucaweb, Eutester, and Testcases. The challenging thing about all these projects is that they all are writing in Python programming language, and will be very difficult for some people in [&hellip

From the blog E. Lekdushi CS401 by elekdushi and used with permission of the author. All other rights reserved by the author.

Week 8: EuTester bug tracker

Like very other week this week the group that is working to installing our cluster did report about the progress of their work. Also other think we did this week in class e did discuss in class about group projects. My group project is the EuTester bug tracker. We did get together as group in [&hellip

From the blog E. Lekdushi CS401 by elekdushi and used with permission of the author. All other rights reserved by the author.

Getting Closer

Today I continued working on the eutester directory. I made some changes to the machine.py file and I’m looking at a few others at the moment. The good news is that we are continuing to make progress on the repository and hopefully it will be finished in another week or so. The bad news is that it’s been a week and only 3 issues are opened so far. I’m hoping everyone is at least looking at these files and trying to make changes, even if they are not very large changes. I should have another push or two by the end of the week, and I know Nate and Marcos have both had a few pushes already, so I’m hoping this will continue and we can finish this up fairly quickly. If everyone on the team does a few changes and commits them, we should be able to get everything done in a week. However, if things continue the way they are, and we average only 4 pushes per week, we may not finish the project entirely.Β 

I am ambitious about getting it finished, so I think that at the very least, it should be more than halfway done by the end of the week, leaving very little left for our final week of classes. If I finish my directory, and both Nate and Marcos finish theirs, we should be down to about 3 directories I believe, and there are at least 4 more people in the group, so the work should not be difficult to finish. I’ll keep working on my stuff this week, and hopefully I’ll have enough done to move on to another directory, or at least help some other people finish up theirs. I’ll send out an email about finishing this stuff up to my group this week to make sure everyone is on board. Overall, I think we are in decent shape and we should be able to finish everything we set out to do before the end of the semester.Β 

From the blog trevorhodde by Trevor and used with permission of the author. All other rights reserved by the author.

4/16

I have continued my work attempting to run Eutester. Following fellow classmates entries on the CS wiki has given me some much needed guidance and I was able to get past the no module named random error I was receiving by using the sudo acronym to grant access.

As of now I am reading over how to run test cases and write test cases using python. After attending the Eutester basics class held on IRC I have a general idea of how to run test cases, but I am still not very familiar with the python language itself. I will update again after I have run a successful test case.

From the blog michaelkenny2 Β» WSU CS by michaelkenny2 and used with permission of the author. All other rights reserved by the author.

Week of April 9th 2012

This week we began by providing updates on where we are at with our individual projects. We also need to find out exactly what format the folks over at Eucalyptus want our documentation to be in. Then we will need to convert our simple text format over to whatever they suggest.

We also discussed beginning a paper on an ethical analysis of Eucalyptus. This is something to work on and be due at the end of the semester. We will be writing about something we find to be negative about Eucalyptus or Cloud Computing in general. This can include aspects such as: security, reliability and privacy.

I’ve also just continued with documentation on the Eucalyptus Architecture Overview (Block Storage Controller).

From the blog nzahid Β» WSU CS by nzahid and used with permission of the author. All other rights reserved by the author.

Week of 16 April 2012

The Walus overview I am working on is taking shape. At first I had a large voume of unorganized facts about Walrus. I was uncertain as to which manner to present them in. Upon reviewing the data, I managed to group the information I have into some main categories: Walrus’ two manin funcions, Access and security, Buckets and data storage, VM Manipulation, and object version control.

Here is what I have so far:

Walrus Architecture Overview Dan Adams

Walrus is the component of Eucalyptus that allows you to store your data in the cloud. You can store your data as objects or buckets, which are collections of objects. These data stores are secure, and you as the administrator decides who has access to the data, and what privileges they have (read, write, etc.). Walrus serves two purposes:
Walrus provides three types of functionality:
β€’ Users that have access to EUCALYPTUS can use Walrus to stream data into/out of the cloud as well as from instances that they have started on nodes.

β€’ In addition, Walrus acts as a storage service for VM images. Root filesystem as well as kernel and ramdisk images used to instantiate VMs on nodes can be uploaded to Walrus and accessed from nodes. Walrus is a put/get storage service.

β€’ Walrus is also used to store snapshots of VMs for easy restoration and data protection

Accessing the Cloud
Access to Walrus and other components of Eucalyptus is accomplished through a pair of ssh keys. Both are alphanumeric strings. One is a public key, used to validate the software and other settings. Eucalyptus shares user’s credentials with the Cloud Controller’s user database.

The model of Walrus is similar in many ways to the Amazon S3 service. Both store collections of objects in buckets. Both the Walrus component and S3 are accessed using a pair of ssh keys, one private and one public. Amazon, however, requires a 20 and 40 character string, respectively, while the Eucalyptus keys are much longer.
Once the user is authenticated, interaction can take place via a web interface or command line.

Requests to read/write storage can be made via the Amazon S3 Curl Service or through or through the Eucalyptus web interface. Interactions with the service are either authenticated or anonymous. Buckets and objects are owned by individual accounts. To share resources, you must grant permissions as an administrator.

Walrus can use standard web services technologies like Axis and Mule , as well as being interface compatible with S3. It implements the REST or query interface via HTTP, as well as the SOAP interface.

Walrus is accessible to end-users, whether they are running a client outside the cloud or a virtual machine instance inside the cloud.
You can Eucatools commands to put or get data from Walrus, or one of the standard S3 tools. Example of these are S3 Curl , s3cmd
, and s3fs
. s3fs allows users to access S3 buckets as local directories.

Buckets and Data Storage via Walrus
Create a Bucket β†’ Add an object to a bucket β†’ View/move/delete object.

Objects can be grouped into folders. Folders can, in turn, be grouped into other folders. Objects can be public or private, with specific rights given to different users.
Bucket names need to be unique within the individual cloud. A good naming convention is to start with the name of your group or department.
Think of a bucket as analogous to a folder on a Windows system. Bucket storage primarily holds machine images and machine snapshots. The maximum size of a Walrus bucket is 5GB. Walrus is a file level storage system, as compared to
the block level storage system of Storage Controller.

Virtual Machine Image Manipulation via Walrus
Walrus also serves as a VM image storage and management service. Root file system images, kernel images, and ramdisk image can be uploaded to via the Walrus service, and then will be accessible from the different nodes. Images can be compressed, encrypted using user ssh keys, and split into multiple parts. These parts are described in an image description file, sometimes called the manifest.

When a node controller (NC) asks for an image from Walrus before starting it on a node, the node transmits an image download request. The request is authenticated with an internal set of credentials. Walrus then verifies and decrypts images that the users have uploaded, and makes the transfer to the proper directory. Walrus supports parallel and serial transfers of data transfers. Here is a sample write from a Walrus log:
[Fri April 13 04:21:21 2012][001283][EUCADEBUG ] walrus_request(): wrote 5242880000 bytes in 3421570 writes
[ Fri April 13 04:21:21 2012][001283][EUCAINFO ] walrus_request(): saved image in /var/lib/eucalyptus/instances//admin/i-515C08DF/disk

Image instances need to be on the same subnet as Walrus.

Snapshot Storage in Walrus

The volumes that are created with storage controller can be the basis of point-in-time snapshots that are stored on Walrus. The snapshots can, in turn, be used to create volumes if needed.

Snapshots are created using the euca-create-snapshot command:
uecadmin@client1: Μƒ$ eucaβˆ’createβˆ’snapshot volβˆ’333C04B8

The euca-describe-snapshots lists available snapshots:
uecadmin@client1: Μƒ$ eucaβˆ’describeβˆ’snapshots
SNAPSHOT snapβˆ’32A804A2 volβˆ’333C04B8 completed
2010βˆ’04βˆ’15T13:48:32.01Z 100%

Volumes from these snapshots can be created by using the snapshot ID:
uecadmin@client1: Μƒ$ eucaβˆ’createβˆ’volume βˆ’s 10 βˆ’βˆ’snapshot snapβˆ’32A804A2
βˆ’βˆ’zone mycloud
A volume can only be created after the snapshot status
completes. Snapshots from a volume can only be created after
volume status is created, not during the creating stage.

To delete
a snapshot:

uecadmin@client1: Μƒ$ eucaβˆ’deleteβˆ’snapshot snapβˆ’32A804A2

Object Version Control in Walrus
Walrus doesn’t provide write-locking for object writes. Users are, however, guaranteed that a consistent copy of the object will be saved even if there are concurrent writes to the same object. If a write to an object is encountered while there is a previous write to the same object in progress, the previous write is invalidated. Walrus responds with the MD5 checksum of the object that was stored. Once a request has been verified, the user has been authenticated as a valid EUCALYPTUS user and checked against access control lists for the object that has been requested, writes and reads are streamed over HTTP.

To increase performance, and due to the fact that VM images can be very big,
Walrus keeps a repository of images that have already been decrypted. Cache invalidation happens when an image manifest is overwritten.

Troubleshooting
Walrus provides some good clues for solving problems in its log files. Two particularly useful logs are walrus-stats, walrus-digest, and registration.log
.

Problems with SSH keypairs commonly cause Walrus errors. Verify your credentials.

From the blog danspc.net Blog Β» wsucs by danspc.net Blog Β» wsucs and used with permission of the author. All other rights reserved by the author.

Week of 9 April 2012

This week Brian, Nadia and I met and discussed the format in which we will deliver the Eucalyptus architecture overview that we are working on. Karl is getting us the contact information for whom to send it to. Untill then we will compile it into a regular text document. I am using Libre Office.

My part of the project is an overview of Walrus. Although the website is scarce on Walrus specifics, I have found a treasure trove of information in the Presentations & Publications section, specifically “Cluster Computing and the Grid”, Shanghai, China, 2009.

From the blog danspc.net Blog Β» wsucs by danspc.net Blog Β» wsucs and used with permission of the author. All other rights reserved by the author.