In an earlier post, I said that I felt we had succeeded in making a clear and understandable user guide for Euca2ools. While I still feel that this is the case, we got some useful criticism of the guide from the last group to present on Wednesday. This group was tasked with trying to use Euca2ools and Eutester by only following the guides on our wiki, and then to report their findings and suggestions. They told us that while the guide overall was well-made, there were two areas that were difficult to follow.
The first issue was finding the user credentials when setting up Euca2ools. I admit to having trouble with this as well at first, but it did not even cross my mind to put instructions into the guide on how to find your credentials. Oh well, that is why having other people critique your work is good! I edited the wiki to fix this problem.
The second issue was about getting a working SSH connection. This is the biggest weakness of the guide. Getting SSH to work consistently never happened for us. We have several theories on why it failed so often. We suspect as dynamic IPs could be the culprit. I do not have any solutions currently better than what is already posted in the guide, so it will stay as it is for now. Perhaps a future class will be able to fix up that part of the guide for us.
On Wednesday, all of the groups presented on what they had accomplished during the semester. I did not realize how much work we actually got done as an entire class until I saw the presentations. There were 7 presentations in all:
- Eutester Issues
- Cloud Overview
- Eutester Documentation
- Leveraging Python for Eutester
- Using Euca200ls (my group)
- Installing Euca2ools and Eutester
The first group gave an overview of the open and closed issues on Github. The second group gave a very detailed overview of the ideas behind cloud computing and defined many general and Eucalyptus-specific terms. The third group described the process of attempting to document the Eutester code. Dave and Mike, the infrastructure group, had an entertaining discussion about how much frustration went into setting up a working Eucalyptus cloud. The fifth group went into depth about using Python with Eutester. My group described the main functions of Euca2ools and the process of creating a user-friendly guide on our wiki. We actually succeeded in demonstrating a working SSH connection to an instance created from an image that I uploaded to our Eucalyptus cloud, which I consider to be a big accomplishment! The final group critiqued the experience of attempting to get several modules up and running, specifically Euca2ools and Eutester, just by following the wiki guides that we had all created.
It was very interesting to see the other groups present, especially the groups involved with Eutester. Spending most of my time with Euca2ools, I did not look into Eutester very much at all. Seeing all of my classmates describe their experiences with it was great to see.
Most of my work this semester has been experimenting with Euca2ools and modifying our User Guide to reflect my findings. My primary goal in collaborating on this User Guide was to make it easy to follow, especially for a Linux novice such as myself. Ultimately, I think we achieved our goal. My group partners are definitely the experts and filled the guide with very useful information on how to perform the various tasks. I took their knowledge and formatted it, expanded on it, and tried to explain as best I could what each command was doing. A lot of trial and error went into this, as a lot of the time I wasn’t exactly sure what I was doing. A positive side-effect: fumbling through Euca2ools and revising this guide over the semester did help me a lot with my knowledge of Linux.
I wanted someone who was completely new to Euca2ools to be able to successfully do something productive by only following our guide. I think we came pretty close. Now that the semester is at an end, the guide is as finished as it will be until perhaps a future CS class takes over on the same project. It definitely is not 100% done. Eucalyptus is a huge project and Euca2ools is a major part of it. There is always more that we could do in writing the user guide, but I am happy with the progress we made.
Today is a big day in working with Euca2ools on our cloud. I have successfully uploaded an image, kernel, and ramdisk to the Matrix server and an instance is actually running off of my image. This has been a trial and error process that has taken weeks, and I am pretty satisfied. Here is the proof:
The instructions posted on our user guide by Dhimitri and Mindo were really helpful, but of course being a complete noob to Linux I was confused by some parts. The wiki will be changing slightly to reflect my new found understanding and hopefully the revisions will help anyone else trying out this process in the future.
The past two weeks I have been working on documenting Euca2ools with Dhmitri and Chris. Euca2ools is a collection of Linux command-line tools for interacting with a Eucalyptus cloud. There is documentation on the Eucalyptus website on how to get Euca2ools installed and working but it can be a confusing process, especially if you aren’t extremely familiar with the Linux command line, like I am. Dhmitri did a great job of consolidating all of the steps required and posting them on our wiki. He also added a few steps of his own that may not be apparent to a Linux novice. I followed his steps and was able to get a working Euca2ools installation after a fair amount of trial and error.
Based on my experiences, I expanded on Dhmitri’s instructions and tried to add more explanation of what you are actually doing with Euca2ools and why. I also added some nice color formatting to try and spice up the page and make it easier to follow. Check it out here: http://cstest.worcester.edu/wiki/pmwiki.php?n=Main.Euca2ools
As of right now the page is not finished– for some reason I am blocked from making further edits to the page! I wonder if it is because I made too many edits in a short time and the page is locked. Hopefully this gets resolved soon and I can make the remaining planned changes to the page.
Prior to week 3, everyone had a homework assignment to research and submit summaries on two open source projects that they would like to work on. The first I chose was Firefox. I liked Firefox as a potential class project because of the extensive documentation the development community provided, and the relative ease of “jumping in” and becoming a contributor. There was also a helpful list of suggested projects that were an appropriate size for an entire class to tackle. The second project I researched was FreeDroid, an open source roleplaying game similar to Diablo. The game is mostly finished at this point, but there was a lot of help needed for bug fixes and game engine optimizations. It would have been harder to get started with than Firefox, but I thought it would have been very cool to work on a video game!
During last week’s IRC exercise in #teachingopensource, we met a developer of an open source cloud platform called Eucalyptus who was lurking in the channel. It turns out that they had just finished developing version 3 of the platform, and were interested in our class helping them by testing it. Professor Wurst wanted us to adopt this as our course project, but decided to be democratic about it and put it up to a vote. We were all asked to rank 6 of the projects that were suggested by our combined research: Eucalyptus, Firefox, LibreOffice (office suite), irrlicht (3d game engine renderer), VLC (media player), and Sage (math software). I personally wanted to see Firefox, LibreOffice, Eucalyptus, or irrlicht as the winning project. Eucalyptus ended up winning, with irrlicht as a close second. After Professor Wurst determined that there was not enough support for a second irrlicht group, it was decided that as a class we would be working exclusively on Eucalyptus.