The end of the semester has approached rapidly and is finally here. Although we do not have a completely working cluster on campus we have spent a lot of time working with EuTester using the ECC cloud and getting familiar with how it works. I personally only got as far as running test scripts in EuTester, the learning curve was quite steep and I had never used so many command line prompts prior to this class. The documentation for setting up and installing EuTester is decent for a more experienced user, but for someone who had never done work like this i, it was a little difficult to configure with the documentation given. I think that it would be a great idea for us to contribute some additional documentation to what already exists for EuTester, especially documentation for a less experienced user.

We have also been given two assignments which I am currently working on for our last day of class/final. One is an ethical analysis of the Eucalyptus project and the other a final presentation for each groups experiences with the project. My groups focus was EuTester issues and bugs, however most of our group only just started to run test scripts by the end of the semester because we all experienced many issues configuring EuTester. So we were unable to dive into the issues/bugs that were listed on the github site. Our presentation will probably focus more on the installation and configuration of EuTester and the troubles we experienced setting it up and what we learned.

I really enjoyed the opportunity to do something like this with our class and wished we could have gotten closer to actually have a fully working cluster on campus. If only the class lasted over multiple semesters or had a lab attached to it we may have gotten further. The project itself is very time consuming and complicated so I am happy with how far we got on just 1 semester. Hopefully following classes can pick up where we left off and continue to work on the same project.

4/30

Posted: April 30, 2012 in Uncategorized
Tags: ,

I figured that since we are nearing the end of the semester I would post an updated list of current bugs/issues located on the EuTester github page. There are currently quite a bit more issues since the last time I posted the list and I think that some of them have come from our class’s extensive use of EuTester.

  • Update eutester/__init__.py
  • Feature Request: Allow for NC to be an optional value in config_file
  • Need way for machine access when keys have been previously synced
  • Restructure Eucaops into multiple modules
  • Create a Test Directory WikiAdmin
  • Need to investigate a tool that represents test results visually
  • Define licensing
  • Create a standard set of debug tools available when tests fail
  • Goals, purpose, and guidelines for contribution

My group is going to continue trying to run test scripts and familiarize ourselves with EuTester and hopefully try and look into one of these issues. We have posted all the information regarding issues/bugs for EuTester on our departmental wiki.

4/23

Posted: April 23, 2012 in Uncategorized
Tags: ,

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.

4/16

Posted: April 16, 2012 in Uncategorized
Tags: ,

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.

4/9

Posted: April 9, 2012 in Uncategorized
Tags: ,

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

 

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.

EuTester Issue Tracker

Posted: March 27, 2012 in Uncategorized
Tags: ,

Following spring break we discussed the current status of our cluster which appears to be really close to complete. We are now nearing the latter half of the semester and it is time to switch into gear. While I have been attempting to install EuTester and connect to the ECC cloud I have also been checking the EuTester Issue Tracker on occassion to see if there are any new updates.

As of right now there are 5 listed issues and or requests:

  • Define Licensing:

    Need to figure out what license we’re offering Eutester under. I presume GPLv3 to be compatible with the Eucalyptus product itself, but we need to be explicit. Also need to make it clear that it’s copyright Eucalyptus.

  • Create a standard set of debug tools available when tests fail:

    When a eutester test fails, we need to provide a standard set of debugging tools back to the user. This debug info should include as much as is necessary to find the possible cause of the behavior. Currently, the Eutester class provides a very basic framework for this, but we’d like to expand it.

  • Create a standardized Eutester log/output format:

    We need to standardize the way we present info about a running test to a user – essentially, output formatting.

  • Testing capability for Jenkins + EC2 Plugin:

    Would like to look at test cases for Jenkins + EC2 plugin and whether this is possible to script. Jenkins has a CLI client but whether this works with EC2 Plugin is another thing: https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI

  • Goals, purpose, and guidelines for contributionL

    Need to produce better documentation:

    1) Readme file should be bolsterd
    2) Add more sample scripts
    3) Ensure sane defaults (ie requests go to ECC by default)

Hopefully after some more research I will have a working EuTester build and can connect to a cloud in order to further research some of these issues. I am also going to be looking into the Python language with a little more detail, I am not very familiar with Python and learning it will better help me understand how to configure and run the scripts for each test case. There is an IRC meeting next week that discussesĀ the basicsĀ of EuTester hosted by Vic Iglesias who is very involved in EuTester. I would love to attend to learn more because I am not very familiar with command line installs and configuration. Hopefully that classroom will give me a better understanding on how and what these arguments are doing rather than just typing text and hoping for the best. As of now I have gotten both boto and paramiko fully installed and have downloaded all of the most recent EuTester tools, I will update after I figure out how to perform the eucaops import in order to actually start the process. I have a feeling it has to do with where the files are located and the folder permissions, but I have not found a lot of documentation on setting these up correctly.