OSDir


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DISCUSS] Release Apache Brooklyn 1.0.0-M1 [rc1]


Hi all

It's a solid +1 to me.

Here is the summary of my tests:
1. downloaded all artifacts
2. verified all signatures
3. build source with tests
4. launched Brooklyn vagrant and did sanity checks, i.e. up and running
5. launched Brooklyn (zip) and did sanity checks, i.e. up and running
6. used CLI to add locations
7. deployed the 4th quick launch template (Resilient Load-Balanced Bash Web Cluster (Brooklyn Example) in AWS and verify it was working

Item 1, 2, 3 and 4 were done automatically with the attached script.

On Wed, 12 Sep 2018 at 12:20 Richard Downer <richard@xxxxxxxxxx> wrote:
This thread is for discussions related to the release vote.

I should clarify what we are looking for in a release vote. Particularly,
we are looking for people to download,validate, and test the release.
Only if you are satisfied that the artifacts are correct and the quality is
high enough, should you make a "+1" vote. Alongside your vote you should
list
the checks that you made.

Here is a good example: http://markmail.org/message/gevsz2pdciraw6jw

The vote is not simply about "the master branch contains the features I
wanted" -
it is about making sure that *these* artifacts are *correct* (e.g. they are
not corrupted, hashes and signatures pass) and are of *sufficiently high
quality* to be stamped as an official release of The Apache Software
Foundation.

Why test the artifacts when master is looking good? Here are some reasons:

- somebody could have made a commit that broke it, since you last git pulled
- the release branch could have been made at the wrong point, or
inconsistently
  between all of the submodules
- something in the release process could have broken it
- I could have made a mistake and corrupted the files
- a problem with the Apache infrastructure could mean that the release
files are
  unobtainable or corrupted

This is why the release manager needs you to download the actual release
artifacts and try them out.

The way Apache works can be a bit arcane sometimes, but it's all done with
a reason. If the vote passes then the contents of the email and its links
become "endorsed" by The Apache Software Foundation, and the Foundation will
take on legal liability for them, forever.

And of course we want the best possible experience for our users - so we
need
the actual release files to be tested manually to make sure that a mistake
does
not ruin the experience for users.

So if you can spare an hour or more to download some of the artifacts and
try
them out, then it will be *very* useful! The vote lasts for three days so
there's no need to rush to get a vote in.

Thanks!
Richard
--

Thomas Bouron
Senior Software Engineer 

Cloudsoft | Bringing Business to the Cloud


Need a hand with AWS? Get a Free Consultation.
#!/bin/bash

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Usage:
#   ./verify_brooklyn_rc.sh <release>
#
# e.g. `verify_brooklyn_rc.sh 0.10.0-rc1`

set -ex

RELEASE=$1
RELEASE_GA=$(echo $RELEASE | perl -pe 's/(.*)-rc.*/$1/');

if [ "" == "$RELEASE" ]; then
    echo "No release specified as command line argument"
    exit 1
else
    echo "Validating release ${RELEASE} (GA version ${RELEASE_GA})"
fi

if [ -e /sbin/sha1 ]; then
    SHA1SUM="/sbin/sha1 -a 256"
elif [ -e /usr/bin/shasum ]; then
    SHA1SUM="/usr/bin/shasum -a 256"
else
    SHA1SUM="/usr/bin/sha1sum -a 256"
fi

curl https://dist.apache.org/repos/dist/release/brooklyn/KEYS | gpg --import

svn co https://dist.apache.org/repos/dist/dev/brooklyn/apache-brooklyn-$RELEASE

cd apache-brooklyn-$RELEASE

for tarball in `ls *.tar.gz`; do
    # Verify sha256sum
    ACTUAL=`$SHA1SUM ${tarball} | awk '{print $1}'`
    EXPECTED=`cat ${tarball}.sha256 | awk '{print $1}'`
    [ "$ACTUAL" == "${EXPECTED}" ]
    # verify signature
    gpg --verify ${tarball}.asc ${tarball};
    # Untar
    tar -xzf ${tarball};
done

echo "Build from sources ..."
srcdir=apache-brooklyn-${RELEASE_GA}-src
if [ ! -d "${srcdir}" ]; then
    echo "No src dir matching ${srcdir}"
    exit 1
fi
pushd ${srcdir};
#mvn clean install;
popd

echo "Testing vagrant ..."
vagrantdir=apache-brooklyn-${RELEASE_GA}-vagrant
if [ ! -d "${vagrantdir}" ]; then
    echo "No vagrant dir matching ${vagrantdir}"
    exit 1
fi
pushd ${vagrantdir};
vagrant up
curl http://localhost:8081/v1/server/healthy | grep true
vagrant destroy -f
popd