From commits-return-79629-archive-asf-public=cust-asf.ponee.io@beam.apache.org Fri Jun 22 22:56:05 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 9496318067A for ; Fri, 22 Jun 2018 22:56:04 +0200 (CEST) Received: (qmail 5100 invoked by uid 500); 22 Jun 2018 20:56:03 -0000 Mailing-List: contact commits-help@beam.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@beam.apache.org Delivered-To: mailing list commits@beam.apache.org Received: (qmail 5006 invoked by uid 99); 22 Jun 2018 20:56:03 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 Jun 2018 20:56:03 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 40F1AC041C for ; Fri, 22 Jun 2018 20:56:03 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -109.501 X-Spam-Level: X-Spam-Status: No, score=-109.501 tagged_above=-999 required=6.31 tests=[ENV_AND_HDR_SPF_MATCH=-0.5, KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, USER_IN_DEF_SPF_WL=-7.5, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id UBBdBqPVsiF7 for ; Fri, 22 Jun 2018 20:56:01 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 014845F288 for ; Fri, 22 Jun 2018 20:56:01 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 77475E0D09 for ; Fri, 22 Jun 2018 20:56:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 236FE23F98 for ; Fri, 22 Jun 2018 20:56:00 +0000 (UTC) Date: Fri, 22 Jun 2018 20:56:00 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: commits@beam.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Work logged] (BEAM-4483) Update release guide with how to perform release validations MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/BEAM-4483?focusedWorklogId=114912&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-114912 ] ASF GitHub Bot logged work on BEAM-4483: ---------------------------------------- Author: ASF GitHub Bot Created on: 22/Jun/18 20:55 Start Date: 22/Jun/18 20:55 Worklog Time Spent: 10m Work Description: asfgit closed pull request #468: [BEAM-4483]Add instructions about how to perform release validations URL: https://github.com/apache/beam-site/pull/468 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/contribute/release-guide.md b/src/contribute/release-guide.md index b2abf3203..6cc8abcce 100644 --- a/src/contribute/release-guide.md +++ b/src/contribute/release-guide.md @@ -30,6 +30,7 @@ The release process consists of several steps: 1. Prepare for the release 1. Build a release candidate 1. Vote on the release candidate +1. During vote process, run validation tests 1. If necessary, fix any issues and go back to step 3. 1. Finalize the release 1. Promote the release @@ -511,7 +512,220 @@ If there are no issues, reply on the vote thread to close the voting. Then, tall There are no disapproving votes. Thanks everyone! + +### Run validation tests +All tests listed in this [spreadsheet](https://s.apache.org/beam-release-validation) + +_Note_: -Prepourl and -Pver can be found in the RC vote email sent by Release Manager. +* Java Quickstart Validation + + Direct Runner: + ``` + ./gradlew :beam-runners-direct-java:runQuickstartJavaDirect \ + -Prepourl=https://repository.apache.org/content/repositories/orgapachebeam-${KEY} \ + -Pver=${RELEASE_VERSION} + ``` + Apex Local Runner + ``` + ./gradlew :beam-runners-apex:runQuickstartJavaApex \ + -Prepourl=https://repository.apache.org/content/repositories/orgapachebeam${KEY} \ + -Pver=${RELEASE_VERSION} + ``` + Flink Local Runner + ``` + ./gradlew :beam-runners-flink_2.11:runQuickstartJavaFlinkLocal \ + -Prepourl=https://repository.apache.org/content/repositories/orgapachebeam-${KEY} \ + -Pver=${RELEASE_VERSION} + ``` + Spark Local Runner + ``` + ./gradlew :beam-runners-spark:runQuickstartJavaSpark \ + -Prepourl=https://repository.apache.org/content/repositories/orgapachebeam-${KEY} \ + -Pver=${RELEASE_VERSION} + ``` + Dataflow Runner + ``` + ./gradlew :beam-runners-google-cloud-dataflow-java:runQuickstartJavaDataflow \ + -Prepourl=https://repository.apache.org/content/repositories/orgapachebeam-${KEY} \ + -Pver= ${RELEASE_VERSION}\ + -PgcpProject=${YOUR_GCP_PROJECT} \ + -PgcsBucket=${YOUR_GCP_BUCKET} + ``` +* Java Mobile Game(UserScore, HourlyTeamScore, Leaderboard) + + Pre-request + * Create your own BigQuery dataset + ``` + bq mk --project=${YOUR_GCP_PROJECT} ${YOUR_DATASET} + ``` + * Create yout PubSub topic + ``` + gcloud alpha pubsub topics create --project=${YOUR_GCP_PROJECT} ${YOUR_PROJECT_PUBSUB_TOPIC} + ``` + * Setup your service account + + Goto IAM console in your project to create a service account as ```project owner``` + + Run + ``` + gcloud iam service-accounts keys create ${YOUR_KEY_JSON} --iam-account ${YOUR_SERVICE_ACCOUNT_NAME}@${YOUR_PROJECT_NAME} + export GOOGLE_APPLICATION_CREDENTIALS=${PATH_TO_YOUR_KEY_JSON} + ``` + Run + ``` + ./gradlew :beam-runners-google-cloud-dataflow-java:runMobileGamingJavaDataflow \ + -Prepourl=https://repository.apache.org/content/repositories/orgapachebeam-${KEY} \ + -Pver= ${RELEASE_VERSION}\ + -PgcpProject=${YOUR_GCP_PROJECT} \ + -PgcsBucket=gs://dataflow-samples/game/gaming_data1.csv \ + -PbqDataset=${YOUR_DATASET} -PpubsubTopic=${YOUR_PROJECT_PUBSUB_TOPIC} + ``` +* Python Quickstart(batch & streaming), MobileGame(UserScore, HourlyTeamScore) + + Create a new PR in apache/beam + + In comment area, type in ```Run Python ReleaseCandidate``` + +* Python Leaderboard & GameStats + * Get staging RC ```wget https://dist.apache.org/repos/dist/dev/beam/2.5.0/* ``` + * Verify the hashes + + ``` + sha512sum -c apache-beam-2.5.0-python.zip.sha512 + sha512sum -c apache-beam-2.5.0-source-release.zip.sha512 + ``` + * Build SDK + + ``` + sudo apt-get install unzip + unzip apache-beam-2.5.0-source-release.zip + python setup.py sdist + ``` + * Setup virtualenv + + ``` + pip install --upgrade pip + pip install --upgrade setuptools + pip install --upgrade virtualenv + virtualenv beam_env + . beam_env/bin/activate + ``` + * Install SDK + + ``` + pip install dist/apache-beam-2.5.0.tar.gz + pip install dist/apache-beam-2.5.0.tar.gz[gcp] + ``` + * Setup GCP + + Please repeat following steps for every following test. + + ``` + bq rm -rf --project=${YOUR_PROJECT} ${USER}_test + bq mk --project=${YOUR_PROJECT} ${USER}_test + gsutil rm -rf ${YOUR_GS_STORAGE] + gsutil mb -p ${YOUR_PROJECT} ${YOUR_GS_STORAGE} + gcloud alpha pubsub topics create --project=${YOUR_PROJECT} ${YOUR_PUBSUB_TOPIC} + ``` + Setup your service account as described in ```Java Mobile Game``` section above. + + Produce data by using java injector: + * Configure your ~/.m2/settings.xml as following: + ``` + + + + release-repo + + true + + + + Release 2.4.0 RC3 + Release 2.4.0 RC3 + https://repository.apache.org/content/repositories/orgapachebeam-1031/ + + + + + + ``` + _Note_: You can found the latest ```id```, ```name``` and ```url``` for one RC in the vote email thread sent out by Release Manager. + + * Run + ``` + mvn archetype:generate \ + -DarchetypeGroupId=org.apache.beam \ + -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \ + -DarchetypeVersion=${RELEASE_VERSION} \ + -DgroupId=org.example \ + -DartifactId=word-count-beam \ + -Dversion="0.1" \ + -Dpackage=org.apache.beam.examples \ + -DinteractiveMode=false + -DarchetypeCatalog=internal + + mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.complete.game.injector.Injector \ + -Dexec.args="${YOUR_PROJECT} ${YOUR_PUBSUB_TOPIC} none" + ``` + * Run Leaderboard with Direct Runner + ``` + python -m apache_beam.examples.complete.game.leader_board \ + --project=${YOUR_PROJECT} \ + --topic projects/${YOUR_PROJECT}/topics/${YOUR_PUBSUB_TOPIC} \ + --dataset ${USER}_test + ``` + Inspect results: + * Check whether there is any error messages in console. + * Goto your BigQuery console and check whether your ${USER}_test has leader_board_users and leader_board_teams table. + * bq head -n 10 ${USER}_test.leader_board_users + * bq head -n 10 ${USER}_test.leader_board_teams + * Run Leaderboard with Dataflow Runner + ``` + python -m apache_beam.examples.complete.game.leader_board \ + --project=${YOUR_PROJECT} \ + --topic projects/${YOUR_PROJECT}/topics/${YOUR_PUBSUB_TOPIC} \ + --dataset ${USER}_test \ + --runner DataflowRunner \ + --temp_location=${YOUR_GS_BUCKET}/temp/ \ + --sdk_location dist/* + ``` + Inspect results: + * Goto your Dataflow job console and check whether there is any error. + * Goto your BigQuery console and check whether your ${USER}_test has leader_board_users and leader_board_teams table. + * bq head -n 10 ${USER}_test.leader_board_users + * bq head -n 10 ${USER}_test.leader_board_teams + * Run GameStats with Direct Runner + ``` + python -m apache_beam.examples.complete.game.game_stats \ + --project=${YOUR_PROJECT} \ + --topic projects/${YOUR_PROJECT}/topics/${YOUR_PUBSUB_TOPIC} \ + --dataset ${USER}_test \ + --fixed_window_duration ${SOME_SMALL_DURATION} + ``` + Inspect results: + * Check whether there is any error messages in console. + * Goto your BigQuery console and check whether your ${USER}_test has game_stats_teams and game_stats_sessions table. + * bq head -n 10 ${USER}_test.game_stats_teams + * bq head -n 10 ${USER}_test.game_stats_sessions + + * Run GameStats with Dataflow Runner + ``` + python -m apache_beam.examples.complete.game.game_stats \ + --project=${YOUR_PROJECT} \ + --topic projects/${YOUR_PROJECT}/topics/${YOUR_PUBSUB_TOPIC} \ + --dataset ${USER}_test \ + --runner DataflowRunner \ + --temp_location=${YOUR_GS_BUCKET}/temp/ \ + --sdk_location dist/* \ + --fixed_window_duration ${SOME_SMALL_DURATION} + ``` + Inspect results: + * Goto your Dataflow job console and check whether there is any error. + * Goto your BigQuery console and check whether your ${USER}_test has game_stats_teams and game_stats_sessions table. + * bq head -n 10 ${USER}_test.game_stats_teams + * bq head -n 10 ${USER}_test.game_stats_sessions ### Checklist to proceed to the finalization step 1. Community votes to release the proposed candidate, with at least three approving PMC votes ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: users@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 114912) Time Spent: 3h (was: 2h 50m) > Update release guide with how to perform release validations > ------------------------------------------------------------ > > Key: BEAM-4483 > URL: https://issues.apache.org/jira/browse/BEAM-4483 > Project: Beam > Issue Type: Bug > Components: build-system > Reporter: Boyuan Zhang > Assignee: Boyuan Zhang > Priority: Major > Time Spent: 3h > Remaining Estimate: 0h > -- This message was sent by Atlassian JIRA (v7.6.3#76005)