For an apache project, a VOTE on a release candidate is a very important process. By voting (particularly for PPMC members and committers), you are saying to the world that "yes, I have download, verified and tested using the project's procedure for testing". Your +1, 0 or -1 vote is an indication of the success of the steps listed.
The more time that each individual spends reviewing the artifacts, the higher confidence we can have in both the release itself and our ability to pass an IPMC vote later on. Remember, we, as a podling, are going to be held to a higher standard for our releases! The IPMC (and our mentors) are looking for us to show that we understand what it means to have a high quality release.
...
Note |
---|
Unless specified specifically, instruction steps should be assumed to be run from your local machine, not from within the DevCloud VM. The DevCloud VM is the target runtime environment of the tests, but the instructions will push the code to that VM at the right time. |
Note |
---|
You can follow the following screencast to watch the entire procedure. |
Install the devcloud VM image.
...
Warning |
---|
These pre-requisite development tools are not part of the release validation itself. The instructions are being provided for those testers that may not normally have these tools installed on their test system, and want to perform the expected tests. The pre-requisites listed may be not be 100% complete (for example, we assume you have git, tar, etc... installed). If you run into any issues, please ask on the cloudstack-dev@incubatordev@cloudstack.apache.org mailing list. |
...
Note |
---|
Since we have graduated from the incubator, the git remote URL thats embedded in the original DevCloud image is incorrect. Before following the step below, ssh into the devcloud image (run "ssh root@localhost -p 2222" and password is "password") and edit /opt/cloudstack/incubator-cloudstack/.git/config to modify the URL from https://git-wip-us.apache.org/repos/asf/*incubator-*cloudstack.git (https://git-wip-us.apache.org/repos/asf/*incubator\-*cloudstack.git) to https://git-wip-us.apache.org/repos/asf/cloudstack.git Once that's done, exit from your ssh session back to your local system. |
Code Block |
---|
rm -Rf /tmp/cloudstack
rm -Rf ~/. |
Code Block |
rm -Rf /tmp/cloudstack
rm -Rf ~/.m2
ssh root@localhost -p 2222 'cd /opt/cloudstack/; rm -rf apache-tomcat-6.0.32; unzip apache-tomcat-6.0.32.zip; cd incubator-cloudstack; git clean -f; git reset --hard; git pull --rebase; git clean -f; git checkout origin/4.0 -b 4.0 -f ' |
...
Code Block |
---|
mkdir /tmp/cloudstack; cd /tmp/cloudstack wget https://dist.apache.org/repos/dist/release/incubator/cloudstack/KEYS wget httpshttp://distpeople.apache.org/~jzb/reposcloudstack/dist/dev/incubator/cloudstack/candidates/4.0.1-incubatingreleases/VERSION/apache-cloudstack-4.0.1-incubatingVERSION-src.tar.bz2 wget httpshttp://distpeople.apache.org/~jzb/reposcloudstack/dist/dev/incubator/cloudstack/candidates/4.0.1-incubatingreleases/VERSION/apache-cloudstack-4.0.1-incubatingVERSION-src.tar.bz2.asc wget httpshttp://distpeople.apache.org/~jzb/reposcloudstack/dist/dev/incubator/cloudstack/candidates/4.0.1-incubatingreleases/VERSION/apache-cloudstack-4.0.1-incubatingVERSION-src.tar.bz2.md5 wget httpshttp://distpeople.apache.org/~jzb/reposcloudstack/dist/dev/incubator/cloudstack/candidates/4.0.1-incubatingreleases/VERSION/apache-cloudstack-4.0.1-incubatingVERSION-src.tar.bz2.sha |
Replace VERSION
with the version you are testing.
Install gpg (if needed): sudo apt-get install gpg
...
Code Block |
---|
gpg --verify apache-cloudstack-4.0.1-incubating-cloudstack-*-src.tar.bz2.asc |
This command should return "Good Signature".
Code Block |
---|
gpg --print-md MD5 apache-cloudstack-4.0.1-incubating*-src.tar.bz2 | diff - apache-cloudstack-4.0.1-incubating*-src.tar.bz2.md5 gpg --print-md SHA512 apache-cloudstack-4.0.1-incubating*-src.tar.bz2 | diff - apache-cloudstack-4.0.1-incubating*-src.tar.bz2.sha |
Each of these commands should return no output. If there is any output from them, then there is a difference between the hash you generated locally and the hash that has been pulled from the server.
...
Code Block |
---|
git clone https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git /tmp/cloudstack/git
cd /tmp/cloudstack/git
git archive --prefix=/tmp/cloudstack/tree/ <commit-hash> | tar Pxf -
|
...
Code Block |
---|
cd /tmp/cloudstack tar xvfj apache-cloudstack-4.0.1-incubating*-src.tar.bz2 |
Compare the contents of the release artifact with the contents pulled from the repo:
Code Block |
---|
diff -r /tmp/cloudstack/apache-cloudstack-4.0.1-incubating*-src /tmp/cloudstack/tree |
...
Code Block |
---|
cd /tmp/cloudstack/apache-cloudstack-4.0.1-incubating*-src mvn --projects='org.apache.cloudstack:cloudstack' org.apache.rat:apache-rat-plugin:0.8:check |
...