You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by mr...@apache.org on 2020/08/21 17:51:38 UTC
[openwhisk-wskdeploy] branch master updated: Added interpolation to
docker option in manifest.yaml (#1100)
This is an automated email from the ASF dual-hosted git repository.
mrutkowski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwhisk-wskdeploy.git
The following commit(s) were added to refs/heads/master by this push:
new 1979827 Added interpolation to docker option in manifest.yaml (#1100)
1979827 is described below
commit 19798274025c54b11329df940c13f2726af5694b
Author: huydoan2 <do...@gmail.com>
AuthorDate: Fri Aug 21 12:51:31 2020 -0500
Added interpolation to docker option in manifest.yaml (#1100)
* Added interpolation to docker option in manifest.yaml
* Migrate to using Go Module. Upgraded Go version to 1.14 alongside with other packages. Modified unit tests to accomodate changes.
* Upgraded Travis Go version to 1.14
* Added End-of-Line to a test data file
* Fixed test manifest.yml for integration test. Applied golint and sanitized code
* Added example for docker interpolation in manifest.yaml
Co-authored-by: Huy Doan <hu...@ibm.com>
---
docs/wskdeploy_interpolation.md | 3 ++
parsers/manifest_parser.go | 5 ++-
parsers/manifest_parser_test.go | 9 ++++-
.../manifest_data_compose_actions_for_docker.yaml | 44 +++++++++++-----------
4 files changed, 37 insertions(+), 24 deletions(-)
diff --git a/docs/wskdeploy_interpolation.md b/docs/wskdeploy_interpolation.md
index 57f5d19..b067c6a 100644
--- a/docs/wskdeploy_interpolation.md
+++ b/docs/wskdeploy_interpolation.md
@@ -76,6 +76,9 @@ project:
function: ${OPENWHISK_FUNCTION_PYTHON}.py
hello4:
function: https://${OPENWHISK_FUNCTION_GITHUB_DIR}.js function: github.com/apache/openwhisk-test/packages/helloworlds
+ hello5:
+ function: $OPENWHISK_FUNCTION_FILE
+ docker: $DOCKER_HUB_IMAGE
```
#### Trigger Feed
diff --git a/parsers/manifest_parser.go b/parsers/manifest_parser.go
index beff9cc..bf5ad9f 100644
--- a/parsers/manifest_parser.go
+++ b/parsers/manifest_parser.go
@@ -29,6 +29,8 @@ import (
"gopkg.in/yaml.v2"
+ "net/url"
+
"github.com/apache/openwhisk-client-go/whisk"
"github.com/apache/openwhisk-wskdeploy/conductor"
"github.com/apache/openwhisk-wskdeploy/dependencies"
@@ -40,7 +42,6 @@ import (
"github.com/apache/openwhisk-wskdeploy/wski18n"
"github.com/apache/openwhisk-wskdeploy/wskprint"
yamlHelper "github.com/ghodss/yaml"
- "net/url"
)
const (
@@ -796,7 +797,7 @@ func (dm *YAMLParser) composeActionExec(manifestFilePath string, manifestFileNam
if action.Native {
exec.Image = NATIVE_DOCKER_IMAGE
} else {
- exec.Image = action.Docker
+ exec.Image = wskenv.InterpolateStringWithEnvVar(action.Docker).(string)
}
}
diff --git a/parsers/manifest_parser_test.go b/parsers/manifest_parser_test.go
index 3782360..5068a45 100644
--- a/parsers/manifest_parser_test.go
+++ b/parsers/manifest_parser_test.go
@@ -928,7 +928,7 @@ func TestComposeActionsForFunctionWithRemoteDir(t *testing.T) {
// validate manifest_parser.ComposeActions() method
func TestComposeActionsForDocker(t *testing.T) {
-
+ os.Setenv("image_name", "environmental_variable/image")
file := "../tests/dat/manifest_data_compose_actions_for_docker.yaml"
actionFile := "../tests/src/integration/docker/actions/exec.zip"
@@ -960,8 +960,15 @@ func TestComposeActionsForDocker(t *testing.T) {
assert.NotNil(t, action.Action.Exec.Code, TEST_MSG_ACTION_CODE_MISSING)
assert.Equal(t, runtimes.BLACKBOX, action.Action.Exec.Kind, fmt.Sprintf(TEST_MSG_ACTION_DOCKER_KIND_MISMATCH, action.Action.Exec.Kind))
assert.Equal(t, "mydockerhub/myimage", action.Action.Exec.Image, TEST_MSG_ACTION_DOCKER_IMAGE_MISMATCH)
+ case "CustomDockerAction6":
+ println(action.Action.Exec.Image)
+ assert.NotNil(t, action.Action.Exec.Code, TEST_MSG_ACTION_CODE_MISSING)
+ assert.Equal(t, runtimes.BLACKBOX, action.Action.Exec.Kind, fmt.Sprintf(TEST_MSG_ACTION_DOCKER_KIND_MISMATCH, action.Action.Exec.Kind))
+ assert.Equal(t, os.Getenv("image_name"), action.Action.Exec.Image, TEST_MSG_ACTION_DOCKER_IMAGE_MISMATCH)
}
}
+
+ os.Unsetenv("image_name")
}
func TestComposeActionsForEnvVariableInFunction(t *testing.T) {
diff --git a/tests/dat/manifest_data_compose_actions_for_docker.yaml b/tests/dat/manifest_data_compose_actions_for_docker.yaml
index 8bb10c1..0f439dd 100644
--- a/tests/dat/manifest_data_compose_actions_for_docker.yaml
+++ b/tests/dat/manifest_data_compose_actions_for_docker.yaml
@@ -17,24 +17,26 @@
packages:
IntegrationTestDocker:
- actions:
- OpenWhiskSkeleton:
- docker: openwhisk/skeleton
- OpenWhiskSkeletonWithNative:
- native: true
- CustomDockerAction1:
- function: ../src/integration/docker/actions/exec.zip
- docker: openwhisk/skeleton
- CustomDockerAction2:
- function: ../src/integration/docker/actions/exec.zip
- native: true
- CustomDockerAction3:
- function: ../src/integration/docker/actions/bash
- native: true
- CustomDockerAction4:
- function: ../src/integration/docker/actions/go
- native: true
- CustomDockerAction5:
- function: ../src/integration/docker/actions/go
- docker: mydockerhub/myimage
-
+ actions:
+ OpenWhiskSkeleton:
+ docker: openwhisk/skeleton
+ OpenWhiskSkeletonWithNative:
+ native: true
+ CustomDockerAction1:
+ function: ../src/integration/docker/actions/exec.zip
+ docker: openwhisk/skeleton
+ CustomDockerAction2:
+ function: ../src/integration/docker/actions/exec.zip
+ native: true
+ CustomDockerAction3:
+ function: ../src/integration/docker/actions/bash
+ native: true
+ CustomDockerAction4:
+ function: ../src/integration/docker/actions/go
+ native: true
+ CustomDockerAction5:
+ function: ../src/integration/docker/actions/go
+ docker: mydockerhub/myimage
+ CustomDockerAction6:
+ function: ../src/integration/docker/actions/go
+ docker: ${image_name}