Monday, December 30, 2013

Release Testing: Verifying that the stage files are signed and verifiable

When testing a release candidate, it is necessary to test whether the stage files are signed and those are verifiable ( md5, sha and asc verification). This can be a tedious task if not automated.

This guide uses Apache Airavata project to demonstrate the examples. 


  • Download all the files(.zip, .tar.gz, .asc, .sha, .md5..etc) you need to test and store them all in that directory you created. ex: All the files from the Apache Airavata 0.11-RC3 (https://dist.apache.org/repos/dist/dev/airavata/0.11/RC3/)
  • SHA signing validation Create a bash script in the same folder and copy the code below
     for file in `find . -type f -not -name '*.asc' -not -name '*.md5' -not -name '*.sh' -not -name '*.sha'`
     do
           gpg --print-md SHA512 ${file} | diff - "${file}"".sha" | echo "testing : $file"".sha" 
     done 
    
  • This code will verify the SHA signings.
  • MD5 validation 
     gpg --print-md md5 ${file} | diff - "${file}"".md5" | echo "testing : $file"".md5" 
  • ASC validation 
    gpg --verify ${file} 
  • You can have all these validations in one bash script if required. 

    Saturday, December 7, 2013

    Apache Airavata: How to start contributing


    Since Apache Airavata is a matured project, you need to understand what is happening underneath before diving in to contributing ( this guide is for a beginner ).

    I suggest the following steps to get a better understanding of what is happening.

    • Subscribe to the mailing lists ( the dev and the user lists)
    • Download Apache Airavata binaries ( or you can build from the source).
      Then you should try doing the 5 & 10 minute tutorials to get a better understanding of what Airavata does.
    • Then read the Airavata Wiki.
      Wiki is documented by the contributors of Airavata. It's the one place where you can get the most information on Apache Airavata.
      • First I would recommend you to read about the components of Airavata
        This takes apart Airavata and describes what each part does individually as components. Airavata is the integration of all these components.
      • Next the Airavata Developer guide is essential as it provides information particularly directed towards developers. There you can get a slight understanding of how the components are integrated.
    • The following research papers provide a deep insight in to the Airavata core
      • Yi Huang, Aleksander Slominski, Chathura Herath, and
        Dennis Ganno, "WS-Messenger: A Web Services-based Messaging System for Service-Oriented Grid Computing"


        More related research Papers are listed here