You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2019/11/11 04:16:52 UTC

[skywalking] branch minikube created (now 3a1a350)

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

hanahmily pushed a change to branch minikube
in repository https://gitbox.apache.org/repos/asf/skywalking.git.


      at 3a1a350  Test

This branch includes the following new commits:

     new 3a1a350  Test

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[skywalking] 01/01: Test

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hanahmily pushed a commit to branch minikube
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit 3a1a35058fc441ccca71a82f534edaefb148203d
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Mon Nov 11 12:15:50 2019 +0800

    Test
---
 Jenkinsfile-E2E-Mesh                               |  36 +++++++
 .../server-starter/src/main/resources/log4j2.xml   |   2 +-
 skywalking-ui                                      |   2 +-
 test/e2e-kubernetes/istio-mixer-adapter/run.sh     |  50 +++++++++
 test/scripts/clean.sh                              |  28 +++++
 test/scripts/minikube.sh                           | 114 +++++++++++++++++++++
 test/scripts/pre.sh                                |  80 +++++++++++++++
 7 files changed, 310 insertions(+), 2 deletions(-)

diff --git a/Jenkinsfile-E2E-Mesh b/Jenkinsfile-E2E-Mesh
new file mode 100644
index 0000000..496df1b
--- /dev/null
+++ b/Jenkinsfile-E2E-Mesh
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ *
+ */
+
+pipeline {
+    agent {
+        label 'jenkins-skywalking5'
+    }
+
+    options {
+        timestamps()
+        timeout(time: 5, unit: 'HOURS')
+    }
+
+    stages {
+        stage('Test') {
+            steps {
+                sh 'whoami'
+                sh 'sudo ls -lt /root'
+            }
+        }
+}
diff --git a/oap-server/server-starter/src/main/resources/log4j2.xml b/oap-server/server-starter/src/main/resources/log4j2.xml
index 72dcf43..fc300a2 100644
--- a/oap-server/server-starter/src/main/resources/log4j2.xml
+++ b/oap-server/server-starter/src/main/resources/log4j2.xml
@@ -35,7 +35,7 @@
         <logger name="org.apache.skywalking.oap.server.core" level="INFO"/>
         <logger name="org.apache.skywalking.oap.server.core.remote.client" level="DEBUG"/>
         <logger name="org.apache.skywalking.oap.server.library.buffer" level="INFO"/>
-        <logger name="org.apache.skywalking.oap.server.receiver.so11y" level="DEBUG" />
+<!--        <logger name="org.apache.skywalking.oap.server.receiver.so11y" level="DEBUG" />-->
         <Root level="DEBUG">
             <AppenderRef ref="Console"/>
         </Root>
diff --git a/skywalking-ui b/skywalking-ui
index 2695697..9f3aa72 160000
--- a/skywalking-ui
+++ b/skywalking-ui
@@ -1 +1 @@
-Subproject commit 2695697d0de0acf4f5adc0df68e7d71a4824b4e4
+Subproject commit 9f3aa72a47983c037e95fb3607faa2154bafef59
diff --git a/test/e2e-kubernetes/istio-mixer-adapter/run.sh b/test/e2e-kubernetes/istio-mixer-adapter/run.sh
new file mode 100755
index 0000000..400a842
--- /dev/null
+++ b/test/e2e-kubernetes/istio-mixer-adapter/run.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+
+# ----------------------------------------------------------------------------
+# 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.
+# ----------------------------------------------------------------------------
+
+set -ex
+
+DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
+ROOT=${DIR}/../../..
+SCRIPTS_DIR=${ROOT}/test/scripts
+
+CONTAINER_NAME=$1
+if [[ "${CONTAINER_NAME}" == "" ]]; then
+    CONTAINER_NAME="e2e-istio-mixer-adapter"
+fi
+
+# Clean old container
+${SCRIPTS_DIR}/clean.sh ${CONTAINER_NAME}
+
+
+docker run -itd --name ${CONTAINER_NAME} -v ${ROOT}:/skywalking buildpack-deps:16.04-curl /bin/bash
+
+CONTAINER_SCRIPTS_DIR=/skywalking/test/scripts
+
+# Install all requirements
+docker exec -it ${CONTAINER_NAME} ${CONTAINER_SCRIPTS_DIR}/pre.sh
+
+docker exec -it ${CONTAINER_NAME} ${CONTAINER_SCRIPTS_DIR}/minikube.sh startMinikube &
+
+docker exec -it ${CONTAINER_NAME} ${CONTAINER_SCRIPTS_DIR}/minikube.sh waitMinikube
+
+docker exec -it ${CONTAINER_NAME} ${CONTAINER_SCRIPTS_DIR}/minikube.sh stopMinikube
+
+${SCRIPTS_DIR}/clean.sh ${CONTAINER_NAME}
diff --git a/test/scripts/clean.sh b/test/scripts/clean.sh
new file mode 100755
index 0000000..9de476b
--- /dev/null
+++ b/test/scripts/clean.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+
+# ----------------------------------------------------------------------------
+# 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.
+# ----------------------------------------------------------------------------
+
+set -e
+
+CONTAINER_NAME=$1
+[[ "${CONTAINER_NAME}" == "" ]] && exit 1
+
+docker ps | grep -e ${CONTAINER_NAME} | awk '{print $1}' | xargs docker stop
+docker ps -a | grep -e ${CONTAINER_NAME} | awk '{print $1}' | xargs docker rm
diff --git a/test/scripts/minikube.sh b/test/scripts/minikube.sh
new file mode 100755
index 0000000..be2924b
--- /dev/null
+++ b/test/scripts/minikube.sh
@@ -0,0 +1,114 @@
+#!/usr/bin/env bash
+
+# ----------------------------------------------------------------------------
+# 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.
+# ----------------------------------------------------------------------------
+
+set -x
+
+K8S_VER=$2
+if [[ "${K8S_VER}" == "" ]]; then
+    K8S_VER="k8s-v1.15.4"
+fi
+
+function waitMinikube() {
+  set +e
+  kubectl cluster-info
+  # This for loop waits until kubectl can access the api server that Minikube has created.
+  for _ in {1..12}; do # Timeout for 120 seconds.
+    kubectl get po --all-namespaces
+    if [ $? -ne 1 ]; then
+      break
+    fi
+    sleep 10
+  done
+  if ! kubectl get all --all-namespaces; then
+    echo "Kubernetes failed to start"
+    ps ax
+    netstat -an
+    docker images
+    cat /var/lib/localkube/localkube.err
+    printf '\n\n\n'
+    kubectl cluster-info dump
+    exit 1
+  fi
+
+  echo "Minikube is running"
+
+  for _ in {1..6}; do # Timeout for 60 seconds.
+    echo "$(sudo -E minikube ip) minikube.local" | sudo tee -a /etc/hosts
+    ip=$(cat /etc/hosts | grep minikube.local | cut -d' ' -f1 | xargs)
+    if [ -n "$ip" ]; then
+      break
+    fi
+    sleep 10
+  done
+
+  ip=$(cat /etc/hosts | grep minikube.local | cut -d' ' -f1 | xargs)
+  if [ -n "$ip" ]; then
+    echo "minikube.local is mapped to $ip"
+  else
+    exit 1
+  fi
+}
+
+# startMinikubeNone starts real kubernetes minikube with none driver. This requires `sudo`.
+function startMinikubeNone() {
+  export MINIKUBE_WANTUPDATENOTIFICATION=false
+  export MINIKUBE_WANTREPORTERRORPROMPT=false
+  export MINIKUBE_HOME=$HOME
+  export CHANGE_MINIKUBE_NONE_USER=true
+
+  # Troubleshoot problem with Docker build on some CircleCI machines.
+  if [ -f /proc/sys/net/ipv4/ip_forward ]; then
+    echo "IP forwarding setting: $(cat /proc/sys/net/ipv4/ip_forward)"
+    echo "My hostname is:"
+    hostname
+    echo "My distro is:"
+    cat /etc/*-release
+    echo "Contents of /etc/sysctl.d/"
+    ls -l /etc/sysctl.d/ || true
+    echo "Contents of /etc/sysctl.conf"
+    grep ip_forward /etc/sysctl.conf
+    echo "Config files setting ip_forward"
+    find /etc/sysctl.d/ -type f -exec grep ip_forward \{\} \; -print
+    if [ "$(cat /proc/sys/net/ipv4/ip_forward)" -eq 0 ]; then
+      whoami
+      echo "Cannot build images without IPv4 forwarding, attempting to turn on forwarding"
+      sudo sysctl -w net.ipv4.ip_forward=1
+      if [ "$(cat /proc/sys/net/ipv4/ip_forward)" -eq 0 ]; then
+        echo "Cannot build images without IPv4 forwarding"
+        exit 1
+      fi
+    fi
+  fi
+
+  sudo -E minikube config set WantUpdateNotification false
+  sudo -E minikube config set WantReportErrorPrompt false
+  sudo -E minikube start --kubernetes-version=${K8S_VER#k8s-} --vm-driver=none
+}
+
+function stopMinikube() {
+  sudo minikube stop
+}
+
+case "$1" in
+  start) startMinikubeNone ;;
+  stop) stopMinikube ;;
+  wait) waitMinikube ;;
+esac
\ No newline at end of file
diff --git a/test/scripts/pre.sh b/test/scripts/pre.sh
new file mode 100755
index 0000000..d4e4935
--- /dev/null
+++ b/test/scripts/pre.sh
@@ -0,0 +1,80 @@
+#!/usr/bin/env bash
+
+# ----------------------------------------------------------------------------
+# 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.
+# ----------------------------------------------------------------------------
+
+set -ex
+
+apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*
+
+HELMVERSION=$1
+if [[ "${HELMVERSION}" == "" ]]; then
+    HELMVERSION="helm-v3.0.0-rc.3"
+fi
+
+MINIKUBEVERESION=$2
+if [[ "${MINIKUBEVERESION}" == "" ]]; then
+    MINIKUBEVERESION="minikube-v1.4.0"
+fi
+
+K8SVERSION=$3
+if [[ "${K8SVERSION}" == "" ]]; then
+    K8SVERSION="k8s-v1.15.4"
+fi
+
+# Remove strict host checking. The rest of the file is already populated by the 'add_ssh_keys' step.
+mkdir -p ~/.ssh
+echo -e "\tStrictHostKeyChecking no" >> ~/.ssh/config
+echo -e "\tControlMaster auto" >> ~/.ssh/config
+echo -e "\tControlPersist 3600" >> ~/.ssh/config
+echo -e "\tControlPath ~/.ssh/%r@%h:%p" >> ~/.ssh/config
+
+# Create directory for logs.
+mkdir -p ~/logs
+
+# create directory for e2e artifacts.
+mkdir -p ~/skywalking/test/e2e/artifacts
+
+curl -sSL https://get.helm.sh/${HELMVERSION}-linux-amd64.tar.gz | \
+    sudo tar xz -C /usr/local/bin --strip-components=1 linux-amd64/helm
+
+sudo mkdir -p /usr/local/bin
+curl -sSL "https://storage.googleapis.com/minikube/releases/${MINIKUBEVERESION#minikube-}/minikube-linux-amd64" -o /tmp/minikube
+chmod +x /tmp/minikube
+sudo mv /tmp/minikube /usr/local/bin/minikube
+
+curl -sSL "https://storage.googleapis.com/kubernetes-release/release/${K8SVERSION#k8s-}/bin/linux/amd64/kubectl" -o /tmp/kubectl
+chmod +x /tmp/kubectl
+sudo mv /tmp/kubectl /usr/local/bin/kubectl
+
+sudo apt-get remove -y --purge man-db
+sudo apt-get update
+sudo apt-get install -y \
+    --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages \
+    xvfb libgtk-3-0 libnotify4 libgconf-2-4 libnss3 libxss1 libasound2 \
+    apt-transport-https systemd \
+    software-properties-common
+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
+sudo apt-key fingerprint 0EBFCD88
+sudo add-apt-repository \
+   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
+   $(lsb_release -cs) \
+   stable"
+sudo apt-get update
+sudo apt-get install -y docker-ce
\ No newline at end of file