Week 14: Last week of the class

This is the last blog for the class CS 401.  This semester has being a good one because of what I have done and of what I have learned.  I have learned a lot from research about FOSS Field Trip 1 and FOSS Field Trip 2. I was not familiar with Open Source projects but in this class I did learn almost everything about Open Source Projects. I did learn what are the benefits of working in Open Source Projects which some of the benefits are getting experience, getting reference, the ownership of the my work. Also, I did learn about the tools that are used to work on Open Source Projects. Some of the tools I did learn are Chatzilla, which it is used between the developers to give or get help from around the world. Other great tool for Open Source Project is Git, which it helps the developers to check the latest version of the software they are working.  Also I did learn a lot from the work I did with my group or individually on a big project as Eucalyptus. I did a lot of research and reading the documentation. Also I did try to install the software in my OS. After I did work with my group on EuTester bug tracker. It was a lot of work because in order run EuTesrter we were supposed to install it. But in this part my group mates and me spend so much time to installed. Finally we did install it but not time has left to test it. From this work I did learn a lot, I did learn how to solve installation a problem, and to be more patient   with this kind of issues. I did try little bit contribute on documenting the code which it was challenging to me because I do not know the python language. All this experience made me feel very well and active. This class made me to feel more comfortable when I start the new job.

I am living this class very enthusiastic view. I am thinking to find a other Open Source Project and to be their contributor. I like to contribute because of many thinks, as I like to contribute in our society. I like to get more experience on software development.

Week 13: Finally I did install EuTester

After so many unsuccessful tries to install EuTester on same operating system but on two different kind versions “Ubuntu 10.04” and “Ubuntu 11.10”. At one point I did think that might be some kind of issue from an update of the EuTester code. I did think this way because some of my classmates had EuTester installed at their OS before me. I did start to read Eucalyptus forums to find out why I could not install EuTester. I did tried different way to install EuTester but still I had problems. I tried to install EuTester on different versions of Ubuntu but still I didn’t have any luck. I did have problems while I was installing M2Crypto; it was giving to me error:


I did install the Paramiko but still I was getting errors. I started to search at Eucalyptus forums but I couldn’t find any thing useful. I did try an other way by cloning the EuTester to the home folder after I did install python-paramiko when I did try to run the command “python setup.py build” I did get this kind of error:

[eduart@eduart]$ python setup.py build

python: can’t open file ‘setup.py’: [Errno 2] No such file or directory


After I did try many times to fix this problem, I did research on Internet to figure out what was the issue. From my research I came to conclusion that I had package dependency problems. While I was doing the research I had the chance to find the blog writing from ‘viglesiasceread’ at our class wiki. At this blog I did find information that where very helpful to me. Following all the instructions in blog helped me to install EuTester very easy and smoothly. Now the only thing is left to do it is to run for the test the EuTester.

From all of this I did learn a lot. One of things I did learn is that first to solve e problem while I am installing software I should look for the software dependency. I did learn that if I work hard by doing research and testing eventually I will find the way to solve the problems not mater how hard and complicate they can be.

Week 12: Watching the EuTester bug tracker

This week I thought to get deeper on EuTester bug tracker. There have being some new issues added to the EuTester bug tracker, and I did spend some times looking at all the issues that are there. In software industry it is very important to learn to understand how bug tracer issues works because it is very important tool for a program developer.  According to the EuTester bug tracker about one of the issues that is opened since three days ago, it is about adding changes, which are requested from Code Review Session in EuTester meeting. Some of the requesters are:

  • Get rid of self.options; use options throughout script, and to get rid of while loop grabbing creds
  • Git rid of if statements for checking config_file or credpath; eutester takes care of that, and get logs if only debug flag is passed
  • Add everything that i make a global variable to self, and keep options for a cloud admin, not cloud user
  • Make sure command runs on the CC, and get rid of line 101 and 102 (removed None assignments)
  • Don’t wait on instance to run; get rid of line 119, and get rid of grabbing uname -a
  • Maintain list of reservations, and only print result if there is an error – get rid of else; use tester.critical instead of print

