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 087870e Add the installation instruction to 0.9.0 release (#205) 087870e is described below commit 087870e31179527a3c3e6267a304b4e7612e414d Author: Vincent <s...@us.ibm.com> AuthorDate: Mon Jun 25 17:08:30 2018 -0400 Add the installation instruction to 0.9.0 release (#205) * Add the installation instruction to 0.9.0 release This PR adds the instruction of installtion for release 0.9.0, adds the bin directory back to the released package, and picks up new commit for release 0.9.0. * Add the example to configure the CLI and add -i to run the CLI --- releases/0.9.0-incubating/INSTALL.md | 195 +++++++++++++++++++++++++++++++++++ tools/config.json | 2 +- tools/package_source_code.sh | 7 +- 3 files changed, 202 insertions(+), 2 deletions(-) diff --git a/releases/0.9.0-incubating/INSTALL.md b/releases/0.9.0-incubating/INSTALL.md new file mode 100644 index 0000000..540d48e --- /dev/null +++ b/releases/0.9.0-incubating/INSTALL.md @@ -0,0 +1,195 @@ +<!-- +# +# 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. +# +--> + +# 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". + + +# Verify the Apache license header of OpenWhisk + +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. + + +# Verify the MD5 & SHA-512 checksums, and signature + +You need to install gpg on your local machine. + +For Ubuntu user, run the following command: + +``` +$ sudo apt-get install gnupg +``` + +For Mac user, run the following command: + +``` +$ brew install gpg +``` + +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. + +``` +$ gpg --import <key_file> +``` + +The parameter <key_file> is the file, where the public key is saved. + + +To generate the MD5 checksum: + +``` +$ gpg --print-md MD5 <artifact> +``` + +The parameter <artifact> is the file of the artifact "openwhisk-0.9.0-incubating-sources.tar.gz". Compare the content with the [MD5 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.md5). + + +To generate the SHA512 checksum: + +``` +$ gpg --print-md SHA512 <artifact> +``` + +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). + +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: + +``` +$ gpg --verify openwhisk-0.9.0-incubating-sources.tar.gz.asc openwhisk-0.9.0-incubating-sources.tar.gz +``` + + +# Installation of OpenWhisk 0.9.0 + +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" on your local machine. + + +## 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: + +``` +$ cd incubator-openwhisk +$ ./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 +``` + +If you are a Mac user, please run the following script: + +``` +echo ' +# install homebrew +/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" +# install cask +brew tap caskroom/cask +# install for finding alternative versions (java8) +brew tap caskroom/versions +# install java 8 +brew cask install java8 +# install scala +brew install scala +# install pip +sudo easy_install pip +# install script prerequisites +sudo -H pip install docker==2.2.1 ansible==2.5.2 jinja2==2.9.6 couchdb==1.1 httplib2==0.9.2 requests==2.10.0' | bash +``` + +Then, activate docker0 network with the following command: + +``` +$ sudo ifconfig lo0 alias 172.17.0.1/24 +``` + +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. + + +## Build the source code + +Stay under the directory of incubator-openwhisk, and run the following gradlew command to build the source code: + +``` +$ ./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. + + +## Deploy OpenWhisk + +Stay under the directory of incubator-openwhisk, and run the following ansible scripts one by one: + +``` +$ 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 +``` + +Normally, the ansible scripts will be executed without error. One known issue we have can be found at [this link](https://github.com/apache/incubator-openwhisk/issues/3804), you +can try to run the script "ansible-playbook -i environments/local routemgmt.yml" to see if it can succeed. If you fail to +deploy OpenWhisk, please [log an issue](https://github.com/apache/incubator-openwhisk/issues) for OpenWhisk community. + + +## 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: + +``` +$ 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. After that, run the following command +to each an input message: + +``` +$ bin/wsk -i action invoke /whisk.system/utils/echo -p message hello --result +``` + +Output: + +``` +{ + "message": "hello" +} +``` + +If you can get the above message, you have successfully deployed OpenWhisk on your local machine. + +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. diff --git a/tools/config.json b/tools/config.json index 09ca922..189ed05 100644 --- a/tools/config.json +++ b/tools/config.json @@ -22,7 +22,7 @@ "openwhisk-runtime-python" ], "openwhisk": { - "hash": "05fca70", + "hash": "76dadd2", "repository": "https://github.com/apache/incubator-openwhisk.git", "branch": "master" }, diff --git a/tools/package_source_code.sh b/tools/package_source_code.sh index 1d5ac9f..557737a 100755 --- a/tools/package_source_code.sh +++ b/tools/package_source_code.sh @@ -30,7 +30,7 @@ mkdir -p $CURRENT_VERSION_DIR # Remove bin and build folders mkdir -p $OPENWHISK_CLEANED_SOURCE_DIR rm -rf $OPENWHISK_CLEANED_SOURCE_DIR/* -rsync -rtp --exclude .bin --exclude .jshintrc --exclude .pydevproject --exclude .rat-excludes --exclude .git\* --exclude .travis.yml --exclude bin --exclude build --exclude specification/archive --exclude specification/diagrams --exclude tests $OPENWHISK_SOURCE_DIR/. $OPENWHISK_CLEANED_SOURCE_DIR +rsync -rtp --exclude .bin --exclude .jshintrc --exclude .pydevproject --exclude .rat-excludes --exclude .git\* --exclude .travis.yml --exclude build --exclude specification/archive --exclude specification/diagrams --exclude tests $OPENWHISK_SOURCE_DIR/. $OPENWHISK_CLEANED_SOURCE_DIR for repo in $(echo $repos | sed "s/,/ /g") do @@ -40,3 +40,8 @@ do cd $OPENWHISK_CLEANED_SOURCE_DIR tar czf ${CURRENT_VERSION_DIR}/${repo_name}-${version}-sources.tar.gz $project_name done + +# Copy the documents for the current release into the $CURRENT_VERSION_DIR directory +PARENTDIR="$(dirname "$SCRIPTDIR")" +mkdir -p ${CURRENT_VERSION_DIR}/doc +cp $PARENTDIR/releases/$version/* ${CURRENT_VERSION_DIR}/doc/