On Tue, Apr 23, 2013 at 9:36 AM, Chip Childers <chip.child...@sungard.com> wrote: > Hi all, > > Going through the process of validating the RC's (and several validation > rounds before announcing an RC), I got tired of manually following the > steps in our release testing process [1]. > > Some of the steps do require that you manually work with the release, > however many of the up-front steps are easily scripted. I put together > a generic framework for defining and running a set of release > verification instructions yesterday, including the definition of the > CloudStack release verification steps as the example configuration [2]. > > Feel free to use it if you think it would help you (especially the RM's > that may have to re-spin an RC over and over to ensure that it's right). > > -chip > > [1] > https://cwiki.apache.org/confluence/display/CLOUDSTACK/Release+test+procedure > > [2] https://github.com/chipchilders/cloudstack-release-verification-tool
And here's an example of running it for the latest 4.1.0 VOTE: # ./verify-release.py -i instructions.conf -v 4.1.0 -c 7048baaa4417880db690cba4a620af06276dd040 RUNNING COMMAND: rm -Rf /tmp/cloudstack RUNNING COMMAND: rm -Rf ~/.m2 RUNNING COMMAND: mkdir /tmp/cloudstack RUNNING COMMAND: wget --no-check-certificate -q https://dist.apache.org/repos/dist/release/cloudstack/KEYS RUNNING COMMAND: wget --no-check-certificate -q https://dist.apache.org/repos/dist/dev/cloudstack/4.1.0/apache-cloudstack-4.1.0-src.tar.bz2 RUNNING COMMAND: wget --no-check-certificate -q https://dist.apache.org/repos/dist/dev/cloudstack/4.1.0/apache-cloudstack-4.1.0-src.tar.bz2.asc RUNNING COMMAND: wget --no-check-certificate -q https://dist.apache.org/repos/dist/dev/cloudstack/4.1.0/apache-cloudstack-4.1.0-src.tar.bz2.md5 RUNNING COMMAND: wget --no-check-certificate -q https://dist.apache.org/repos/dist/dev/cloudstack/4.1.0/apache-cloudstack-4.1.0-src.tar.bz2.sha RUNNING COMMAND: gpg --verify apache-cloudstack-4.1.0-src.tar.bz2.asc RUNNING COMMAND: gpg --print-md MD5 apache-cloudstack-4.1.0-src.tar.bz2 | diff - apache-cloudstack-4.1.0-src.tar.bz2.md5 RUNNING COMMAND: gpg --print-md SHA512 apache-cloudstack-4.1.0-src.tar.bz2 | diff - apache-cloudstack-4.1.0-src.tar.bz2.sha RUNNING COMMAND: mkdir /tmp/cloudstack/git RUNNING COMMAND: mkdir /tmp/cloudstack/tree RUNNING COMMAND: git clone -q https://git-wip-us.apache.org/repos/asf/cloudstack.git /tmp/cloudstack/git RUNNING COMMAND: git archive --prefix=/tmp/cloudstack/tree/ 7048baaa4417880db690cba4a620af06276dd040 | tar Pxf - RUNNING COMMAND: tar xvfj apache-cloudstack-4.1.0-src.tar.bz2 RUNNING COMMAND: diff -r /tmp/cloudstack/apache-cloudstack-4.1.0-src /tmp/cloudstack/tree RUNNING COMMAND: mvn --projects='org.apache.cloudstack:cloudstack' org.apache.rat:apache-rat-plugin:0.8:check RUNNING COMMAND: mvn -P developer,systemvm clean install RUNNING COMMAND: mvn -P developer -pl developer,tools/devcloud -Ddeploydb AUTOMATED TESTING RESULTS: [PASS] rm -Rf /tmp/cloudstack [PASS] rm -Rf ~/.m2 [PASS] mkdir /tmp/cloudstack [PASS] wget --no-check-certificate -q https://dist.apache.org/repos/dist/release/cloudstack/KEYS [PASS] wget --no-check-certificate -q https://dist.apache.org/repos/dist/dev/cloudstack/4.1.0/apache-cloudstack-4.1.0-src.tar.bz2 [PASS] wget --no-check-certificate -q https://dist.apache.org/repos/dist/dev/cloudstack/4.1.0/apache-cloudstack-4.1.0-src.tar.bz2.asc [PASS] wget --no-check-certificate -q https://dist.apache.org/repos/dist/dev/cloudstack/4.1.0/apache-cloudstack-4.1.0-src.tar.bz2.md5 [PASS] wget --no-check-certificate -q https://dist.apache.org/repos/dist/dev/cloudstack/4.1.0/apache-cloudstack-4.1.0-src.tar.bz2.sha [PASS] gpg --verify apache-cloudstack-4.1.0-src.tar.bz2.asc [PASS] gpg --print-md MD5 apache-cloudstack-4.1.0-src.tar.bz2 | diff - apache-cloudstack-4.1.0-src.tar.bz2.md5 [PASS] gpg --print-md SHA512 apache-cloudstack-4.1.0-src.tar.bz2 | diff - apache-cloudstack-4.1.0-src.tar.bz2.sha [PASS] mkdir /tmp/cloudstack/git [PASS] mkdir /tmp/cloudstack/tree [PASS] git clone -q https://git-wip-us.apache.org/repos/asf/cloudstack.git /tmp/cloudstack/git [PASS] git archive --prefix=/tmp/cloudstack/tree/ 7048baaa4417880db690cba4a620af06276dd040 | tar Pxf - [PASS] tar xvfj apache-cloudstack-4.1.0-src.tar.bz2 [PASS] diff -r /tmp/cloudstack/apache-cloudstack-4.1.0-src /tmp/cloudstack/tree [PASS] mvn --projects='org.apache.cloudstack:cloudstack' org.apache.rat:apache-rat-plugin:0.8:check [PASS] mvn -P developer,systemvm clean install [PASS] mvn -P developer -pl developer,tools/devcloud -Ddeploydb POST AUTOMATION STEPS: You now need to start the CloudStack management server via: mvn -pl :cloud-client-ui jetty:run Once the management server starts on your local machine, execute the following commands to bring up a basic zone using the devcloud2 VM: Deploy DevCloud (make sure mysql-connector-python is installed and that the management server is running) $ mvn -P developer -pl tools/devcloud -Ddeploysvr Or, if the above does not work, maybe you're running mvn in debug mode using some MAVEN_OPTS, try marvin: $ cd tools/devcloud; python ../marvin/marvin/deployDataCenter.py -i devcloud.cfg The above will deploy a zone with settings defined in tools/devcloud/devcloud.cfg which sets some global settings and will take some time. After this, you should restart management server and destroy any system vms which may have started for the global settings to take effect. Access web UI: http://localhost:8080/client, and login with admin/password. You can tell if the SSVM has been started by navigating to the Infrastructure page, and clicking on System VMs. There should be 2 listed, and their status needs to be displayed as "Started". Add a new instance: * In the first step of "Add instance" wizard, select template, * In step 2, select "tiny Linux" * In step 3, select "tinyOffering" * In step 4, select "No thanks" * Skip step 5 and 6. * Launch VM Test other functionality, to suite your tastes (and perhaps using non-DevCloud infrastructure).