You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2019/01/09 15:03:59 UTC

[pulsar] branch master updated: Install python3.7 packages (#3325)

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

mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 1013c75  Install python3.7 packages (#3325)
1013c75 is described below

commit 1013c750dbfd3773342c71a779796219536b022d
Author: Ali Ahmed <al...@gmail.com>
AuthorDate: Wed Jan 9 07:03:54 2019 -0800

    Install python3.7 packages (#3325)
    
    Defautlt is still existing python2.7 installation
    Update scripts to install both pulsar-client
    packages for 2.7 and 3.7
---
 docker/pulsar-standalone/Dockerfile                    |  2 +-
 docker/pulsar/Dockerfile                               | 10 +++++++---
 docker/pulsar/pom.xml                                  | 18 +++++++++++++++++-
 ...ll-pulsar-client.sh => install-pulsar-client-27.sh} |  2 +-
 ...ll-pulsar-client.sh => install-pulsar-client-37.sh} |  4 ++--
 .../apache/pulsar/functions/runtime/RuntimeUtils.java  |  8 ++++----
 6 files changed, 32 insertions(+), 12 deletions(-)

diff --git a/docker/pulsar-standalone/Dockerfile b/docker/pulsar-standalone/Dockerfile
index 869b4c0..a558b47 100644
--- a/docker/pulsar-standalone/Dockerfile
+++ b/docker/pulsar-standalone/Dockerfile
@@ -20,7 +20,7 @@
 FROM apachepulsar/pulsar-all:latest
 
 RUN apt-get update
-RUN apt-get -y install postgresql sudo nginx supervisor
+RUN apt-get -y install postgresql-9.6 sudo nginx supervisor
 
 # Python dependencies
 RUN pip install uwsgi 'Django<2.0' psycopg2 pytz requests
diff --git a/docker/pulsar/Dockerfile b/docker/pulsar/Dockerfile
index 3a3bc30..edbe622 100644
--- a/docker/pulsar/Dockerfile
+++ b/docker/pulsar/Dockerfile
@@ -19,8 +19,10 @@
 
 FROM openjdk:8-jdk
 
+RUN echo "deb http://ftp.de.debian.org/debian testing main" >> /etc/apt/sources.list
+
 # Install some utilities
-RUN apt-get update && apt-get install -y netcat dnsutils python-kazoo python-yaml python-pip
+RUN apt-get update && apt-get install -y netcat dnsutils python-kazoo python-yaml python-pip python3.7 python3-pip
 
 ARG PULSAR_TARBALL
 
@@ -32,10 +34,12 @@ COPY scripts/gen-yml-from-env.py /pulsar/bin
 COPY scripts/generate-zookeeper-config.sh /pulsar/bin
 COPY scripts/pulsar-zookeeper-ruok.sh /pulsar/bin
 COPY scripts/watch-znode.py /pulsar/bin
-COPY scripts/install-pulsar-client.sh /pulsar/bin
+COPY scripts/install-pulsar-client-27.sh /pulsar/bin
+COPY scripts/install-pulsar-client-37.sh /pulsar/bin
 
 ADD target/python-client/ /pulsar/pulsar-client
-RUN /pulsar/bin/install-pulsar-client.sh
+RUN /pulsar/bin/install-pulsar-client-27.sh
+RUN /pulsar/bin/install-pulsar-client-37.sh
 RUN echo networkaddress.cache.ttl=1 >> $JAVA_HOME/jre/lib/security/java.security
 
 WORKDIR /pulsar
diff --git a/docker/pulsar/pom.xml b/docker/pulsar/pom.xml
index 7bbce6a..70251f6 100644
--- a/docker/pulsar/pom.xml
+++ b/docker/pulsar/pom.xml
@@ -54,7 +54,7 @@
             <version>${exec-maven-plugin.version}</version>
             <executions>
               <execution>
-                <id>build-pulsar-clients</id>
+                <id>build-pulsar-clients-python-27</id>
                 <phase>compile</phase>
                 <goals>
                   <goal>exec</goal>
@@ -69,6 +69,22 @@
                   </arguments>
                 </configuration>
               </execution>
+              <execution>
+                <id>build-pulsar-clients-python-37</id>
+                <phase>compile</phase>
+                <goals>
+                  <goal>exec</goal>
+                </goals>
+                <configuration>
+                  <skip>${skipBuildPythonClient}</skip>
+                  <workingDirectory>${project.basedir}/target</workingDirectory>
+                  <executable>${project.basedir}/../../pulsar-client-cpp/docker/build-wheels.sh</executable>
+                  <arguments>
+                    <!-- build python 3.7 -->
+                    <argument>3.7 cp37-cp37m</argument>
+                  </arguments>
+                </configuration>
+              </execution>
             </executions>
           </plugin>
           <plugin>
diff --git a/docker/pulsar/scripts/install-pulsar-client.sh b/docker/pulsar/scripts/install-pulsar-client-27.sh
similarity index 94%
copy from docker/pulsar/scripts/install-pulsar-client.sh
copy to docker/pulsar/scripts/install-pulsar-client-27.sh
index 2e048c1..8c5b362 100755
--- a/docker/pulsar/scripts/install-pulsar-client.sh
+++ b/docker/pulsar/scripts/install-pulsar-client-27.sh
@@ -20,5 +20,5 @@
 
 set -x
 
-WHEEL_FILE=`ls /pulsar/pulsar-client`
+WHEEL_FILE=$(ls /pulsar/pulsar-client | grep cp27)
 pip install /pulsar/pulsar-client/${WHEEL_FILE}
diff --git a/docker/pulsar/scripts/install-pulsar-client.sh b/docker/pulsar/scripts/install-pulsar-client-37.sh
similarity index 89%
rename from docker/pulsar/scripts/install-pulsar-client.sh
rename to docker/pulsar/scripts/install-pulsar-client-37.sh
index 2e048c1..3e22803 100755
--- a/docker/pulsar/scripts/install-pulsar-client.sh
+++ b/docker/pulsar/scripts/install-pulsar-client-37.sh
@@ -20,5 +20,5 @@
 
 set -x
 
-WHEEL_FILE=`ls /pulsar/pulsar-client`
-pip install /pulsar/pulsar-client/${WHEEL_FILE}
+WHEEL_FILE=$(ls /pulsar/pulsar-client | grep cp37)
+pip3 install /pulsar/pulsar-client/${WHEEL_FILE}
diff --git a/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/RuntimeUtils.java b/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/RuntimeUtils.java
index 5e09e66..3db9f5d 100644
--- a/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/RuntimeUtils.java
+++ b/pulsar-functions/runtime/src/main/java/org/apache/pulsar/functions/runtime/RuntimeUtils.java
@@ -62,12 +62,12 @@ class RuntimeUtils {
                                            String logConfigFile,
                                            String secretsProviderClassName,
                                            String secretsProviderConfig,
-                                           Boolean installUserCodeDepdendencies,
+                                           Boolean installUserCodeDependencies,
                                            String pythonDependencyRepository,
                                            String pythonExtraDependencyRepository,
                                            int metricsPort) throws Exception {
-        List<String> args = new LinkedList<>();
-        if (instanceConfig.getFunctionDetails().getRuntime() == Function.FunctionDetails.Runtime.JAVA) {
+        final List<String> args = new LinkedList<>();
+        if (instanceConfig.getFunctionDetails().getRuntime() ==  Function.FunctionDetails.Runtime.JAVA) {
             args.add("java");
             args.add("-cp");
 
@@ -115,7 +115,7 @@ class RuntimeUtils {
             args.add("--logging_config_file");
             args.add(logConfigFile);
             // `installUserCodeDependencies` is only valid for python runtime
-            if (installUserCodeDepdendencies != null && installUserCodeDepdendencies) {
+            if (installUserCodeDependencies != null && installUserCodeDependencies) {
                 args.add("--install_usercode_dependencies");
                 args.add("True");
             }