At last, with a visit from Andy Grimm last week, looked like our Dave was enlightened by him and figured out what he went wrong with our cloud’s configuration and he got it fixed. Now our images on the cloud can be started. The downfall is that all the accounts are wiped, so we had to re-register and update the credentials. But anyway, it was a great news we got in a while. I can play around with eutester now.
Today is like a day that we go over to see what the group has been able to accomplish so far. Each group will report what they have done. It looks like we got the cloud running to the point that images can be added but failed to be ran. I also found out that a new version of euca2ools on github will fix the small bug about uploading image in the previous version (the one stated as the latest stable version on the open.eucalyptus.com). And all kinds of documentations are looking great.
Finally our cloud, matrix, is up and running, so now I can begin to add images onto it. The steps for adding images onto the cloud are found on the eucalyptus website, at http://open.eucalyptus.com/wiki/EucalyptusImageManagement_v2.0. I gave it a test but encounter a bug in the eucalyptus 1.3.1 version (this is the latest stable version as stated on the website, but there is a newer version, 1.3.2, on github, and I will test it out later to see if the bug is fixed), where the compiler stated that it couldn’t import one of the module when I tried to use euca-upload-bundle. So I searched for that file, correct the importation, and re-installed the eucalyptus. And that fixed the bug.
Now with that bug fixed, the adding ran smoothly and I got a kernel-image, a VM image, and a ramdisk image up on the cloud. But unfortunately, the instance couldn’t be ran. And I believe this is where eutester comes into play, I will be using it to test out our instance.
Overall, this was a valuable experience for me because I actually figured out and have a bug fixed. It makes me have a lot more confidence in what i’m doing.
There were a lot of research I had to do on the Eutester since we will be using this framework a lot later on to test out the cloud. So the first thing I decided to do is try to understand the code in Eutester files. They’re written in Python so I started with understanding Python language first. In general Python is an OOP language that is kinda similar to Java, so it didn’t take long to pick it up. I went through some manuals and tutorials online and put together the main differences between Python and other programming languages on the wiki. Here is the link: http://cs.worcester.edu/wiki/index.php?n=Main.Python.
And also thanks to prof. Wurst for providing us with useful links to Eutester blogs that I was able to test out some commands. Well but first thing first, if anyone has an outdated Boto version installed on his/her computer (latest version is 2.2), he/she needs to get the latest version. Here the link to get it http://pypi.python.org/pypi/boto
After that is taken care of, I decided to try out the commands that were shown on the blog http://testingclouds.wordpress.com/2012/03/04/test1/ to test out the connectivity of the instance. Everything went smoothly up to when I was ready to ping the instance. But it failed, the ping was unsuccessful.
This was one busy week for me but I really learned a lot and finally, I’ve started to get my hands on testing out the EuTester. Can’t wait to test it out on our cloud.
An useful tool that will help us alot while working with Eucalyptus cloud computing is EuTester. EuTester is a framework written in Python and is used as a test tool to test the Eucalyptus private cloud setup. It is designed to allow a user to quickly generate automated tests for testing a Eucalyptus or Amazon cloud. From what I found out, to be able to testing out EuTester, I need to have at least an instance running on the Eucalyptus cloud, but currently our cloud is still under the progress of setting up and I tried but couldn’t get into any other clouds. So right now, I haven’t had a chance to test out EuTester yet. Note that if you are running a Unix system, all the pre-requisites for EuTester are already installed.
Another subject we were dicussing in this meeting was how would we rate the Eucalyptus project? Is it a promising project? Or is it a failed one? So to find out, we would assess it based on a scale written by a guy name Tom Callaway. Based on him, a project can be rated based on 12 aspects: Size, Source Control, Building From Source, Bundling, Libraries, System Install, Code Oddities, Communication, Releases, History, Licensing, and Documentation. There were several questions under each aspects and FAIL points that go for each of those questions. If a question can be applied to the project, it will earn that much points, the more points the project is graded, it is destined to doom. Well anyway, it was tough to rate Eucalyptus because I couldn’t find much information on it to answer the questions, especially for Building From Source and System Install aspects. I know that Eucalyptus website provides a lot of documentation. So that was a good start. Looking through wiki, Eucalyptus forum, and many blogs, I would give Eucalyptus a score of 70 FAIL points. So it’s like right in the middle of the FAIL scale, not bad but not so good.
So in this meeting, the class and I will be getting to know more about Git, which is a version control system for a project, more can be read on its official website git-scm.com or github.com, a website devoted entirely to Git. So first off, I have to have Git on my system, which is an Ubuntu OS. 3 ways to get Git: downloading from its site, using the command: apt-get install git-core, or using the software center. There was also an exercise that we got to do to set up Git, edit personal info, and played with a repository. It was my first time experiencing Git so there was some confusions in me but it was a good start. At least I know some basics through the exercise. So I’m going to go through the tutorial on the Git website to get a better understanding of the system.
After giving sometimes to do research about some open source projects that the class might interests in working on, there were 6 projects that the class might choose to work on: Firefox, VLC player, Eucalyptus, Irrlicht, Libre Office, and Sage. And the class voted for Eucalyptus. Well, the idea behind this project is pretty cool and I am looking forward to work on it, but the class was informed that we might not be able to get to do any coding in this project, so it was kind of a let down because I really wanted to do coding for this class to improve my experience. But that aside, this will still be a valuable learning experience and I can’t wait to get started on it.
In the second meeting, the class had to install an IRC client on their laptop for future communication. Because this was like a first time logging in to an IRC channel for everyone, the whole class was giving a fun exercise, where everyone cannot communicate verbally with each other, but through the IRC. And each person had to ask one of the classmates to edit his/her own blog on the teachingopensource.org. After the exercise had been done, the class moved on to look for an open source project that we could work on together for this semester. A classmate proposed irrlicht, which is an 3D rendering engine, which seems pretty cool. Near the end of the meeting, some of professor Wurst’s acquaintance joined in. After knowing that the class is currently looking for an open source project, they proposed Eucalyptus, which is an open source project they are currently contributing to. The meeting was dismissed and each of us had to go home and look for 2 potential open source projects that the class might interests in working on on popular sites like Sourceforge, Ohloh, OpenHatch, etc.
My first thought about this course is that this seems like a good class where I will be able to put what I had learned in other courses to use. By working on an actual OSS throughout this class, I hope that I would get more comfortable coding, designing a software, and working together with other people in a large group.