diff --git a/container/auto-submit/prepare b/container/auto-submit/prepare index bba1082962d9111fe6d15a4091f59981348457d5..9e8c5cb83b36e2c6454f1cf93c089bec27eda9ce 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 51ec6888bf4a8c1efcee62297938c56ad131b054..b63e5233776e25317cf746f84eca744c76649a55 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 cecd0dab166e7b9e0f8fac4533ec7d59be44aedb..d4c506f2ee1d74a20edfdcab48604a380b74d875 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 49539dc84e606ce81e838c2baedbf19631b546de..f8e7295ccd05e5f8b74d0fb34a0e0d06b09f4cb9 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 3c8eb8869cb086d4e4764f17a5ec85e80b87d58b..9aeb8c414c799fc443d01e6ec18e33d2e50ce03e 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 fdadfac73bbb3d9e68e1feb0b3ae5375e3a96219..ce4462bc37509c3a8d3d5eaf3c1d70ac306585f3 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 c7bdc7a2f764d64fef7298e116d89b0c15cb7c0f..344d40a0966d6e99824c1aafc518009d3fb31f38 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 0a92046d6f71f593466e451c0359da4dfb969c62..0000000000000000000000000000000000000000 --- 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 fc0ca7fcd559e48c59678b18d959e7d5d849a482..0a92046d6f71f593466e451c0359da4dfb969c62 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 4d57195e3675e8b53a5b3e1224837f1e92a76179..0000000000000000000000000000000000000000 --- 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 066947e02dd85d9eea87e474dcbadd84813670cf..0000000000000000000000000000000000000000 --- 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 7e15869990575f2a3a9c3b236d9dc5b139100215..52e6a950c0f769cfa607e0f73a47c4a9ab79383e 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 76d5d4bf25a774772d06b7281cb6dbe70b7606e2..22c9d34d6a317b3fc30dc29a64d415eec15c7c55 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 c46f1d16130dac1ebb3ed6eab32da7898cd262b0..8acc42c7e2f25fb482001225211afaa4db49a120 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 2e75254473fc44d11a6a0f9a6bf41507e4a4c09c..f2a25675f38a419d28cc5c6bf1addac646264e47 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 e4aa88642db25375e6dd5f1edd5604fbabff69cf..7b34a283f46ccb98b8f01ad93e2f5cab04e018eb 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 9164ec230711d9a9507a197448e9dc274671f488..1d8cf2c75caf3bcd90b7a300b73ac332ea50d475 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 559b12a8ea370143358bde501e8c60afc544061a..cf5e77a3f2f581ee7eb328362269ee80a46802e1 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 78b1c472ce2b7164039313c91266310b8d4b4372..36ac2029eac07e05223e40be2996df4537184723 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 1ee56b199d32e3d11f5f88386082ce08bc51d2c3..0a7100544922d9cccebfa0ac28deaaa119d66555 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 2cefc1864dc78bf4b3c0c839e01670a9eb8ed77f..b9f2bd30f7a3f45506d6568431c0b115ad186318 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 c4f27ac18769856849df1745a2fea9f6148178c7..ac90783dfbf94c59d08aab331bdd6b4fb42d6948 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 c5df8265eb86228e9f12964ff1ce1752a8b11552..06c5db15194912841759d6db835ebd3419e1939c 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 b7a7a3eba9f5e5c666e8e841829f1c46156b92fa..78444127a1ca1bccb1f4fc8c155176e635638d7f 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 0b22389152a831fb1cbede001235bdf9a581587e..4131ee69dce9cfd62dccf9c9e0529f43197d9196 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