From this issue looks like the EuTester will be having some big changes on it code and on it output of the results. From my experience is that if they do try to change the code to make the software to performer well the chances are the software may preform better but there will be new bugs. This will be reflected at EuTester bug tracker.

According to EuTester bug tracker there is one new issue that it is about run_instance that should still provide a euinstance regardless of reachability. This issue is very new about one day old. When run_instance is called in Eucaops it chooses to convert the boto instances to euinstances only if the instance is reachable. Instead it should always return the euinstance and just not pass keys to the Euinstance constructor which will ensure that the euinstance will not try to create an SSH connection.

From all this experience I did learn a lot. I did learn that there never would be any software without bugs. I did learn that is when we change the code there will be new issues, and because of this what it is very important for me is to understand about bugs and how to fix the bugs or the issues in real world. So to learn and have more experience it is the best for me to continue working on an Open Source Project.

Week 11: Working on Eutester documentations

This week I did something different than before. I did start to work o documentation of EuTester code. We got the access to EuTester repository thru or instructor Mr. Wurst who is our master. The way in which we work on documentations is very simple.  We will submit every change to our instructor Mr. Wurst and he will push everything together like package to Vic Iglesias who is the person in charge of EuTester project. After Vic Iglesias will be the person who will review every change and decide which change will add to EuTester code. The decision was made this way because for many good reasons for example to keep track of the people that are working documentations and the track of their changes. I did start to look at EuTester code very carefully because I do not know Python. I tried to understand as much as I could from the code by using my previews experience that I have in other programming languages. At first time I didn’t even understand a thing, but more I was looking at code more I was beginning to understand something about EuTester code.  In beginning I started to make some small changes to see how Github works. Then later I made some more changes and I did pushed to my professor. And so on I try to contribute more in EuTester documents by entering in Github and spending more time reading the code of EuTester. More and more code I am reading more it helps me to understand more, though I do not understand Python.

Working with EuTester document I felt very fortunate. I liked to work with codes. From this work I did learned many things, for example how to make codes documents for the real life work.  I did learn that how to work in codes and repositories on Github. While working on documentations at Github, I did have that feeling as if I was working on real company. I will continue to work on documents of EuTesters and at the same time I will research other repositories on Github to contribute and learn at the same time.

Week 10: Trying to run EuTester

