You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by ho...@apache.org on 2018/07/03 18:44:45 UTC

[incubator-openwhisk-release] branch master updated: Update doc 0.9.0 release (#218)

This is an automated email from the ASF dual-hosted git repository.

houshengbo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-release.git


The following commit(s) were added to refs/heads/master by this push:
     new f1b544a  Update doc 0.9.0 release (#218)
f1b544a is described below

commit f1b544a867c9dc9c98aedfe0d7427ca3f15928c2
Author: Vincent <sh...@us.ibm.com>
AuthorDate: Tue Jul 3 14:44:42 2018 -0400

    Update doc 0.9.0 release (#218)
    
    * Add the instruction to unzip and extract the artifact
    
    Closes: #208
    
    * Make sure the terminal is under the correct path to run scripts
    
    Closes: #209
    
    * Remove the playbook prereq.yml
    
    Closes: #211
    
    * Remove the sign $ for convenience
    
    Closes: #210
    
    * Add instruction to set the $OPENWHISK_HOME
    
    Closes: #212 #213
    
    * Add instruction to verify the gpg integrity
    
    Closes: #207
    
    * Resolve the comments for this PR
    
    * Add the troubleshooting section
    
    Closes: #214
    
    * Add instruction to install gradle and gradle wrapper
    
    * An editing pass.
---
 releases/0.9.0-incubating/INSTALL.md | 170 +++++++++++++++++++++--------------
 tools/config.json                    |  76 +---------------
 tools/key_pub.gpg                    |   5 ++
 tools/package_source_code.sh         |   2 +-
 4 files changed, 108 insertions(+), 145 deletions(-)

diff --git a/releases/0.9.0-incubating/INSTALL.md b/releases/0.9.0-incubating/INSTALL.md
index 29ecab7..0279906 100644
--- a/releases/0.9.0-incubating/INSTALL.md
+++ b/releases/0.9.0-incubating/INSTALL.md
@@ -19,79 +19,99 @@
 
 # Download OpenWhisk
 
-The source code of OpenWhisk can be accessed by [this link](https://dist.apache.org/repos/dist/dev/incubator/openwhisk/apache-openwhisk-0.9.0-incubating-rc1/).
-You are currently releasing the version 0.9.0, and the artifact of OpenWhisk source code is called "openwhisk-0.9.0-incubating-sources.tar.gz".
+The OpenWhisk source code may be downloaded from https://dist.apache.org/repos/dist/dev/incubator/openwhisk/apache-openwhisk-0.9.0-incubating-rc2. The current release is version 0.9.0, and the artifact for this OpenWhisk source code release is called `"openwhisk-0.9.0-incubating-sources.tar.gz"`.
 
+```
+# download from your terminal with wget
+wget https://dist.apache.org/repos/dist/dev/incubator/openwhisk/apache-openwhisk-0.9.0-incubating-rc2/openwhisk-0.9.0-incubating-sources.tar.gz
+```
 
-# Verify the Apache license header of OpenWhisk
+# Verify the SHA-512 checksums, and signature
 
-OpenWhisk uses a tool called openwhisk-utilities to check the license header of each source code file. Please check the
-tutorial [here](https://github.com/apache/incubator-openwhisk-utilities) about how to run it on the directory level.
+You need to install `gpg` on your local machine.
 
+- For Ubuntu user, run the following command:
+  ```
+  sudo apt-get install gnupg
+  ```
 
-# Verify the SHA-512 checksums, and signature
+- For Mac user, run the following command:
+  ```
+  brew install gpg
+  ```
 
-You need to install gpg on your local machine.
+Before using `gpg` to verify the OpenWhisk release integrity, you should [verify `gpg`'s own integrity](https://gnupg.org/download/integrity_check.html).
 
-For Ubuntu user, run the following command:
+The public key used to verify the OpenWhisk checksums can be found [here](https://dist.apache.org/repos/dist/dev/incubator/openwhisk/KEYS). Download the key and import it on your local machine.
 
 ```
-$ sudo apt-get install gnupg
+gpg --import <key_file>
 ```
 
-For Mac user, run the following command:
-
-```
-$ brew install gpg
-```
+The parameter <key_file> is the file, where the public key is saved.
 
-The public key used to verify the checksums can be found [here](https://dist.apache.org/repos/dist/dev/incubator/openwhisk/KEYS). After
-download it, you need to import it on your local machine. 
+To generate the SHA512 checksum:
 
 ```
-$ gpg --import <key_file>
+gpg --print-md SHA512 <artifact>
 ```
 
-The parameter <key_file> is the file, where the public key is saved.
+The parameter <artifact> is the file of the artifact `"openwhisk-0.9.0-incubating-sources.tar.gz"`. Compare the content with the [SHA512 file](https://dist.apache.org/repos/dist/dev/incubator/openwhisk/apache-openwhisk-0.9.0-incubating-rc2/openwhisk-0.9.0-incubating-sources.tar.gz.sha512).
 
-To generate the SHA512 checksum:
+Download the [signature](https://dist.apache.org/repos/dist/dev/incubator/openwhisk/apache-openwhisk-0.9.0-incubating-rc2/openwhisk-0.9.0-incubating-sources.tar.gz.asc), and verify it with the command:
 
 ```
-$ gpg --print-md SHA512 <artifact>
+gpg --verify openwhisk-0.9.0-incubating-sources.tar.gz.asc openwhisk-0.9.0-incubating-sources.tar.gz
 ```
 
-The parameter <artifact> is the file of the artifact "openwhisk-0.9.0-incubating-sources.tar.gz". Compare the content with the [SHA512 file](https://dist.apache.org/repos/dist/dev/incubator/openwhisk/apache-openwhisk-0.9.0-incubating-rc1/openwhisk-0.9.0-incubating-sources.tar.gz.sha512).
+# Unpack the release
 
-Download the [signature](https://dist.apache.org/repos/dist/dev/incubator/openwhisk/apache-openwhisk-0.9.0-incubating-rc1/openwhisk-0.9.0-incubating-sources.tar.gz.asc), and verify it with the command:
+Once you have verified the artifact checksums, unzip and extract the source code from the file `"openwhisk-0.9.0-incubating-sources.tar.gz"`. This will yield a directory called `"incubator-openwhisk-0.9.0-incubating"` on your local machine.
+
+You can use the following command to untar the package:
 
 ```
-$ gpg --verify openwhisk-0.9.0-incubating-sources.tar.gz.asc openwhisk-0.9.0-incubating-sources.tar.gz
+tar -xvzf openwhisk-0.9.0-incubating-sources.tar.gz 
 ```
 
+# Verify the Apache license header
 
-# Installation of OpenWhisk 0.9.0
+OpenWhisk uses a tool called [`scanCode`](https://github.com/apache/incubator-openwhisk-utilities/tree/master/scancode) to check the license header of each source file included in the release. Please check the [`scanCode` tutorial](https://github.com/apache/incubator-openwhisk-utilities) for instructions to download and run the tool and scan all code in the release.
 
-This instruction walks you through the steps to install OpenWhisk 0.9.0. We support both Ubuntu and Mac operating systems.
-Please download the source code package of OpenWhisk "openwhisk-0.9.0-incubating-sources.tar.gz" and unzip it, then you
-get a directory called "incubator-openwhisk-<version>" on your local machine.
+# Building OpenWhisk
 
+The following instructions walk you through the steps to build OpenWhisk 0.9.0 for the supported operation systems which are Ubuntu and Mac OS.
 
 ## Prerequisites
 
-If you are a Ubuntu user, our suggested version is between 14.04 and 16.04. Open a terminal, go to the directory of "incubator-openwhisk",
-and run the script "all.sh" under tools/ubuntu-setup:
+We recommend you set the environment variable `$OPENWHISK_HOME` on your local machine to the extracted directory `incubator-openwhisk-0.9.0-incubating`.
+It is an _error_ to set `$OPENWHISK_HOME` to an invalid or incorrect path (including an empty string). If you do not wish to use the environment variable, make sure it is not defined in your environment at all. The rest of the instructions assume you have defined this environment variable.
+
+### Ubuntu users
+
+If you are a Ubuntu user, our suggested version is between 14.04 and 16.04. Open a terminal, go to the directory of `"incubator-openwhisk-0.9.0-incubating"`, and run the script `"all.sh"` under `tools/ubuntu-setup`:
 
 ```
-$ cd incubator-openwhisk-<version>
-$ ./tools/ubuntu-setup/all.sh
+cd $OPENWHISK_HOME
+./tools/ubuntu-setup/all.sh
 ```
 
 Then, you need to add the permission for the current Ubuntu user in Docker:
 
 ```
-$ sudo usermod -a -G docker $USER
+sudo usermod -a -G docker $USER
 ```
 
+Install Gradle 4.8.1 or the latest version with the following commands:
+
+```
+sudo add-apt-repository ppa:cwchien/gradle
+sudo apt-get update
+sudo apt-get install gradle
+```
+
+### Mac users
+
 If you are a Mac user, please run the following script:
 
 ```
@@ -115,82 +135,94 @@ sudo -H pip install docker==2.2.1 ansible==2.5.2 jinja2==2.9.6 couchdb==1.1 http
 Then, activate docker0 network with the following command:
 
 ```
-$ sudo ifconfig lo0 alias 172.17.0.1/24
+sudo ifconfig lo0 alias 172.17.0.1/24
+```
+
+Install Gradle 4.8.1 or the latest version with the following commands:
+
+```
+brew install gradle
 ```
 
 After running the script above, you should have all you need to install OpenWhisk. Normally there should be no error, but it
-some error messages pop-up, please [log an issue](https://github.com/apache/incubator-openwhisk/issues) for OpenWhisk community.
+some error messages pop-up, please [log an issue](https://github.com/apache/incubator-openwhisk/issues) for the OpenWhisk community to assist you.
 
 
 ## Build the source code
 
+Open the terminal, and go to the directory $OPENWHISK_HOME. Install the Gradle wrapper with the command:
 
-Stay under the directory of incubator-openwhisk-<version>, and download [gradle-wrapper-4.8.1.jar](https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-wrapper/4.8.1/gradle-wrapper-4.8.1.jar) and place it in the gradle/wrapper
-folder. Rename it into gradle-wrapper.jar, run the following gradlew command to build the source code:
+```
+gradle wrapper
+```
+
+Then, run the following gradlew command to build the source code:
 
 ```
-$ ./gradlew distDocker
+./gradlew distDocker
 ```
 
-You should be able to have all the docker images necessary to run OpenWhisk, after running this command. If you fail to build
-it, first make sure docker is running correctly by verifying with the command "docker images". If the error message still
-remains clueless, please [log an issue](https://github.com/apache/incubator-openwhisk/issues) for OpenWhisk community.
+Once the build is complete, you will have Docker images necessary to run OpenWhisk. If your build fails,
+first make sure `docker` is running correctly by verifying with the command `docker images`. If you continue
+to encounter build problems, please seek help by opening [an issue](https://github.com/apache/incubator-openwhisk/issues) for the OpenWhisk community to assist you.
 
 
 ## Deploy OpenWhisk
 
-Stay under the directory of incubator-openwhisk-<version>, and run the following ansible scripts one by one:
+Make sure you are in the `$OPENWHISK_HOME/ansible` directory, and run the following ansible
+scripts one after the other. If any of these commands fail, the rest of the deployment will
+not work correctly and you should [seek help](https://github.com/apache/incubator-openwhisk/issues).
 
 ```
-$ cd ansible
-$ ansible-playbook -i environments/local setup.yml
-$ ansible-playbook -i environments/local prereq.yml
-$ ansible-playbook -i environments/local couchdb.yml
-$ ansible-playbook -i environments/local initdb.yml
-$ ansible-playbook -i environments/local wipe.yml
-$ ansible-playbook -i environments/local apigateway.yml
-$ ansible-playbook -i environments/local openwhisk.yml
-$ ansible-playbook -i environments/local postdeploy.yml
+ansible-playbook -i environments/local setup.yml
+ansible-playbook -i environments/local couchdb.yml
+ansible-playbook -i environments/local initdb.yml
+ansible-playbook -i environments/local wipe.yml
+ansible-playbook -i environments/local openwhisk.yml
+ansible-playbook -i environments/local postdeploy.yml
+ansible-playbook -i environments/local apigateway.yml
 ```
 
-There are several know issues when you run the above ansible scripts:
-
-One known issue we have can be found at [this link](https://github.com/apache/incubator-openwhisk/issues/3804). You
-can run the script "ansible-playbook -i environments/local routemgmt.yml" to see if it can succeed.
+### Troubleshooting
 
-Another issue can be found at [this link](https://github.com/apache/incubator-openwhisk/issues/3815). You can find the solution
-in the description of this issue.
+There are several know issues you may encounter:
 
-Since this release does not ship the code of test cases, any error regarding test cases can be ignored.
+- The API gateway packages may not install correctly on some systems. You can try to recover, and then proceed with the rest of the playbooks by running `ansible-playbook -i environments/local routemgmt.yml`. See [this issue](https://github.com/apache/incubator-openwhisk/issues/3804) for more details. If you are not interested in the API gateway, you can ignore this error (and also skip the last playbook).
 
-The ansible scripts will be executed without error after you go through the above issues. If you still fail to deploy OpenWhisk, please [log an issue](https://github.com/apache/incubator-openwhisk/issues) for OpenWhisk community.
+- If the playbook fail, sometimes tearing down the (partially) deployed system and retrying is sufficient to recover. To clean your local environment, run the following commands:
+  ```
+  ansible-playbook -i environments/local apigateway.yml -e mode=clean
+  ansible-playbook -i environments/local openwhisk.yml -e mode=clean
+  ansible-playbook -i environments/local couchdb.yml -e mode=clean
+  ```
+  Then, run the ansible playbooks again to see if there are still failures. If you still fail to deploy OpenWhisk,
+please [log an issue](https://github.com/apache/incubator-openwhisk/issues) for the OpenWhisk community to assist you.
 
+- Since this release does not ship the code for test cases, any error regarding test cases can be ignored.
 
 ## Run OpenWhisk
 
-The easiest way to try out OpenWhisk is to use OpenWhisk CLI. Please find the configuration [here](https://github.com/apache/incubator-openwhisk/blob/master/docs/cli.md).
-For example, you can configure you CLI with the following command, if you have deployed OpenWhisk locally:
+The easiest way to try out OpenWhisk is to use OpenWhisk CLI. Please find the configuration [steps here](https://github.com/apache/incubator-openwhisk/blob/master/docs/cli.md). Briefly, you can configure the CLI with the following command once you have deployed OpenWhisk locally:
 
 ```
-$ wsk property set --apihost 172.17.0.1 --auth $(cat ${OPENWHISK_HOME}/ansible/files/auth.guest)
+wsk property set --apihost 172.17.0.1 --auth $(cat ${OPENWHISK_HOME}/ansible/files/auth.guest)
 ```
 
-The environment variable $OPENWHISK_HOME points to the directory incubator-openwhisk-<version>. After that, run the following command
-to each an input message:
+Run the following command to invoke a built in "echo" action that returns the received input parameters as its result:
 
 ```
-$ bin/wsk -i action invoke /whisk.system/utils/echo -p message hello --result
+bin/wsk -i action invoke /whisk.system/utils/echo --param message hello --result
 ```
 
 Output:
 
-```
+```json
 {
-    "message": "hello"
+  "message": "hello"
 }
 ```
 
-If you can get the above message, you have successfully deployed OpenWhisk on your local machine.
+If you can get the above message, you have successfully deployed OpenWhisk on your local machine. You can learn more about the basics of working with OpenWhisk actions using this [tutorial](https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md#the-basics).
 
-If you want to learn how to use OpenWhisk in a more comprehensive way, please visit the [OpenWhisk website](https://openwhisk.apache.org/) or
-[OpenWhisk repository](https://github.com/apache/incubator-openwhisk/blob/master/README.md) for detailed information.
+For more comprehensive information about OpenWhisk, please visit the [OpenWhisk website](https://openwhisk.apache.org/) or the
+[OpenWhisk repository](https://github.com/apache/incubator-openwhisk/blob/master/README.md) on GitHub.
diff --git a/tools/config.json b/tools/config.json
index 38229f1..cfefb2d 100644
--- a/tools/config.json
+++ b/tools/config.json
@@ -7,85 +7,11 @@
     "pre_release_version": "rc2"
   },
   "RepoList": [
-    "openwhisk",
-    "openwhisk-wskdeploy",
-    "openwhisk-cli",
-    "openwhisk-client-go",
-    "openwhisk-catalog",
-    "openwhisk-deploy-kube",
-    "openwhisk-apigateway",
-    "openwhisk-runtime-nodejs",
-    "openwhisk-runtime-swift",
-    "openwhisk-runtime-php",
-    "openwhisk-runtime-java",
-    "openwhisk-runtime-docker",
-    "openwhisk-runtime-python"
+    "openwhisk"
   ],
   "openwhisk": {
     "hash": "b1476b9",
     "repository": "https://github.com/apache/incubator-openwhisk.git",
     "branch": "master"
-  },
-  "openwhisk_wskdeploy": {
-    "hash": "7620ef7",
-    "repository": "https://github.com/apache/incubator-openwhisk-wskdeploy.git",
-    "branch": "master",
-    "binaries": "no"
-  },
-  "openwhisk_cli": {
-    "hash": "461f94f",
-    "repository": "https://github.com/apache/incubator-openwhisk-cli.git",
-    "branch": "master",
-    "binaries": "no"
-  },
-  "openwhisk_client_go": {
-    "hash": "1e50522",
-    "repository": "https://github.com/apache/incubator-openwhisk-client-go.git",
-    "branch": "master"
-  },
-  "openwhisk_catalog": {
-    "hash": "517341d",
-    "repository": "https://github.com/apache/incubator-openwhisk-catalog.git",
-    "branch": "master"
-  },
-  "openwhisk_deploy_kube": {
-    "hash": "cb9c3f5",
-    "repository": "https://github.com/apache/incubator-openwhisk-deploy-kube.git",
-    "branch": "master"
-  },
-  "openwhisk_apigateway": {
-    "hash": "2b87366",
-    "repository": "https://github.com/apache/incubator-openwhisk-apigateway.git",
-    "branch": "master"
-  },
-  "openwhisk_runtime_nodejs": {
-    "hash": "557c4bd",
-    "repository": "https://github.com/apache/incubator-openwhisk-runtime-nodejs.git",
-    "branch": "master"
-  },
-  "openwhisk_runtime_swift": {
-    "hash": "06c4972",
-    "repository": "https://github.com/apache/incubator-openwhisk-runtime-swift.git",
-    "branch": "master"
-  },
-  "openwhisk_runtime_php": {
-    "hash": "b0834a5",
-    "repository": "https://github.com/apache/incubator-openwhisk-runtime-php.git",
-    "branch": "master"
-  },
-  "openwhisk_runtime_java": {
-    "hash": "b20f90e",
-    "repository": "https://github.com/apache/incubator-openwhisk-runtime-java.git",
-    "branch": "master"
-  },
-  "openwhisk_runtime_docker": {
-    "hash": "650842a",
-    "repository": "https://github.com/apache/incubator-openwhisk-runtime-docker.git",
-    "branch": "master"
-  },
-  "openwhisk_runtime_python": {
-    "hash": "a2098d9",
-    "repository": "https://github.com/apache/incubator-openwhisk-runtime-python.git",
-    "branch": "master"
   }
 }
diff --git a/tools/key_pub.gpg b/tools/key_pub.gpg
index 0695fba..dd82284 100644
--- a/tools/key_pub.gpg
+++ b/tools/key_pub.gpg
@@ -1,3 +1,8 @@
+pub   rsa4096 2018-07-02 [SCEA]
+      FFB5D1D50881271B849DAE3872AF0CC22C4CF320
+uid           [ultimate] Vincent Hou (Release manager of OpenWhisk) <ho...@apache.org>
+sig 3        72AF0CC22C4CF320 2018-07-02  Vincent Hou (Release manager of OpenWhisk) <ho...@apache.org>
+
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 
 mQINBFs6OYYBEACyJHjZQTEkv47UZWSiMklAkPObY7dbrQEt/qwM9p6TUD1sI77X
diff --git a/tools/package_source_code.sh b/tools/package_source_code.sh
index b0c7ea2..33ce04b 100755
--- a/tools/package_source_code.sh
+++ b/tools/package_source_code.sh
@@ -40,7 +40,7 @@ do
     cd $OPENWHISK_CLEANED_SOURCE_DIR
     # Rename the directory by adding the version number
     mv $project_name $project_name-$version
-    tar czfv ${CURRENT_VERSION_DIR}/${repo_name}-${version}-sources.tar.gz $project_name-$version
+    tar czf ${CURRENT_VERSION_DIR}/${repo_name}-${version}-sources.tar.gz $project_name-$version
 done
 
 # Copy the documents for the current release into the $CURRENT_VERSION_DIR directory