Monthly Archives: April 2012

Last week of class

This final week – before the last class – I have been working on my part of our groups presentation on GitHub/EUTester Documentation and the ethical analysis of the Eucalyptus project Dr. Wurst gave us. Our group has made significant progress in documenting EUTester, and the majority of the python scripts now have headers that document what that script does! Having to go through the code has been a good way to force me to learn python, which I have had on my to-do list for a while now, and has shown me the usefulness of the language.


Changing Origin

While sitting here waiting for my iOS app to compile, I decided I would get all of the changes people had been making to our repository for EUTester. When I went to run the shell script that I have been using to get and merge changes, it failed to pull from origin giving the error “Repository does not exist”. After reading the emails Dr.Wurst sent out today I realized that he had moved the fork over to CS-Worcester/eutester instead of kwurst/eutester. I thought I would post the way to fix this problem with pushing to the repository in case anyone else gets this issue.

1) Open a terminal window and navigate to the eutester folder.

2) vi .git/config

3) Press the i key (this is for insert if you’ve never used vi before)

4) Under [remote “origin”] there should be a url = SOME URL (most likely ssh://

5) Chage the URL to ssh://

6) Press ESC key (this is to get out of insert mode in vi)

7) Type : x (this saves and closes the file)

8) You should now be able to pull from and push to the origin again.

Continued Documentation & SSH Key Problems

I have pretty much finished documenting the scripts in the testcases directory for EUTester. My next directory that I decided to move to was the Eucaops directory. I was able to go through the scripts in the directory and comment what they do in the headers, but for some reason I now get an error when trying to push my changes to the repository. After some googling, I figured out that GitHub had suspended my SSH key because they believed there was some weird behavior tied to it. I then had to create a new SSH key and tie it to my GitHub account. As of this point, GitHub still does not allow me to push changes giving me the error “Permission Denied (Public Key)”.

The GitHub help website ( suggests testing your connection with: $ ssh -T (which does work for me). I am able to connect to GitHub and have it recognize me and my rsa key, but I still get the error when trying to push to our fork of eutester. I am going to continue to look into this issue over the weekend so that we can get the changes merged.


Shell Script for EUTester pull/merge

Since Trevor wanted the shell script for pulling and merging the changes from Vic’s repo and our repo, it’s probably a good idea to post it online for others who want it. Make sure that you DO NOT add the shell script to the eutester directory (we don’t want it added to the codebase), but rather in a directory above it. Put the following code in

cd eutester    //Change this to the location of the eutester directory relative to the script you create

echo Getting changes from upstream…
git fetch upstream

echo Merging changes with master repo…
git merge upstream/master

echo Get any changes from origin…
git fetch origin

echo Merging changes with master repo…
git merge origin/master

echo DONE!


To invoke the script, just type sh and it will pull and merge any of the changes.

Repository Commits

I have been continuing working on documenting the eutester/testcases directory of EUTester. More people seemed to have jumped on the documentation train this class so that should help speed up the process. We decided that we are going to track what people are working on by using the issue tracker on GitHub ( Each directory/file that a person is working on will be considered an issue assigned to whoever is working on it. Even though people should be pulling & merging the repository frequently, this will help us not duplicate any work and work efficiently. There is still a lot of code to document, but we are definitely making progress.


Going Through Code

This week I started the process of documenting EUTester’s code (specifically the eutester/testcases/ folder). This was a learning experience for me since I wasn’t always one hundred percent sure what some of the eucalyptus calls were. Before I started I pulled and merged all of the changes from both vic’s repository and our fork and was happy to see that some comments had been added already to the code which made it a little easier to understand. I plan to continue chugging through the code and documenting as much as I can for the rest of the week.

This was really my first time using git in a useful manner, so I finally got to see how helpful it could actually be. I also decided to write a shell script for pulling and merging all changes for me before I start documenting and before pushing changes back. This makes the process much more streamlined – narrowing down down the process to one command.