You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by dg...@apache.org on 2018/07/09 20:22:56 UTC

[incubator-openwhisk-runtime-python] branch master updated: Update base images to openwhisk/dockerskeleton:1.3.2. (#33)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 7f4921a  Update base images to openwhisk/dockerskeleton:1.3.2. (#33)
7f4921a is described below

commit 7f4921adf2eea5a565d3783c15eadc14d125a638
Author: rodric rabbah <ro...@gmail.com>
AuthorDate: Mon Jul 9 16:22:54 2018 -0400

    Update base images to openwhisk/dockerskeleton:1.3.2. (#33)
    
    Update base images to openwhisk/dockerskeleton:1.3.2. and adjust tests for upstream changes.
---
 README.md                                          |   2 +-
 core/python2Action/CHANGELOG.md                    |   4 +
 core/python2Action/Dockerfile                      |   3 +-
 core/pythonAction/CHANGELOG.md                     |   4 +
 core/pythonAction/Dockerfile                       |   3 +-
 .../PythonActionContainerTests.scala               | 139 ++++++++++-----------
 6 files changed, 78 insertions(+), 77 deletions(-)

diff --git a/README.md b/README.md
index a62b520..26dbb2e 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@
 ### Give it a try today
 To use as a docker action using python 3
 ```
-wsk action update myAction myAction.py --docker openwhisk/python3action:1.0.1
+wsk action update myAction myAction.py --docker openwhisk/python3action:1.0.2
 ```
 Replace `python3action` with `python2action` to use python 2.
 
diff --git a/core/python2Action/CHANGELOG.md b/core/python2Action/CHANGELOG.md
index 02f5949..7a30848 100644
--- a/core/python2Action/CHANGELOG.md
+++ b/core/python2Action/CHANGELOG.md
@@ -19,6 +19,10 @@
 
 # Python 2 OpenWhisk Runtime Container
 
+## 1.0.2
+Changes:
+  - Update base image to openwhisk/dockerskeleton:1.3.2
+
 ## 1.0.1
 Changes:
   - Update base image to openwhisk/dockerskeleton:1.3.1
diff --git a/core/python2Action/Dockerfile b/core/python2Action/Dockerfile
index dd374f6..af00eba 100644
--- a/core/python2Action/Dockerfile
+++ b/core/python2Action/Dockerfile
@@ -50,8 +50,9 @@ RUN pip install --no-cache-dir --upgrade pip setuptools six \
 ENV FLASK_PROXY_PORT 8080
 
 # Add the action proxy
-ADD https://raw.githubusercontent.com/apache/incubator-openwhisk-runtime-docker/dockerskeleton%401.3.1/core/actionProxy/actionproxy.py /actionProxy/actionproxy.py
+ADD https://raw.githubusercontent.com/apache/incubator-openwhisk-runtime-docker/dockerskeleton%401.3.2/core/actionProxy/actionproxy.py /actionProxy/actionproxy.py
 
 ADD pythonrunner.py /pythonAction/
+RUN rm -rf /action
 
 CMD ["/bin/bash", "-c", "cd pythonAction && python -u pythonrunner.py"]
diff --git a/core/pythonAction/CHANGELOG.md b/core/pythonAction/CHANGELOG.md
index 9f95463..34eba5c 100644
--- a/core/pythonAction/CHANGELOG.md
+++ b/core/pythonAction/CHANGELOG.md
@@ -19,6 +19,10 @@
 
 # Python 3 OpenWhisk Runtime Container
 
+## 1.0.2
+Changes:
+  - Update base image to openwhisk/dockerskeleton:1.3.2
+
 ## 1.0.1
 Changes:
   - Update base image to openwhisk/dockerskeleton:1.3.1
diff --git a/core/pythonAction/Dockerfile b/core/pythonAction/Dockerfile
index 1f4873b..3021fa8 100644
--- a/core/pythonAction/Dockerfile
+++ b/core/pythonAction/Dockerfile
@@ -16,7 +16,7 @@
 #
 
 # Dockerfile for python actions, overrides and extends ActionRunner from actionProxy
-FROM openwhisk/dockerskeleton:1.3.1
+FROM openwhisk/dockerskeleton:1.3.2
 
 RUN apk add --no-cache \
         bzip2-dev \
@@ -45,5 +45,6 @@ ENV FLASK_PROXY_PORT 8080
 
 RUN mkdir -p /pythonAction
 ADD pythonrunner.py /pythonAction/
+RUN rm -rf /action
 
 CMD ["/bin/bash", "-c", "cd pythonAction && python -u pythonrunner.py"]
diff --git a/tests/src/test/scala/runtime/actionContainers/PythonActionContainerTests.scala b/tests/src/test/scala/runtime/actionContainers/PythonActionContainerTests.scala
index ecc40e3..9dcdee5 100644
--- a/tests/src/test/scala/runtime/actionContainers/PythonActionContainerTests.scala
+++ b/tests/src/test/scala/runtime/actionContainers/PythonActionContainerTests.scala
@@ -42,87 +42,78 @@ class PythonActionContainerTests extends BasicActionRunnerTests with WskActorSys
 
   behavior of imageName
 
-  testNotReturningJson(
-    """
-        |def main(args):
-        |    return "not a json object"
-        """.stripMargin,
-    checkResultInLogs = false)
-
-  testEcho(Seq {
-    (
-      "python",
+  override val testNoSourceOrExec = TestConfig("")
+  override val testNoSource = TestConfig("", hasCodeStub = true)
+
+  override val testNotReturningJson =
+    TestConfig("""
+                 |def main(args):
+                 |    return "not a json object"
+               """.stripMargin)
+
+  override val testInitCannotBeCalledMoreThanOnce =
+    TestConfig("""
+                 |def main(args):
+                 |    return args
+               """.stripMargin)
+
+  override val testEntryPointOtherThanMain =
+    TestConfig(
+      """
+        |def niam(args):
+        |  return args
+      """.stripMargin,
+      main = "niam")
+
+  override val testEcho =
+    TestConfig("""
+      |from __future__ import print_function
+      |import sys
+      |def main(args):
+      |    print('hello stdout')
+      |    print('hello stderr', file=sys.stderr)
+      |    return args
+    """.stripMargin)
+
+  override val testUnicode =
+    TestConfig(if (pythonStringAsUnicode) {
       """
-         |from __future__ import print_function
-         |import sys
-         |def main(args):
-         |    print('hello stdout')
-         |    print('hello stderr', file=sys.stderr)
-         |    return args
-         """.stripMargin)
-  })
-
-  testUnicode(Seq {
-    if (pythonStringAsUnicode) {
-      (
-        "python",
-        """
-             |def main(args):
-             |    sep = args['delimiter']
-             |    str = sep + " ☃ " + sep
-             |    print(str)
-             |    return {"winter" : str }
-             """.stripMargin.trim)
+        |def main(args):
+        |    sep = args['delimiter']
+        |    str = sep + " ☃ " + sep
+        |    print(str)
+        |    return {"winter" : str }
+      """.stripMargin.trim
     } else {
-      (
-        "python",
-        """
-             |def main(args):
-             |    sep = args['delimiter']
-             |    str = sep + " ☃ ".decode('utf-8') + sep
-             |    print(str.encode('utf-8'))
-             |    return {"winter" : str }
-             """.stripMargin.trim)
-    }
-  })
-
-  testEnv(Seq {
-    (
-      "python",
       """
-         |import os
-         |def main(dict):
-         |    return {
-         |       "api_host": os.environ['__OW_API_HOST'],
-         |       "api_key": os.environ['__OW_API_KEY'],
-         |       "namespace": os.environ['__OW_NAMESPACE'],
-         |       "action_name": os.environ['__OW_ACTION_NAME'],
-         |       "activation_id": os.environ['__OW_ACTIVATION_ID'],
-         |       "deadline": os.environ['__OW_DEADLINE']
-         |    }
-         """.stripMargin.trim)
-  })
-
-  testInitCannotBeCalledMoreThanOnce("""
+        |def main(args):
+        |    sep = args['delimiter']
+        |    str = sep + " ☃ ".decode('utf-8') + sep
+        |    print(str.encode('utf-8'))
+        |    return {"winter" : str }
+      """.stripMargin.trim
+    })
+
+  override val testEnv =
+    TestConfig("""
+      |import os
+      |def main(dict):
+      |    return {
+      |       "api_host": os.environ['__OW_API_HOST'],
+      |       "api_key": os.environ['__OW_API_KEY'],
+      |       "namespace": os.environ['__OW_NAMESPACE'],
+      |       "action_name": os.environ['__OW_ACTION_NAME'],
+      |       "activation_id": os.environ['__OW_ACTIVATION_ID'],
+      |       "deadline": os.environ['__OW_DEADLINE']
+      |    }
+    """.stripMargin.trim)
+
+  override val testLargeInput =
+    TestConfig("""
         |def main(args):
         |    return args
       """.stripMargin)
 
-  it should "support actions using non-default entry points" in {
-    withActionContainer() { c =>
-      val code = """
-                |def niam(dict):
-                |  return { "result": "it works" }
-                |""".stripMargin
-
-      val (initCode, initRes) = c.init(initPayload(code, main = "niam"))
-      initCode should be(200)
-
-      val (_, runRes) = c.run(runPayload(JsObject()))
-      runRes.get.fields.get("result") shouldBe Some(JsString("it works"))
-    }
-  }
-
   it should "support zip-encoded action using non-default entry points" in {
     val srcs = Seq(
       Seq("__main__.py") -> """