Category Archives: CS401

CS401 – Nearing the End

Well, the semester is almost over now, and the documentation is starting to shape up. There’s a lot of information that’s hard to track down, though, which is unfortunate. For now, what I am having to do is make an educated guess. Hopefully I will be able to either verify all of the information or someone from the Eucalyptus project or someone who’s had more experience with Eucalyptus can verify or clarify some of the information.

From the blog blabbecs401 » CS401 by blabbecs401 and used with permission of the author. All other rights reserved by the author.

4/23

I have been working on running test cases with EuTester by following some of the wiki posts by my fellow classmates as well as blog posts located here by Vic Iglesias. There is still a bit of a learning curve working with python as a language I am not very familiar with.. I understand the basics for writing the test cases with Eutester in particular I have learned that you especially need to make sure that you configure a setup and teardown phase in the code as described below in a portion taken from the Vic Iglesias blog:

import unittest
from eucaops import Eucaops

class MyFirstTest(unittest.TestCase):

    def setUp(self):
        self.tester = Eucaops(credpath="/home/ubuntu/.euca")
        self.keypair = self.tester.add_keypair()
        self.group = self.tester.add_group()
        self.tester.authorize_group(self.group)
        self.tester.authorize_group(self.group, port=-1, protocol="icmp")
        self.reservation = None

    def testInstance(self):
        #### INTERESTING STUFF GOES HERE
        pass        

    def tearDown(self):
        if self.reservation is not None:
            self.tester.terminate_instances(self.reservation)
        self.tester.delete_keypair(self.keypair)
        self.tester.local("rm " + self.keypair.name + ".pem")
        self.tester.delete_group(self.group)

The setup phase makes sure the system has the required elements in order to execute the code, while the teardown releases these elements after execution. I have not yet attempted writing my own test cases as I am still experimenting with the default ones, but even if I never get around to writing my own I am enjoying learning a new programming language and this is good practice running scripts for me.

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

CS401 – Sick

This post is a couple days late because, unfortunately, I’ve been sick. In any case, the documentation is starting to come together, so we should have something useful by the end of the semester. I’ve still been waiting to here about what format the eucalyptus wiki will eventually be, so for the time being we are just keeping everything in plaintext format. Because of the fact that I was sick, I wasn’t able to do a much work as I wanted to, so I am not sure now how many images I’ll be able to produce. Hopefully when we submit our documentation to the eucalyptus project, someone will be able to continue where we leave off.

From the blog blabbecs401 » CS401 by blabbecs401 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.

4/9

Over the past week I have been working further to familiarizing myself with using Eutester. It is actually becoming much more difficult then it had seemed it would be. Whenever I attempt to configure EuTester it is throwing multiple errors regarding BlockDeviceType, and I cannot seem to find an answer to this problem. It could be a specific folder that the different elements EuTester requires are placed in. So I am going to follow some fellow classmates advice and attempt to use the method from our departmental wiki page by running a virtual environment instance of EuTester.

Image

 

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

CS401 – Writing Pages

Now I have been writing the wiki pages for individual components of the cloud.  I haven’t actually put them on the wiki yet, I want to flesh them out a bit more first. As I did my research, I realized that there’s a lot I’d like to write about in the wiki, but I am not sure if I will have time to be able to put all of it in before the semester is over. I’ll work on writing what I think are the most important parts, though.

From the blog blabbecs401 » CS401 by blabbecs401 and used with permission of the author. All other rights reserved by the author.

Installing and Configuring EuTester

Last week I was attempting to install EuTester and finding out the hard way that it requires many pre installed elements in order to run correctly. I finally installed both boto and paramiko and I am receiving a few errors when I attempt to configure EuTester by following the blog posts from Vic Iglesias. This is probably due to the fact that I am quite a novice user of the command line and running scripts it is difficult at times for me to understand. Perhaps we could help them with EuTester documentation for less experienced users.

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

CS401 – Continuing Progress

Getting pretty close to being able to write the bulk of the documentation for the overview of the eucalyptus cloud now. Comparing the Eucalyptus user/admin/installing guides to Amazon’s EC2 documentation is helping a lot to close some gaps in information.

 

