The following is the testing procedure that needs to be followed when testing Apache Stratos incubating Release Candidates (RC). 

Step 1 - Download the release candidate

  1. Locate the email on Apache Stratos voting that contains all the links to the candidate files.
  2. Create a temporary directory.

    mkdir /tmp/stratos/dist
     
  3. Navigate to the created directory.

    cd /tmp/stratos/dist

     

  4. Use Wget to download the following files. If you do not have Wget installed, you can use curl -O to carry out the same action.

    The VERSION and CANDIDATE will change based on the releases.
    For example:
    https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/3.0.0-incubating-rc4/apache-stratos-3.0.0-incubating-source-release.zip

    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-VERSION-incubating-source-release.zip
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-VERSION-incubating-source-release.zip.asc
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-VERSION-incubating-source-release.zip.md5
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-VERSION-incubating-source-release.zip.sha1
    
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-agent-VERSION-incubating.zip
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-agent-VERSION-incubating.zip.asc
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-agent-VERSION-incubating.zip.md5
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-agent-VERSION-incubating.zip.sha1
    
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-elb-VERSION-incubating.zip
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-elb-VERSION-incubating.zip.asc
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-elb-VERSION-incubating.zip.md5
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-elb-VERSION-incubating.zip.sha1
    
    
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-cc-VERSION-incubating.zip
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-cc-VERSION-incubating.zip.asc
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-cc-VERSION-incubating.zip.md5
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-cc-VERSION-incubating.zip.sha1
    
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-sc-VERSION-incubating.zip
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-sc-VERSION-incubating.zip.asc
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-sc-VERSION-incubating.zip.md5
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-sc-VERSION-incubating.zip.sha1
    
    
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-cli-VERSION-incubating.zip
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-cli-VERSION-incubating.zip.asc
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-cli-VERSION-incubating.zip.md5
    wget  https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/CANDIDATE/apache-stratos-cli-VERSION-incubating.zip.sha1

Step 2 - Verify the candidate

The key that is used to sign the release is in the KEYS file, which is in the following location: https://dist.apache.org/repos/dist/dev/incubator/stratos/releases/3.0.0-incubating-rc1/KEYS

  1. Import the keys into your local keychain. This can be done using either one of the following methods:
    Use the KEY file to carry out this task manually or import the keys from your public server.

    gpg --recv-keys 44BBC719
  2. Verify the release signature.
    • Verify the release signature for the source packs as follows:

      gpg --verify apache-stratos-VERSION-incubating-source-release.zip.asc
    • Verify the release signature for the binary pack as follows:

      gpg --verify apache-stratos-PRODUCT-VERSION-incubating.zip.asc

      PRODUCT can be sc, cc, elb, cli, or agent.
      Check for the following:

      • "Good signature from" message.
      • The release manager's name, email, and key.
        If you have any concerns regarding the latter, please highlight it to us on the mailing list.
  3. Verify the MD5 checksum of the release.
    • Verify the MD5 checksum of the release for the source packs as follows:

      md5sum --check apache-stratos-VERSION-incubating-source-release.zip.md5
    • Verify the MD5 checksum of the release for binary packs as follows:

      md5sum --check apache-stratos-PRODUCT-VERSION-incubating.zip.asc

      PRODUCT can be sc, cc, elb, cli, or agent.
      Check for an "OK" message.

  4. Verify the SHA checksum of the release.
    • Verify the SHA checksum of the release for source packs as follows:

      sha1sum --check  apache-stratos-VERSION-incubating-source-release.zip.sha1
    • Verify the SHA checksum of the release for binary packs as follows:

      sha1sum --check apache-stratos-PRODUCT-VERSION-incubating.zip.sha1

      PRODUCT can be sc, cc, elb, cli, or agent.
      Check for an "OK" message.

If you are in an environment to run a bash script, use the following script to test the latter mentioned 3 steps (i.e., asc, md5sum and, sha1sum).

#!/bin/sh
#script for verifying release(asc, md5sum and sha1sum)

md5=".md5"
sha1=".sha1"
asc=".asc"

for f0 in  *.zip
 do
  echo $f0
  f2=$f0$md5
  md5sum -c $f2
  f3=$f0$sha1
  sha1sum -c $f3
  f4=$f0$asc
  gpg --verify $f4 $f0;
 done

Step 3 - Build Apache Stratos from source

  1. Check out the Git clone into a preferred directory.

    git clone https://git-wip-us.apache.org/repos/asf/incubator-stratos.git
    git checkout -b VERSION-incubating-rcRC_VERSION VERSION-incubating-rcRC_VERSION

    The VERSION and RC_VERSION will change based on the release.
    For example:

    git checkout -b 3.0.0-incubating-rc2 3.0.0-incubating-rc2
  2. Navigate to Apache Stratos root directory.

    cd incubator-stratos
  3. Build the source using Maven.

    mvn clean install

    After building the source, you will find the binary products that are packed as ZIP files as follows:

    • Stratos Controller
      products/stratos-controller/modules/distribution/target/
    • Cloud Controller
      products/cloud-controller/modules/distribution/target/
    • Stratos Agent
      products/stratos-agent/modules/distribution/target/
    • ELB
      products/elb/modules/distribution/target/
    • CLI Tool
      products/stratos-cli/distribution/target/

Step 4 - Carry out a smoke test

You can start the server and carry out a smoke test without configurations on your Apache Stratos binary packs.
The following instructions applies for ELB, CC, SC and Stratos Agent packs.

  1. Unzip the ZIP file:

    unzip apache-stratos-PRODUCT-VERSION-incubating.zip
  2. Navigate to the apache-stratos-PRODUCT-VERSION-incubating/bin/ directory.
  3. Start the server using one of the following commands based on your OS:
    • In Linux

      sh stratos.sh
    • In Windows

      .stratos.bat
  • No labels