From 8289caee79c73ded727bcac8ee1c1b0bc92a397a Mon Sep 17 00:00:00 2001 From: Cao Xueliang Date: Fri, 28 Mar 2025 10:03:03 +0800 Subject: [PATCH] fix build container or start service error Signed-off-by: Cao Xueliang --- container/auto-submit/prepare | 2 +- container/build | 107 +++++++++--------- container/data-api/prepare | 2 +- container/defconfig.sh | 2 +- container/extract-stats/prepare | 20 ++-- container/git-mirror/prepare | 2 +- container/lifecycle/prepare | 10 +- container/redis-base/Dockerfile | 19 ---- container/redis/Dockerfile | 13 ++- container/redis/build | 18 --- container/{redis-base => redis}/redis.conf | 0 container/redis/start | 26 ----- container/scheduler/prepare | 24 ++-- container/web-backend/prepare | 27 ++--- manifests/1-conf/charts/cm-pub-env.yaml | 2 +- manifests/2-es/charts/statefulset.yaml | 2 +- manifests/2-rabbitmq/charts/deployment.yaml | 4 +- manifests/2-redis/charts/job.yaml | 2 +- manifests/2-redis/charts/statefulset.yaml | 4 +- manifests/_conf/{_confgen => }/create_es_cert | 0 .../compass-ci-web/charts/configmap.yaml | 2 + manifests/dnsmasq/charts/daemonset.yaml | 2 +- manifests/initrd-http/charts/deployment.yaml | 2 +- manifests/os-http/charts/deployment.yaml | 2 +- manifests/prepare | 52 +++++++-- sbin/auto_submit | 5 +- src/scheduler/create_job_cpio.cr | 13 ++- 27 files changed, 176 insertions(+), 188 deletions(-) delete mode 100644 container/redis-base/Dockerfile delete mode 100755 container/redis/build rename container/{redis-base => redis}/redis.conf (100%) delete mode 100755 container/redis/start rename manifests/_conf/{_confgen => }/create_es_cert (100%) diff --git a/container/auto-submit/prepare b/container/auto-submit/prepare index bba10829..9e8c5cb8 100755 --- a/container/auto-submit/prepare +++ b/container/auto-submit/prepare @@ -29,4 +29,4 @@ process_repos() { done } -#process_repos +process_repos diff --git a/container/build b/container/build index 51ec6888..b63e5233 100755 --- a/container/build +++ b/container/build @@ -8,6 +8,7 @@ app_name=$1 arch=$(uname -m) PACK_FLAG=${PACK_FLAG:-"false"} +CCI_BRANCH=${CCI_BRANCH:-"master"} # TODO: Change this repo name to our own registry REPO_NAME=${REPO_NAME:-""} BASE_IMAGE_URL=${BASE_IMAGE_URL:-"https://eulermaker.compass-ci.openeuler.openatom.cn/api/repositories/EulerMaker/base-images"} @@ -61,67 +62,67 @@ build_image() { local tag=$(_gen_image_tag) local tag_latest="latest" + for base_image in $(grep '^FROM' Dockerfile | awk '{print $2}'); do + _load_base_image $base_image + done + [ -f "prepare" ] && { chmod +x ./prepare && ./prepare } -for base_image in $(grep '^FROM' Dockerfile | awk '{print $2}'); do - _load_base_image $base_image -done - -if grep -Eq "^[[:space:]]*(COPY|ADD)" Dockerfile; then - build_opt+="--no-cache" -fi - -load_service_authentication -available_memory=$(get_available_memory) - -declare -a build_args=() -case "$app_name" in - etcd) - version="v3.5.7" - [ "$arch" = "aarch64" ] && arch=arm64 - [ "$arch" = "x86_64" ] && arch=amd64 - build_args=( - --build-arg VERSION=$version - ) - ;; - redis) - build_args=( - --build-arg PASSWD=$REDIS_PASSWD - ) - ;; - kibana|es) - build_args=( - --build-arg USER=$ES_SUPER_USER - --build-arg PASSWORD=$ES_SUPER_PASSWORD - --build-arg MEMORY=$available_memory + if grep -Eq "^[[:space:]]*(COPY|ADD)" Dockerfile; then + build_opt+="--no-cache" + fi + + load_service_authentication + available_memory=$(get_available_memory) + + declare -a build_args=() + case "$app_name" in + etcd) + version="v3.5.7" + [ "$arch" = "aarch64" ] && arch=arm64 + [ "$arch" = "x86_64" ] && arch=amd64 + build_args=( + --build-arg VERSION=$version ) ;; - kibana-logging|logging-es) - build_args=( - --build-arg USER=$LOGGING_ES_USER - --build-arg PASSWORD=$LOGGING_ES_PASSWORD - --build-arg MEMORY=$available_memory + redis) + build_args=( + --build-arg PASSWD=$REDIS_PASSWD ) ;; -esac - -docker build --network=host $build_opt \ - -t $app_name:$tag_latest \ - "${build_args[@]}" \ - --build-arg ARCH=$arch \ - --build-arg PROJECT_NAME=$PROJECT_NAME . - -popd - -if [ $PACK_FLAG == "true" ]; then - echo "Packing image..." - [ "$arch" = "arm64" ] && arch=aarch64 - [ "$arch" = "amd64" ] && arch=x86_64 - docker save -o $image_path/$app_name-$tag-$arch.tar $app_name:$tag_latest - gzip -9f $image_path/$app_name-$tag-$arch.tar -fi + kibana|es) + build_args=( + --build-arg USER=$ES_SUPER_USER + --build-arg PASSWORD=$ES_SUPER_PASSWORD + --build-arg MEMORY=$available_memory + ) + ;; + kibana-logging|logging-es) + build_args=( + --build-arg USER=$LOGGING_ES_USER + --build-arg PASSWORD=$LOGGING_ES_PASSWORD + --build-arg MEMORY=$available_memory + ) + ;; + esac + + docker build --network=host $build_opt \ + -t $app_name:$tag_latest \ + "${build_args[@]}" \ + --build-arg ARCH=$arch \ + --build-arg PROJECT_NAME=$PROJECT_NAME . + + popd + + if [ $PACK_FLAG == "true" ]; then + echo "Packing image..." + [ "$arch" = "arm64" ] && arch=aarch64 + [ "$arch" = "amd64" ] && arch=x86_64 + docker save -o $image_path/$app_name-$tag-$arch.tar $app_name:$tag_latest + gzip -9f $image_path/$app_name-$tag-$arch.tar + fi } build_image diff --git a/container/data-api/prepare b/container/data-api/prepare index cecd0dab..d4c506f2 100755 --- a/container/data-api/prepare +++ b/container/data-api/prepare @@ -18,5 +18,5 @@ if [ -d "$CURRENT_PATH/lkp-tests" ]; then rm -rf $CURRENT_PATH/lkp-tests fi -git clone https://gitee.com/openeuler/compass-ci +git clone -b $CCI_BRANCH --single-branch https://gitee.com/openeuler/compass-ci git clone https://gitee.com/compass-ci/lkp-tests diff --git a/container/defconfig.sh b/container/defconfig.sh index 49539dc8..f8e7295c 100755 --- a/container/defconfig.sh +++ b/container/defconfig.sh @@ -36,7 +36,7 @@ load_cci_secrets() load_service_authentication() { shopt -s nullglob - file_name='/etc/compass-ci/passwd.yaml' + file_name='/etc/compass-ci/*.yaml' [ -f $file_name ] || return create_yaml_variables $file_name } diff --git a/container/extract-stats/prepare b/container/extract-stats/prepare index 3c8eb886..9aeb8c41 100755 --- a/container/extract-stats/prepare +++ b/container/extract-stats/prepare @@ -1,21 +1,23 @@ #!/bin/bash -# SPDX-License-Identifier: MulanPSL-2.0+ -# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. - set -e CURRENT_PATH=$(dirname `readlink -f $0`) PROJECT_PATH=$(dirname $(dirname $CURRENT_PATH)) +PROJECT_NAME=$(basename "$PROJECT_PATH") +if [ -d "$CURRENT_PATH/$PROJECT_NAME" ]; then + rm -rf $CURRENT_PATH/$PROJECT_NAME +fi -for tmp in compass-ci lkp-tests extract-stats; do +if [ -d "$CURRENT_PATH/lkp-tests" ]; then + rm -rf $CURRENT_PATH/lkp-tests +fi - if [ -e "$CURRENT_PATH/$tmp" ]; then - rm -rf "$CURRENT_PATH/$tmp" - fi -done +if [ -e "$CURRENT_PATH/extract-stats" ]; then + rm -rf $CURRENT_PATH/extract-stats +fi $PROJECT_PATH/container/compile . -git clone --depth=1 https://gitee.com/openeuler/compass-ci +git clone -b $CCI_BRANCH --single-branch --depth=1 https://gitee.com/openeuler/$PROJECT_NAME git clone --depth=1 https://gitee.com/compass-ci/lkp-tests diff --git a/container/git-mirror/prepare b/container/git-mirror/prepare index fdadfac7..ce4462bc 100755 --- a/container/git-mirror/prepare +++ b/container/git-mirror/prepare @@ -8,4 +8,4 @@ if [ -d "$CURRENT_PATH/compass-ci" ]; then rm -rf $CURRENT_PATH/compass-ci fi -git clone https://gitee.com/openeuler/compass-ci +git clone -b $CCI_BRANCH --single-branch --depth=1 https://gitee.com/openeuler/compass-ci diff --git a/container/lifecycle/prepare b/container/lifecycle/prepare index c7bdc7a2..344d40a0 100755 --- a/container/lifecycle/prepare +++ b/container/lifecycle/prepare @@ -7,12 +7,8 @@ set -e CURRENT_PATH=$(dirname `readlink -f $0`) PROJECT_PATH=$(dirname $(dirname $CURRENT_PATH)) - -for tmp in lifecycle; do - - if [ -e "$CURRENT_PATH/$tmp" ]; then - rm -rf $CURRENT_PATH/$tmp - fi -done +if [ -e "$CURRENT_PATH/lifecycle" ]; then + rm -rf $CURRENT_PATH/lifecycle +fi $PROJECT_PATH/container/compile . diff --git a/container/redis-base/Dockerfile b/container/redis-base/Dockerfile deleted file mode 100644 index 0a92046d..00000000 --- a/container/redis-base/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -# SPDX-License-Identifier: MulanPSL-2.0+ -# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. - -FROM alpine:3.18 - -RUN sed -ri.origin 's|^https?://dl-cdn.alpinelinux.org|http://mirrors.huaweicloud.com|g' /etc/apk/repositories - -RUN apk update --no-cache && \ - apk upgrade && \ - apk add --no-cache 'redis' - -COPY redis.conf /etc/ - -VOLUME /srv/redis -WORKDIR /srv/redis - -RUN apk del gcc rpcgen gdb - -EXPOSE 6379 diff --git a/container/redis/Dockerfile b/container/redis/Dockerfile index fc0ca7fc..0a92046d 100644 --- a/container/redis/Dockerfile +++ b/container/redis/Dockerfile @@ -1,14 +1,19 @@ # SPDX-License-Identifier: MulanPSL-2.0+ # Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. -FROM redis-base:latest +FROM alpine:3.18 -ARG PASSWD +RUN sed -ri.origin 's|^https?://dl-cdn.alpinelinux.org|http://mirrors.huaweicloud.com|g' /etc/apk/repositories -RUN sed -i "s:# requirepass foobared:requirepass ${PASSWD}:" /etc/redis.conf +RUN apk update --no-cache && \ + apk upgrade && \ + apk add --no-cache 'redis' + +COPY redis.conf /etc/ VOLUME /srv/redis WORKDIR /srv/redis +RUN apk del gcc rpcgen gdb + EXPOSE 6379 -CMD ["redis-server", "/etc/redis.conf"] diff --git a/container/redis/build b/container/redis/build deleted file mode 100755 index 4d57195e..00000000 --- a/container/redis/build +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env ruby -# SPDX-License-Identifier: MulanPSL-2.0+ -# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. - -require 'set' -require_relative '../defconfig.rb' - -names = Set.new %w[ - REDIS_PASSWORD -] - -defaults = relevant_service_authentication(names) - - -docker_skip_rebuild "redis507n:alpine311" -system "docker build -t redis507n:alpine311 --build-arg PASSWD=#{defaults['REDIS_PASSWORD']} ." - -push_image_remote "redis507n:alpine311" diff --git a/container/redis-base/redis.conf b/container/redis/redis.conf similarity index 100% rename from container/redis-base/redis.conf rename to container/redis/redis.conf diff --git a/container/redis/start b/container/redis/start deleted file mode 100755 index 066947e0..00000000 --- a/container/redis/start +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: MulanPSL-2.0+ -# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. - -# WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. -# WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. -# WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. - -. $CCI_SRC/container/defconfig.sh - -start_pod - -docker_rm redis507s01 - -cmd=( - docker run - --restart=always - --name redis507s01 - -d - -p 6379:6379 - -v /srv/redis/alpine/server01:/srv/redis - -v /etc/localtime:/etc/localtime:ro - redis507n:alpine311 -) - -"${cmd[@]}" diff --git a/container/scheduler/prepare b/container/scheduler/prepare index 7e158699..52e6a950 100755 --- a/container/scheduler/prepare +++ b/container/scheduler/prepare @@ -1,22 +1,28 @@ #!/bin/bash -# SPDX-License-Identifier: MulanPSL-2.0+ -# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. - set -e CURRENT_PATH=$(dirname `readlink -f $0`) PROJECT_PATH=$(dirname $(dirname $CURRENT_PATH)) +PROJECT_NAME=$(basename "$PROJECT_PATH") + +if [ -d "$CURRENT_PATH/$PROJECT_NAME" ]; then + rm -rf $CURRENT_PATH/$PROJECT_NAME +fi +if [ -d "$CURRENT_PATH/lkp-tests" ]; then + rm -rf $CURRENT_PATH/lkp-tests +fi -for tmp in compass-ci lkp-tests scheduler create-job-cpio.sh; do +if [ -e "$CURRENT_PATH/scheduler" ]; then + rm -rf $CURRENT_PATH/scheduler +fi - if [ -e "$CURRENT_PATH/$tmp" ]; then - rm -rf $CURRENT_PATH/$tmp - fi -done +if [ -e "$CURRENT_PATH/create-job-cpio.sh" ]; then + rm -rf $CURRENT_PATH/create-job-cpio.sh +fi $PROJECT_PATH/container/compile . cp $PROJECT_PATH/sbin/create-job-cpio.sh . -git clone --depth=1 https://gitee.com/openeuler/compass-ci +git clone -b $CCI_BRANCH --single-branch --depth=1 https://gitee.com/openeuler/$PROJECT_NAME git clone --depth=1 https://gitee.com/compass-ci/lkp-tests diff --git a/container/web-backend/prepare b/container/web-backend/prepare index 76d5d4bf..22c9d34d 100755 --- a/container/web-backend/prepare +++ b/container/web-backend/prepare @@ -5,24 +5,13 @@ CURRENT_PATH=$(dirname `readlink -f $0`) PROJECT_PATH=$(dirname $(dirname $CURRENT_PATH)) PROJECT_NAME=$(basename "$PROJECT_PATH") -declare -A REPOS=( -["${PROJECT_NAME}"]="https://gitee.com/openeuler/${PROJECT_NAME}" -["lkp-tests"]="https://gitee.com/compass-ci/lkp-tests" -) +if [ -d "$CURRENT_PATH/$PROJECT_NAME" ]; then + rm -rf $CURRENT_PATH/$PROJECT_NAME +fi -process_repos() { - for repo_dir in "${!REPOS[@]}"; do - local full_path="$CURRENT_PATH/$repo_dir" +if [ -d "$CURRENT_PATH/lkp-tests" ]; then + rm -rf $CURRENT_PATH/lkp-tests +fi - if [[ -d "$full_path" ]]; then - rm -rf "$full_path" - fi - - if ! git clone --depth=1 "${REPOS[$repo_dir]}" "$full_path"; then - echo "ERROR: Failed to clone ${REPOS[$repo_dir]}" >&2 - exit 1 - fi - done -} - -process_repos +git clone -b $CCI_BRANCH --single-branch --depth=1 https://gitee.com/openeuler/$PROJECT_NAME +git clone --depth=1 https://gitee.com/compass-ci/lkp-tests diff --git a/manifests/1-conf/charts/cm-pub-env.yaml b/manifests/1-conf/charts/cm-pub-env.yaml index c46f1d16..8acc42c7 100644 --- a/manifests/1-conf/charts/cm-pub-env.yaml +++ b/manifests/1-conf/charts/cm-pub-env.yaml @@ -5,7 +5,7 @@ metadata: namespace: ems1 data: MASTER_IP: "" - MASTER_IP_INTERFACE: "enp125s0f0" + MASTER_INTERFACE: "enp125s0f0" INGRESS_PORT: "30080" IS_CLUSTER: "true" LAB_ID: "1" diff --git a/manifests/2-es/charts/statefulset.yaml b/manifests/2-es/charts/statefulset.yaml index 2e752544..f2a25675 100644 --- a/manifests/2-es/charts/statefulset.yaml +++ b/manifests/2-es/charts/statefulset.yaml @@ -23,7 +23,7 @@ spec: - -c - | chown -hR 1090:1090 /usr/share/elasticsearch/logs; - /usr/share/elasticsearch/bin/elasticsearch-users useradd ${ES_SUPER_USER} -p {ES_SUPER_PASSWORD} -r superuser || \ + /usr/share/elasticsearch/bin/elasticsearch-users useradd ${ES_SUPER_USER} -p ${ES_SUPER_PASSWORD} -r superuser || \ /usr/share/elasticsearch/bin/elasticsearch-users passwd ${ES_SUPER_USER} -p ${ES_SUPER_PASSWORD}; mkdir -p /tmp/es/config && cp -rf /usr/share/elasticsearch/config/* /tmp/es/config/; chown -hR 1090:1090 /tmp/es/config; diff --git a/manifests/2-rabbitmq/charts/deployment.yaml b/manifests/2-rabbitmq/charts/deployment.yaml index e4aa8864..7b34a283 100644 --- a/manifests/2-rabbitmq/charts/deployment.yaml +++ b/manifests/2-rabbitmq/charts/deployment.yaml @@ -16,7 +16,7 @@ spec: local-storage/rabbitmq: "true" initContainers: - name: init - image: rabbitmq:latest + image: rabbitmq:3-management command: - sh - -c @@ -32,7 +32,7 @@ spec: runAsUser: 0 containers: - name: rabbitmq - image: rabbitmq:latest + image: rabbitmq:3-management imagePullPolicy: IfNotPresent ports: - containerPort: 5672 diff --git a/manifests/2-redis/charts/job.yaml b/manifests/2-redis/charts/job.yaml index 9164ec23..1d8cf2c7 100644 --- a/manifests/2-redis/charts/job.yaml +++ b/manifests/2-redis/charts/job.yaml @@ -14,7 +14,7 @@ spec: compass-ci.io/node-role: master containers: - name: redis-init - image: redis-base:latest + image: redis:latest imagePullPolicy: IfNotPresent command: - sh diff --git a/manifests/2-redis/charts/statefulset.yaml b/manifests/2-redis/charts/statefulset.yaml index 559b12a8..cf5e77a3 100644 --- a/manifests/2-redis/charts/statefulset.yaml +++ b/manifests/2-redis/charts/statefulset.yaml @@ -16,7 +16,7 @@ spec: spec: initContainers: - name: init - image: redis-base:latest + image: redis:latest imagePullPolicy: IfNotPresent command: - sh @@ -30,7 +30,7 @@ spec: runAsUser: 0 containers: - name: redis - image: redis-base:latest + image: redis:latest imagePullPolicy: IfNotPresent command: - "redis-server" diff --git a/manifests/_conf/_confgen/create_es_cert b/manifests/_conf/create_es_cert similarity index 100% rename from manifests/_conf/_confgen/create_es_cert rename to manifests/_conf/create_es_cert diff --git a/manifests/compass-ci-web/charts/configmap.yaml b/manifests/compass-ci-web/charts/configmap.yaml index 78b1c472..36ac2029 100644 --- a/manifests/compass-ci-web/charts/configmap.yaml +++ b/manifests/compass-ci-web/charts/configmap.yaml @@ -65,6 +65,8 @@ data: proxy_set_header REMOTE_ADDR $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; server { + set $web_backend web-backend.ems1.svc.cluster.local:10002; + listen 30107; server_name localhost; charset utf-8; diff --git a/manifests/dnsmasq/charts/daemonset.yaml b/manifests/dnsmasq/charts/daemonset.yaml index 1ee56b19..0a710054 100644 --- a/manifests/dnsmasq/charts/daemonset.yaml +++ b/manifests/dnsmasq/charts/daemonset.yaml @@ -25,7 +25,7 @@ spec: cp /tmp/dnsmasq.conf /etc/dnsmasq.d/init-dnsmasq.conf; cat /etc/dnsmasq.d/init-dnsmasq.conf sed -i "s/dhcp-option=tag:enp1,3/dhcp-option=tag:enp1,3,$MASTER_IP/g" /etc/dnsmasq.d/init-dnsmasq.conf; - sed -i "s/interface=br0,docker0/interface=$MASTER_IP_INTERFACE,br0,docker0/g" /etc/dnsmasq.d/init-dnsmasq.conf + sed -i "s/interface=br0,docker0/interface=$MASTER_INTERFACE,br0,docker0/g" /etc/dnsmasq.d/init-dnsmasq.conf envFrom: - configMapRef: name: pub-env diff --git a/manifests/initrd-http/charts/deployment.yaml b/manifests/initrd-http/charts/deployment.yaml index 2cefc186..b9f2bd30 100644 --- a/manifests/initrd-http/charts/deployment.yaml +++ b/manifests/initrd-http/charts/deployment.yaml @@ -16,7 +16,7 @@ spec: compass-ci.io/node-role: master containers: - name: initrd-http - image: initrd-http:latest + image: nginx:1.25-alpine3.18 imagePullPolicy: IfNotPresent ports: - containerPort: 80 diff --git a/manifests/os-http/charts/deployment.yaml b/manifests/os-http/charts/deployment.yaml index c4f27ac1..ac90783d 100644 --- a/manifests/os-http/charts/deployment.yaml +++ b/manifests/os-http/charts/deployment.yaml @@ -16,7 +16,7 @@ spec: compass-ci.io/node-role: master containers: - name: os-http - image: initrd-http:latest + image: nginx:1.25-alpine3.18 imagePullPolicy: IfNotPresent ports: - containerPort: 80 diff --git a/manifests/prepare b/manifests/prepare index c5df8265..06c5db15 100755 --- a/manifests/prepare +++ b/manifests/prepare @@ -1,9 +1,47 @@ #!/bin/bash +if [ $# -ne 2 ]; then + echo "need two params: $0 " + exit 1 +fi + +MASTER_IP=${1%%/*} +MASTER_INTERFACE=$2 + +if ! ip link show "$MASTER_INTERFACE" &>/dev/null; then + echo "error: network interface $MASTER_INTERFACE not exist" + exit 1 +fi + +interface_ips=$(ip -4 addr show "$MASTER_INTERFACE" 2>/dev/null | grep -oP 'inet\s+\K[\d.]+') + +if echo "$interface_ips" | grep -qx "$MASTER_IP"; then + echo "success: IP $MASTER_IP config the $MASTER_INTERFACE network interface" +else + echo "error: IP $MASTER_IP don't config the $MASTER_INTERFACE network interface" + exit 1 +fi CURRENT_PATH=$(cd `dirname $0/`;pwd) CONF_PATH=$CURRENT_PATH/_conf -CONF_CHARTS_PATH=$CURRENT_PATH/1-conf +CONF_CHARTS_PATH=$CURRENT_PATH/1-conf/charts + +sed -i "s| MASTER_INTERFACE:.*| MASTER_INTERFACE: ${MASTER_INTERFACE}|g" $CONF_CHARTS_PATH/cm-pub-env.yaml + +cm_keys=( + MASTER_IP + LKP_SERVER + SCHED_HOST + OS_HTTP_HOST + INITRD_HTTP_HOST + RESULT_WEBDAV_HOST + MASTER_FLUENTD_HOST + ) + +for cm_key in "${cm_keys[@]}"; do + sed -i "s| $cm_key:.*| $cm_key: ${MASTER_IP}|g" $CONF_CHARTS_PATH/cm-pub-env.yaml + sed -i "s| $cm_key:.*| $cm_key: ${MASTER_IP}|g" $CONF_CHARTS_PATH/cm-service-env.yaml +done passwd=$(< /dev/urandom tr -dc "a-zA-Z0-9" | head -c 10; echo) jwt_secret=$(uuidgen) @@ -18,10 +56,10 @@ if [ ! -z $check_passwd ]; then fi # update yaml -kubectl -n ems1 create secret generic secrets-env --from-env-file=$CONF_PATH/secret-service.env --dry-run=client -oyaml > $CONF_CHARTS_PATH/charts/secret-env.yaml -kubectl -n ems1 create secret generic es-cert --from-file=$CONF_PATH/es-cert/elastic-certificates.p12 --dry-run=client -oyaml > $CONF_CHARTS_PATH/charts/secret-es-cert.yaml -kubectl -n ems1 create secret generic gpg-key --from-file=$CONF_PATH/gpg-key/ --dry-run=client -oyaml > $CONF_CHARTS_PATH/charts/secret-gpg-key.yaml -kubectl -n ems1 create secret generic git-ssh-conf --from-file=$CONF_PATH/ssh/ --dry-run=client -oyaml > $CONF_CHARTS_PATH/charts/secret-git-ssh-conf.yaml -kubectl -n ems1 create secret generic code-sign-cert --from-file=$CONF_PATH/code-sign/cert/ --dry-run=client -oyaml > $CONF_CHARTS_PATH/charts/secret-code-sign-cert.yaml +kubectl -n ems1 create secret generic secrets-env --from-env-file=$CONF_PATH/secret-service.env --dry-run=client -oyaml > $CONF_CHARTS_PATH/secret-env.yaml +kubectl -n ems1 create secret generic es-cert --from-file=$CONF_PATH/es-cert/elastic-certificates.p12 --dry-run=client -oyaml > $CONF_CHARTS_PATH/secret-es-cert.yaml +kubectl -n ems1 create secret generic gpg-key --from-file=$CONF_PATH/gpg-key/ --dry-run=client -oyaml > $CONF_CHARTS_PATH/secret-gpg-key.yaml +kubectl -n ems1 create secret generic git-ssh-conf --from-file=$CONF_PATH/ssh/ --dry-run=client -oyaml > $CONF_CHARTS_PATH/secret-git-ssh-conf.yaml +kubectl -n ems1 create secret generic code-sign-cert --from-file=$CONF_PATH/code-sign/cert/ --dry-run=client -oyaml > $CONF_CHARTS_PATH/secret-code-sign-cert.yaml -kubectl -n ems1 create cm publisher-conf --from-file=$CONF_PATH/code-sign/conf/client.toml --dry-run=client -oyaml > $CONF_CHARTS_PATH/charts/cm-publisher-conf.yaml +kubectl -n ems1 create cm publisher-conf --from-file=$CONF_PATH/code-sign/conf/client.toml --dry-run=client -oyaml > $CONF_CHARTS_PATH/cm-publisher-conf.yaml diff --git a/sbin/auto_submit b/sbin/auto_submit index b7a7a3eb..78444127 100755 --- a/sbin/auto_submit +++ b/sbin/auto_submit @@ -16,7 +16,10 @@ require_relative "#{ENV['LKP_SRC']}/sbin/cli/ccb_common" # receive message and auto submit job class AutoSubmit def initialize - connection = Bunny.new('amqp://172.17.0.1:5672') + host = ENV["MQ_HOST"] || '172.17.0.1' + port = ENV["MQ_PORT"] || 5672 + + connection = Bunny.new("amqp://#{host}:#{port}") connection.start channel = connection.create_channel @queue = channel.queue('new_refs') diff --git a/src/scheduler/create_job_cpio.cr b/src/scheduler/create_job_cpio.cr index 0b223891..4131ee69 100644 --- a/src/scheduler/create_job_cpio.cr +++ b/src/scheduler/create_job_cpio.cr @@ -2,7 +2,7 @@ # Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. # shellwords require from '/c/lkp-tests/lib/' -require "shellwords" +#require "shellwords" require "file_utils" require "json" require "yaml" @@ -37,6 +37,15 @@ class Sched end end + private def shellescape(str) + return "''".dup if str.empty? + str = str.dup + str = str.gsub(/[^A-Za-z0-9_\-.,:+\/@\n]/, "\\\\\\0") + + str = str.gsub(/\n/, "'\n'") + str + end + private def shell_escape(val) val = val.join "\n" if val.is_a?(Array) @@ -49,7 +58,7 @@ class Sched elsif !val.includes?('"') return "\"#{val}\"" else - return Shellwords.shellescape(val) + return shellescape(val) end end -- Gitee