I also started working on some images that will help with the documentation. One of them is just a picture to illustrate the general architecture, which isn’t a big deal because such images do exist already. The other is a template that can be used for illustrating how communications with and inside the cloud happen, which I think will be a nice thing to have.

From the blog blabbecs401 » CS401 by blabbecs401 and used with permission of the author. All other rights reserved by the author.

Learning Eutester

So since euca2ools did not have enough work for me to continue at it for the rest of the semester, I decided I ll simply jump on our main project the Eutester project. It has been a good day so far, most things went well I heard some people had problems with version mismatches so I downloaded and installed everything from source code their most up-to-date versions of “all the things” (boto/m2crypto/paramiko/eutester). Reading through the wiki that the eutester group of guys has set up on cs.worcester.edu, and following  some links to blogg posts from the developers, I managed to run some tests on our newly installed Eucalyptus 3 cloud which is still not able to keep a VM instance running.

>>> eucaops.get_emi()
Image:emi-238B37D9
>>> emi = eucaops.get_emi()
>>> reservations = eucaops.run_instance(emi)
Attempting to run instance-store image Image:emi-238B37D9 in group default
Beginning poll loop for the 1 found in Reservation:r-860340D3
Beginning poll loop for instance Instance:i-0696428B to go to running
Instance(i-0696428B) State(pending), sleeping 10s
Instance(i-0696428B) State(pending), sleeping 10s
Instance(i-0696428B) State(pending), sleeping 10s
Instance(i-0696428B) State(pending), sleeping 10s
Instance(i-0696428B) State(pending), sleeping 10s
Instance(i-0696428B) State(terminated) Poll(5) time elapsed (51)
[CRITICAL]: [TEST_REPORT] FAILED: Instance:i-0696428B did not enter the proper state and was left in terminated

 

After some looking around found out about the existence of nc.log file, and here is the portion of the fail runs:

[EUCAFATAL] Failed to connect to qemu:///system
[i-16F93EC9] could not contact the hypervisor, abandoning the instance
[i-16F93EC9] state change for instance: Staging -> Shutoff (Pending)
doDescribeResource: cores=1/2 mem=1604/1732 disk=11/13 iqn=iqn.1994-05.com.redhat:262aa1ddbe2
[i-16F93EC9] Pending pub=0.0.0.0 priv=0.0.0.0 mac=d0:0d:16:F9:3E:C9 vlan=-24 net=-1 plat=linux vols=
[EUCAFATAL ] Failed to connect to qemu:///system
[i-16F93EC9] cleaning up state for instance
[i-16F93EC9] stopping the network (vlan=-24)
[EUCAWARN  ] vnetStopNetworkManaged(): supplied vlan '-24' is out of range (0 - 4096), nothing to do
[i-16F93EC9] state change for instance: Shutoff -> Teardown (Teardown)
[EUCAFATAL ] Failed to connect to qemu:///system

After trying to work my way through an old bug report and fix on the above problem, I decided I should check if Hardware Virtualization, which turned out it was the right idea, because in this case it is turned off in the BIOS.

From the blog Live and Code » WSU CS by dhimitraq and used with permission of the author. All other rights reserved by the author.

Our Eucalyptus Cluster

It is finally getting there but still with struggles, right now for example while I am writing this I wish I could instead be connecting to our own cluster and uploading images but port 8773 still seams to be closed when trying to look in from the outside, so I can’t connect to try and work on an instance. While earlier today Long was able to upload kernel images to the server it looks like there is a problem when trying to actually start up an instance on the server which most likely proves right our fears of hardware support for hypervisor being turned off on the BIOS. One might think “big deal” just turn it on; however these are stoke dell machines we are using the BIOS options are basic at best, so we will most-likely have to install things from scratch trying to install an other BIOS on the mother board and finally unlock the hardware support.

And finally we have our definite proof that kvm support is disabled on the BIOS, and here goes an other week without having a working cloud.

From the blog Live and Code » WSU CS by dhimitraq and used with permission of the author. All other rights reserved by the author.