csantanapr opened a new issue #3329: local mode for openwhisk ansible 
URL: https://github.com/apache/incubator-openwhisk/issues/3329
 
 
   I had some problems today when deploying with default settings as ansible 
playbook edge.yml tries to download the CLI, I get some github/s3 network 
errors.
   
   I try to use local mode
   ansibile-playbook -e environment/local edge.yml -e 
cli_installation_mode=local
   
   This doesn't work for multiple reasons
   1. The directory where to pick up the CLI
   
https://github.com/apache/incubator-openwhisk/blob/master/ansible/group_vars/all#L4
   ```
   openwhisk_cli_home: "{{ lookup('env', 'OPENWHISK_CLI') | 
default(openwhisk_home, true) }}"
   ...
   openwhisk_cli:
     installation_mode: "{{ cli_installation_mode | default('remote') }}"
     local:
       location: "{{ openwhisk_cli_home }}/bin"
     remote:
       name: OpenWhisk_CLI
       dest_name: OpenWhisk_CLI
       location: 
"https://github.com/apache/incubator-openwhisk-cli/releases/download/{{ 
openwhisk_cli_tag }}"
   
   ```
   
   Using `openwhisk_home` or `OPENWHISK_CLI` pointing to the root of 
incubator-openwhisk-cli
   
   Now with the recent change in CLI build to use gradle the CLI is not built 
in `/bin`
   is built in `incubator-openwhisk-cli/build/`
   
   2. The directory structure is not the expected one by the ansible script
   
https://github.com/apache/incubator-openwhisk/blob/master/ansible/roles/cli/tasks/copy_local_openwhisk_cli.yml
   or 
   
https://github.com/apache/incubator-openwhisk/blob/master/ansible/roles/cli/tasks/deploy.yml
   
   IMHO the fix should be:
   1. The ansible needs to be adjusted to what the incubator-openwhisk-cli 
produces
   ```
   ~/dev/whisk/git/apache/incubator-openwhisk-cli (master)
   ?  $ ls build
   content.json  darwin-amd64  linux-amd64   linux-arm64   linux-s390x   
windows-amd64
   darwin-386    linux-386     linux-arm     linux-ppc64le windows-386   wsk
   ~/dev/whisk/git/apache/incubator-openwhisk-cli (master)
   ?  $ ls release/
   OpenWhisk_CLI-latest-all.tgz           OpenWhisk_CLI-latest-linux-arm64.tgz  
 OpenWhisk_CLI-latest-mac-amd64.zip
   OpenWhisk_CLI-latest-linux-386.tgz     
OpenWhisk_CLI-latest-linux-ppc64le.tgz OpenWhisk_CLI-latest-windows-386.zip
   OpenWhisk_CLI-latest-linux-amd64.tgz   OpenWhisk_CLI-latest-linux-s390x.tgz  
 OpenWhisk_CLI-latest-windows-amd64.zip
   OpenWhisk_CLI-latest-linux-arm.tgz     OpenWhisk_CLI-latest-mac-386.zip
   ```
   2. The incubator-openwhisk-cli Travis build should not use remote mode and 
it should use local mode
   
https://github.com/apache/incubator-openwhisk-cli/blob/master/tools/travis/test_openwhisk.sh#L71
   It sets the `openwhisk_cli_home`
   ```
   $ANSIBLE_CMD openwhisk.yml -e openwhisk_cli_home=$TRAVIS_BUILD_DIR
   ```
   But it still is remote mode.
   It should be
   ```
   $ANSIBLE_CMD openwhisk.yml -e cli_installation_mode=locale -e 
openwhisk_cli_home=$TRAVIS_BUILD_DIR
   ```
   And then it cheats to copy the wsk to make the test happy this should be 
remove
   ```
   # Copy the binary generated into the OPENWHISK_HOME/bin, so that the test 
cases will run based on it.
   mkdir -p $OPENWHISK_HOME/bin
   cp -f $TRAVIS_BUILD_DIR/build/wsk $OPENWHISK_HOME/bin
   ```
   This should be remove as the ansible tasks for CLI should copy the `wsk` to 
`$OPENWHISK_HOME/bin/wsk`
   
   cc @dubeejw @jonpspri 
   

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to