This week I have tried to put to work EuTester. I have follow different ways how to make work the EuTester but no success toward this problem. I am trying to work with it because I need too for my work on EuTester bug tracker. I need to run a test for my self that to see how the EuTester is working so than I can understand more about bug issues the contributors are reporting. I did start to work on installation of euca2ools install with dependencies following the instructions found at blog of my classmate Dhimitraq (http://dhimitraq.wordpress.com/). Instructions are very clear and easy how to install euca2tools step by step. First I did install the newest boto, and after I did install newest M2Crypto. After installing boto and M2Crypto I did install euca2ools. It was very interesting work watching how smooth the installation when. My classmate Dhimitraq have done good job documenting the installation with so accuracy. The real problem came after when I did try to put to work the EuTester. But the problem came after when I did try to run the EuTester. When I did run the EuTester I did had this kind of error:


With the help of my teammate Michael Kenny, I did download the Paramiko. After I did install Paramiko, I did try to run again the EuTester but I did had error again. We did try together with Michael to fix this error but not any successes. After so many desperate tries with out triumph we had help from our classmate Dhimitraq. Our classmate Dhimitraq did try hard to run EuTester on my machine but we where unlucky. After so many tries Dhimitraq did give to us the access  to his account at our class cluster because the team that works on our class cluster has install all the tools for Eucalytus including Eutester.

After working so hard to run EuTester we came to conclusion that there may be a code problem on the EuTester. This problem may be new because the team that works on our class cluster had the opportunity to install on our cluster EuTester.  I do thank my classmate Dhimitraq for helping us on this issue. From this I did learn that the code not always works the same way as work in some other machines.

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 class to help with documentation. I am one of those students that I never had a chance to learn Python until this semester. I feel it will be very interesting this project because I will have the chance to learn Python better.  I did start last week to take a look the basics of the Python programming. I thing that self-study on my own will help me on this project and in the future. I after I got signup on GitHub I did send my username to my instructor Mr.Wurst too give me the access to the contribution from our class that my instructor will collect every contribution from everybody to the code documentation and he will push to the people in charge of changing things. Also this week I did try to work on EuTester bug tracker but still I did face some issues. A first issue is that knowing the Python, which is from previews week. Second issue is that I am trying to install and run the EuTester but I am having problems. I am trying to run EuTester on Ubuntu 10.04 but I cannot run it. I have tried to different ways but the same problem.  Look like I will work all next week to try to put to work EuTester. I did try to look again on the EuTester bug tracker but if I could find the same issue from differed people but I could found nothing there. This is why I decided to bring up the close issues. At EuTester bug tracker are 11 closed issues which still are important to look at them because it gives to us the history were it was EuTester and where it is now.

#1 eutester should allow the opening of multiple ssh connections

#3 inclusion of test to reproduce https://bugs.launchpad.net/eucalyptus/+bug/737335

#4 Goals, purpose, and guidelines for contribution

#6 create_ssh does not pass correct key file name argument

#7 get_emi() in eucaops selects de-registered image

#8 README.md

#11 connect to walrus should use s3_url

#13 Now using Euinstance in Eucaops

#14 Continuing integration of euinstance, removed some debug information

#15 Continue implementation of euservice class and machine class

#16 Comments from WSU CS 401

From all this work I did learn that how to connect with a master and how to edit and submit changes on GitHub. Also I did learn that the code of the EuTester my have some issues, which I don’t know because of the limitation I do have on Python language.

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 class and we did discussed what we could about our project. We did spend a lot of time as group looking at the EuTester bug tracker to learn about the bugs that were found and were reported. Something it was interesting about the bugs that were issued were not code issue most of them were not code related, most of the issues were documentation relation. We did find in EuTester bug tracker 5 open issues and 11 closed issues. Other interesting thing is that in EuTester bug tracker are not many issues 16 in total. This made us to think that small number of the issues is because the EuTester software is new. If we try to track EuTester from the Stats & Graphs we will find that the first contribution is on Oct 30, 2011 from vic.iglesias who actually is the person in charge of this project. Some of the issues that are open at EuTester bug tracker:

#2 Goals, purpose, and guidelines for contribution

#5 Testing capability for Jenkins + EC2 Plugin

#9 Create a standardized Eutester log/output format

#10 Create a standard set of debug tools available when tests fail

#12 Define licensing

From this week I did learn that there is a lot of work to about this project. One of the issues we did face, as group is that we need to learn Python that it is the only programmed language at which EuTester is writing.

Reference: https://github.com/eucalyptus/eutester/issues

Week 7: What licensing about our doc

On class this week we did had a guest from Open Source World and Eucalyptus. The guest was Mel Chua. This day we did talked about many issues. One of the issues it was hardware of our cluster. The team that is working of setting up our cluster had a big problem. The hardware that they where working was not the right hardware they could use. In class we did tried to look of all of kind of the Linux Operating Systems that which one could be very useful about installing Eucalyptus in it.  We did started to underline the options we did had like should we change the hardware or the operating system, and could our documentations be useful with the changes on hardware or operation system. In the end we did decide to use CentOS 5 and also to ask the IT department to support us with new hardware or order ne computer if it is necessary. Other issues where about Euca2ools docs where done or not, and other issues EuTester docs. About EuTester docs we did had issue like what license dose Euca use for docs for their own documentations and should we do the same way the documentations or we should choose different licensing.  Other issue we did discussed it was contributes license agreement. We did discuss all of this but we didn’t decided what kind of the licensing we could use for our documentations and for our contribution. After all this we talked about Github that we should be registered in order to get the Eutester code. I did register to Github. Also we did learned that the Eucalyptus people didn’t had the idea about our Wiki, our PiratePad(s) and our blogs so we did desired to let them know about our work we have done on this three developers tools. Later in class we did talked with Mel about different thing that we needed and for the issues we have noticed while working on this project. Mel did answered a lot of our question but there where some things which she couldn’t helped us for example why can we have access on all the previews and present documentations about the Eucalyptus and Eutester. We need these documentations to work, because based on those documentations we can save time insert repeating everything what Eucalyptus developers could have done before. I do hope that somebody from Eucalyptus could read this and understand that we are in this project to help.

Week 6: Updates on new assignments

This week mostly we did it was like little presentation from all the groups on the new assignment from week 5. My group has the EuTester bugging part. On EuTester we couldn’t find many of the information because it is new software. We can find the bug report for the EuTester on https://github.com/eucalyptus/eutester/issues. The total of the issues that are reported about EuTester on the Github are 12 in total. But not all of them are open issues. So 7 of the issues are close ones, but there still are 5 of the open issues. The last new issue was added to the open list on March 7, 2012 from Greg DeKoenigsberg it is about defending the licensing. Some of the open issues are 1- ) Creating a standard set of debug tools available when tests fail, 2- ) Creating a standardized Eutester log/output format, 3- ) Testing capability for Jenkins + EC2 Plugin, and 4- ) Goals, purpose, and guidelines for contribution which it is about the better documentation about EuTester. Other issues are the close issues and some of the closing issues are 1- ) connect to walrus should use s3_url, 2- ) README.md which is about the README fails to mention what the 5th column (REPO) in cloud.conf means, 3- ) get_emi() in eucaops selects de-registered image, 4- ) create_ssh does not pass correct key file name argument, and 3 more closed issues. This is not much information because the EuTester is not big project jet to get a lot of the contributors a round of it, but in the future it will be more information about the EuTester bug tracing system.

From this I did learn a lot about how to trace e bug for the EuTester and how to communicate with its contributors. This lesion will help me not only how to submit a bug on the EuTester project but it will help me in the future on every open source projects. It was very interesting research EuTester bug tracing project. I am watching the web page to see every day to see if any new bug is posted from the contributors.

Week 5: Evaluation on what we have done and what we will do next

In this week meeting we did discussed a lot of the things like what will be the plan for the future assignments about the class CS 401, presentation about the progress of setting up our cluster network, the way how to rate the Eucalyptus, to trying the EuTester software, and using new tool about team work.

First, thing we did had it was the discussion about what we had done as class and what we were doing next. Some of the things we have done so far are reading of the document for using Eucalyptus project, installing Eucalyptus and Euca2ools software’s on our Linux OS, signup Eucalyptus Community Cloud account, signup Eucalyptus Community account, building our internet cluster, and many more. After we went through what we have done so far our professor Dr. Karl R. Wurst started to talk about what were the next assignments for our class.

Some of the new assignments for the our class are Eucalyptus Testing which it is divided in many other assignments like  documentation on using Eucalyptus, documentation on using ECC, documentation on how to write code for the cloud, and bug tracker. Other assignments are FOSS Field Trip on Wiki, Eucalyptus install document, and Project Health Evaluation. The project health evaluation is that how to rate the Eucalyptus which we will learn for the ways and standards from “How to tell if a FLOSS project is doomed to FAIL” (http://theopensourceway.org/wiki/How_to_tell_if_a_FLOSS_project_is_doomed_to_FAIL). Also another assignment to do is that checking out EuTester which it is Automated Test Framework for Eucalyptus. We did divide in different groups and we did choice our own assignment on EuTester. My own group is EuTester bugging. The last assignment we did have is the planning for what we will do next.

While us working on all this big discussions our professor Dr. Wurst did introduced a new tool, the OpenPad and PiratePad which it is the same thing as OpenPad. This new tool it is great tool about team work. Whith this great tool everybody from the team can log in and ca write or delete from text on OpenPad at same time. We can see who team member did the change and also we can chat at same time with each other. We did work on PiratePad and OpenPad at same time we did the discussion. I like this new tool it is very helpful and for free.

From this class I did learn a lot. I did learn about how we can work as a team. Also, I did learn that time to time we should stop and to check on what we have done and on what we would do next which I believe that is the way how in the real life the companies are working.