From 309bbd655ee44924644ee20a5d8009236ccbda0b Mon Sep 17 00:00:00 2001 From: Ping Xiao Date: Thu, 4 Feb 2021 18:10:44 +0800 Subject: [PATCH 1/7] [TD-2846]: imporve docker cluster scripts --- .../pytest/cluster/clusterEnvSetup/Dockerfile | 15 +++++++-- .../clusterEnvSetup/buildClusterEnv.sh | 26 +++++++++++----- .../clusterEnvSetup/docker-compose.yml | 31 +++++++++++++------ .../pytest/cluster/clusterEnvSetup/node4.yml | 11 +++++-- .../pytest/cluster/clusterEnvSetup/node5.yml | 13 ++++++-- 5 files changed, 72 insertions(+), 24 deletions(-) diff --git a/tests/pytest/cluster/clusterEnvSetup/Dockerfile b/tests/pytest/cluster/clusterEnvSetup/Dockerfile index b699e8a23f..4502142061 100644 --- a/tests/pytest/cluster/clusterEnvSetup/Dockerfile +++ b/tests/pytest/cluster/clusterEnvSetup/Dockerfile @@ -9,6 +9,7 @@ WORKDIR /root COPY ${PACKAGE} . RUN tar -zxf ${PACKAGE} +RUN tar -zxf ${TARBITRATORPKG} RUN mv ${EXTRACTDIR}/driver ./lib RUN tar -zxf ${EXTRACTDIR}/${CONTENT} @@ -19,8 +20,18 @@ WORKDIR /root RUN apt-get update RUN apt-get install -y vim tmux net-tools RUN echo 'alias ll="ls -l --color=auto"' >> /root/.bashrc - +RUN echo 'node1 172.27.0.7' >> /etc/hosts +RUN echo 'node2 172.27.0.8' >> /etc/hosts +RUN echo 'node3 172.27.0.9' >> /etc/hosts +RUN echo 'node4 172.27.0.10' >> /etc/hosts +RUN echo 'node5 172.27.0.11' >> /etc/hosts +RUN ulimit -c unlimited +RUN mkdir /coredump +RUN echo 'kernel.core_pattern=/coredump/core_%e_%p' >> /etc/sysctl.conf +RUN sysctl -p + COPY --from=builder /root/bin/taosd /usr/bin +COPY --from=builder /root/bin/tarbitrator /usr/bin COPY --from=builder /root/bin/taos /usr/bin COPY --from=builder /root/cfg/taos.cfg /etc/taos/ COPY --from=builder /root/lib/libtaos.so.* /usr/lib/libtaos.so.1 @@ -29,7 +40,7 @@ ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib" ENV LC_CTYPE=en_US.UTF-8 ENV LANG=en_US.UTF-8 -EXPOSE 6030-6041/tcp 6060/tcp 6030-6039/udp +EXPOSE 6030-6042/tcp 6060/tcp 6030-6039/udp # VOLUME [ "/var/lib/taos", "/var/log/taos", "/etc/taos" ] diff --git a/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh b/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh index 973d000a0a..896f5e4105 100755 --- a/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh +++ b/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh @@ -34,6 +34,7 @@ function createDIR { mkdir -p /data/node$i/data mkdir -p /data/node$i/log mkdir -p /data/node$i/cfg + mkdir -p /data/node$i/core done } @@ -54,16 +55,25 @@ function prepareBuild { rm -rf $CURR_DIR/../../../../release/* fi - cd $CURR_DIR/../../../../packaging - ./release.sh -v edge -n $VERSION >> /dev/null - if [ ! -f $CURR_DIR/../../../../release/TDengine-server-$VERSION-Linux-x64.tar.gz ]; then - echo "no TDengine install package found" - exit 1 + if [ ! -e $DOCKER_DIR/TDengine-server-$VERSION-Linux-x64.tar.gz && ! -e TDengine-arbitrator-$VERSION-Linux-x64.tar.gz ]; then + cd $CURR_DIR/../../../../packaging + ./release.sh -v edge -n $VERSION >> /dev/null + + if [ ! -e $CURR_DIR/../../../../release/TDengine-server-$VERSION-Linux-x64.tar.gz ]; then + echo "no TDengine install package found" + exit 1 + fi + + if [ ! -e $CURR_DIR/../../../../release/TDengine-arbitrator-$VERSION-Linux-x64.tar.gz ]; then + echo "no arbitrator install package found" + exit 1 + fi + + cd $CURR_DIR/../../../../release + mv TDengine-server-$VERSION-Linux-x64.tar.gz $DOCKER_DIR + mv TDengine-arbitrator-$VERSION-Linux-x64.tar.gz $DOCKER_DIR fi - - cd $CURR_DIR/../../../../release - mv TDengine-server-$VERSION-Linux-x64.tar.gz $DOCKER_DIR rm -rf $DOCKER_DIR/*.yml cd $CURR_DIR diff --git a/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml b/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml index c45a09582b..21240e52d6 100644 --- a/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml +++ b/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml @@ -1,14 +1,15 @@ version: '3.7' services: - td2.0-node1: - build: + td2.0-node1: + build: context: . args: - PACKAGE=${PACKAGE} + - TARBITRATORPKG=${TARBITRATORPKG} - EXTRACTDIR=${DIR} image: 'tdengine:${VERSION}' - container_name: 'td2.0-node1' + container_name: 'tdnode1' cap_add: - ALL stdin_open: true @@ -32,14 +33,18 @@ services: - type: bind source: /data/node1/cfg target: /etc/taos + # bind core dump path + - type: bind + source: /data/node2/core + target: /coredump - type: bind source: /data target: /root - hostname: node1 + hostname: tdnode1 networks: taos_update_net: ipv4_address: 172.27.0.7 - command: taosd + command: taosd && tarbitrator td2.0-node2: build: @@ -48,7 +53,7 @@ services: - PACKAGE=${PACKAGE} - EXTRACTDIR=${DIR} image: 'tdengine:${VERSION}' - container_name: 'td2.0-node2' + container_name: 'tdnode2' cap_add: - ALL stdin_open: true @@ -72,9 +77,15 @@ services: - type: bind source: /data/node2/cfg target: /etc/taos + # bind configuration + - type: bind + source: /data/node2/core + target: /coredump + # bind core dump path - type: bind source: /data target: /root + hostname: tdnode2 networks: taos_update_net: ipv4_address: 172.27.0.8 @@ -87,7 +98,7 @@ services: - PACKAGE=${PACKAGE} - EXTRACTDIR=${DIR} image: 'tdengine:${VERSION}' - container_name: 'td2.0-node3' + container_name: 'tdnode3' cap_add: - ALL stdin_open: true @@ -96,7 +107,7 @@ services: TZ: "Asia/Shanghai" command: > sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && - echo $TZ > /etc/timezone && + echo $TZ > /etc/timezone && exec my-main-application" volumes: # bind data directory @@ -111,9 +122,11 @@ services: - type: bind source: /data/node3/cfg target: /etc/taos + # bind core dump path - type: bind source: /data - target: /root + target: /root + hostname: tdnode3 networks: taos_update_net: ipv4_address: 172.27.0.9 diff --git a/tests/pytest/cluster/clusterEnvSetup/node4.yml b/tests/pytest/cluster/clusterEnvSetup/node4.yml index 542dc4cac1..6c8fc94ae8 100644 --- a/tests/pytest/cluster/clusterEnvSetup/node4.yml +++ b/tests/pytest/cluster/clusterEnvSetup/node4.yml @@ -8,7 +8,7 @@ services: - PACKAGE=${PACKAGE} - EXTRACTDIR=${DIR} image: 'tdengine:2.0.13.1' - container_name: 'td2.0-node4' + container_name: 'tdnode4' cap_add: - ALL stdin_open: true @@ -17,7 +17,7 @@ services: TZ: "Asia/Shanghai" command: > sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && - echo $TZ > /etc/timezone && + echo $TZ > /etc/timezone && exec my-main-application" volumes: # bind data directory @@ -32,9 +32,14 @@ services: - type: bind source: /data/node4/cfg target: /etc/taos + # bind core dump path + - type: bind + source: /data/node2/core + target: /coredump - type: bind source: /data - target: /root + target: /root + hostname: tdnode4 networks: taos_update_net: ipv4_address: 172.27.0.10 diff --git a/tests/pytest/cluster/clusterEnvSetup/node5.yml b/tests/pytest/cluster/clusterEnvSetup/node5.yml index 832cc65e08..92cd4a8fad 100644 --- a/tests/pytest/cluster/clusterEnvSetup/node5.yml +++ b/tests/pytest/cluster/clusterEnvSetup/node5.yml @@ -8,7 +8,7 @@ services: - PACKAGE=${PACKAGE} - EXTRACTDIR=${DIR} image: 'tdengine:2.0.13.1' - container_name: 'td2.0-node5' + container_name: 'tdnode5' cap_add: - ALL stdin_open: true @@ -32,9 +32,18 @@ services: - type: bind source: /data/node5/cfg target: /etc/taos + # bind core dump path + - type: bind + source: /data/node2/core + target: /coredump + # bind core dump path + - type: bind + source: /data/node2/core + target: /coredump - type: bind source: /data - target: /root + target: /root + hostname: tdnode5 networks: taos_update_net: ipv4_address: 172.27.0.11 From 58d4e1fa008b206dd421f5926e1379d2d3dab1ad Mon Sep 17 00:00:00 2001 From: Ping Xiao Date: Sat, 6 Feb 2021 09:14:58 +0800 Subject: [PATCH 2/7] [TD-2846]: update docker cluster scripts --- .../pytest/cluster/clusterEnvSetup/Dockerfile | 13 +++-------- .../clusterEnvSetup/docker-compose.yml | 22 +++++++++++++++++-- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/tests/pytest/cluster/clusterEnvSetup/Dockerfile b/tests/pytest/cluster/clusterEnvSetup/Dockerfile index 4502142061..c80dae72e1 100644 --- a/tests/pytest/cluster/clusterEnvSetup/Dockerfile +++ b/tests/pytest/cluster/clusterEnvSetup/Dockerfile @@ -1,12 +1,14 @@ FROM ubuntu:latest AS builder ARG PACKAGE=TDengine-server-1.6.5.10-Linux-x64.tar.gz +ARG TARBITRATORPKG=TDengine-tarbitrator-1.6.5.10-Linux-x64.tar.gz ARG EXTRACTDIR=TDengine-enterprise-server ARG CONTENT=taos.tar.gz WORKDIR /root COPY ${PACKAGE} . +COPY ${TARBITRATORPKG} . RUN tar -zxf ${PACKAGE} RUN tar -zxf ${TARBITRATORPKG} @@ -20,15 +22,6 @@ WORKDIR /root RUN apt-get update RUN apt-get install -y vim tmux net-tools RUN echo 'alias ll="ls -l --color=auto"' >> /root/.bashrc -RUN echo 'node1 172.27.0.7' >> /etc/hosts -RUN echo 'node2 172.27.0.8' >> /etc/hosts -RUN echo 'node3 172.27.0.9' >> /etc/hosts -RUN echo 'node4 172.27.0.10' >> /etc/hosts -RUN echo 'node5 172.27.0.11' >> /etc/hosts -RUN ulimit -c unlimited -RUN mkdir /coredump -RUN echo 'kernel.core_pattern=/coredump/core_%e_%p' >> /etc/sysctl.conf -RUN sysctl -p COPY --from=builder /root/bin/taosd /usr/bin COPY --from=builder /root/bin/tarbitrator /usr/bin @@ -44,4 +37,4 @@ EXPOSE 6030-6042/tcp 6060/tcp 6030-6039/udp # VOLUME [ "/var/lib/taos", "/var/log/taos", "/etc/taos" ] -CMD [ "bash" ] +CMD [ "bash" ] \ No newline at end of file diff --git a/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml b/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml index 21240e52d6..d322f57690 100644 --- a/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml +++ b/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml @@ -20,6 +20,11 @@ services: sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && exec my-main-application" + extra_hosts: + - "tdnode2:172.27.0.8" + - "tdnode3:172.27.0.9" + - "tdnode4:172.27.0.10" + - "tdnode5:172.27.0.11" volumes: # bind data directory - type: bind @@ -40,11 +45,14 @@ services: - type: bind source: /data target: /root - hostname: tdnode1 + hostname: tdnode1 + networks: taos_update_net: ipv4_address: 172.27.0.7 - command: taosd && tarbitrator + command: > + sh -c "tarbitrator + && taosd" td2.0-node2: build: @@ -64,6 +72,11 @@ services: sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && exec my-main-application" + extra_hosts: + - "tdnode1:172.27.0.7" + - "tdnode3:172.27.0.9" + - "tdnode4:172.27.0.10" + - "tdnode5:172.27.0.11" volumes: # bind data directory - type: bind @@ -109,6 +122,11 @@ services: sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && exec my-main-application" + extra_hosts: + - "tdnode1:172.27.0.7" + - "tdnode2:172.27.0.8" + - "tdnode4:172.27.0.10" + - "tdnode5:172.27.0.11" volumes: # bind data directory - type: bind From 508993a73b5f038961284b31cdb1d9f6fd2b4836 Mon Sep 17 00:00:00 2001 From: Ping Xiao Date: Sat, 6 Feb 2021 17:50:21 +0800 Subject: [PATCH 3/7] [TD-2846]: update docker cluster scripts --- .../pytest/cluster/clusterEnvSetup/Dockerfile | 7 +- tests/pytest/cluster/clusterEnvSetup/basic.py | 130 +++++++++++++++++- .../clusterEnvSetup/buildClusterEnv.sh | 39 ++++-- .../clusterEnvSetup/docker-compose.yml | 64 ++------- .../pytest/cluster/clusterEnvSetup/node3.yml | 54 ++++++++ .../pytest/cluster/clusterEnvSetup/node4.yml | 14 +- .../pytest/cluster/clusterEnvSetup/node5.yml | 16 ++- 7 files changed, 243 insertions(+), 81 deletions(-) create mode 100644 tests/pytest/cluster/clusterEnvSetup/node3.yml diff --git a/tests/pytest/cluster/clusterEnvSetup/Dockerfile b/tests/pytest/cluster/clusterEnvSetup/Dockerfile index c80dae72e1..c9c4d79be9 100644 --- a/tests/pytest/cluster/clusterEnvSetup/Dockerfile +++ b/tests/pytest/cluster/clusterEnvSetup/Dockerfile @@ -1,12 +1,13 @@ FROM ubuntu:latest AS builder ARG PACKAGE=TDengine-server-1.6.5.10-Linux-x64.tar.gz -ARG TARBITRATORPKG=TDengine-tarbitrator-1.6.5.10-Linux-x64.tar.gz ARG EXTRACTDIR=TDengine-enterprise-server +ARG TARBITRATORPKG=TDengine-tarbitrator-1.6.5.10-Linux-x64.tar.gz +ARG EXTRACTDIR2=TDengine-enterprise-arbitrator ARG CONTENT=taos.tar.gz WORKDIR /root - + COPY ${PACKAGE} . COPY ${TARBITRATORPKG} . @@ -14,6 +15,7 @@ RUN tar -zxf ${PACKAGE} RUN tar -zxf ${TARBITRATORPKG} RUN mv ${EXTRACTDIR}/driver ./lib RUN tar -zxf ${EXTRACTDIR}/${CONTENT} +RUN mv ${EXTRACTDIR2}/bin/* /root/bin FROM ubuntu:latest @@ -22,6 +24,7 @@ WORKDIR /root RUN apt-get update RUN apt-get install -y vim tmux net-tools RUN echo 'alias ll="ls -l --color=auto"' >> /root/.bashrc +RUN ulimit -c unlimited COPY --from=builder /root/bin/taosd /usr/bin COPY --from=builder /root/bin/tarbitrator /usr/bin diff --git a/tests/pytest/cluster/clusterEnvSetup/basic.py b/tests/pytest/cluster/clusterEnvSetup/basic.py index 10ba91ab06..ee611733d0 100644 --- a/tests/pytest/cluster/clusterEnvSetup/basic.py +++ b/tests/pytest/cluster/clusterEnvSetup/basic.py @@ -13,6 +13,7 @@ import os import random +import argparse class ClusterTestcase: @@ -22,5 +23,130 @@ class ClusterTestcase: os.system("yes|taosdemo -h 172.27.0.7 -n 100 -t 100 -x") os.system("python3 ../../concurrent_inquiry.py -H 172.27.0.7 -T 4 -t 4 -l 10") -clusterTest = ClusterTestcase() -clusterTest.run() \ No newline at end of file +parser = argparse.ArgumentParser() +parser.add_argument( + '-H', + '--host-name', + action='store', + default='127.0.0.1', + type=str, + help='host name to be connected (default: 127.0.0.1)') +parser.add_argument( + '-S', + '--ts', + action='store', + default=1500000000000, + type=int, + help='insert data from timestamp (default: 1500000000000)') +parser.add_argument( + '-d', + '--db-name', + action='store', + default='test', + type=str, + help='Database name to be created (default: test)') +parser.add_argument( + '-t', + '--number-of-native-threads', + action='store', + default=10, + type=int, + help='Number of native threads (default: 10)') +parser.add_argument( + '-T', + '--number-of-rest-threads', + action='store', + default=10, + type=int, + help='Number of rest threads (default: 10)') +parser.add_argument( + '-r', + '--number-of-records', + action='store', + default=100, + type=int, + help='Number of record to be created for each table (default: 100)') +parser.add_argument( + '-c', + '--create-table', + action='store', + default='0', + type=int, + help='whether gen data (default: 0)') +parser.add_argument( + '-p', + '--subtb-name-prefix', + action='store', + default='t', + type=str, + help='subtable-name-prefix (default: t)') +parser.add_argument( + '-P', + '--stb-name-prefix', + action='store', + default='st', + type=str, + help='stable-name-prefix (default: st)') +parser.add_argument( + '-b', + '--probabilities', + action='store', + default='0.05', + type=float, + help='probabilities of join (default: 0.05)') +parser.add_argument( + '-l', + '--loop-per-thread', + action='store', + default='100', + type=int, + help='loop per thread (default: 100)') +parser.add_argument( + '-u', + '--user', + action='store', + default='root', + type=str, + help='user name') +parser.add_argument( + '-w', + '--password', + action='store', + default='root', + type=str, + help='user name') +parser.add_argument( + '-n', + '--number-of-tables', + action='store', + default=1000, + type=int, + help='Number of subtales per stable (default: 1000)') +parser.add_argument( + '-N', + '--number-of-stables', + action='store', + default=2, + type=int, + help='Number of stables (default: 2)') +parser.add_argument( + '-m', + '--mix-stable-subtable', + action='store', + default=0, + type=int, + help='0:stable & substable ,1:subtable ,2:stable (default: 0)') + +args = parser.parse_args() +q = ConcurrentInquiry( + args.ts,args.host_name,args.user,args.password,args.db_name, + args.stb_name_prefix,args.subtb_name_prefix,args.number_of_native_threads,args.number_of_rest_threads, + args.probabilities,args.loop_per_thread,args.number_of_stables,args.number_of_tables ,args.number_of_records, + args.mix_stable_subtable ) + +if args.create_table: + q.gen_data() +q.get_full() + +#q.gen_query_sql() +q.run() \ No newline at end of file diff --git a/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh b/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh index 896f5e4105..dfeab8c094 100755 --- a/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh +++ b/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh @@ -27,9 +27,18 @@ do esac done +function addTaoscfg { + for i in {1..5} + do + touch /data/node$i/cfg/taos.cfg + echo 'firstEp tdnode1:6030' > /data/node$i/cfg/taos.cfg + echo 'fqdn tdnode$i' >> /data/node$i/cfg/taos.cfg + echo 'arbitrator tdnode1:6042' >> /data/node$i/cfg/taos.cfg + done +} function createDIR { - for i in {1.. $2} + for i in {1..5} do mkdir -p /data/node$i/data mkdir -p /data/node$i/log @@ -39,7 +48,7 @@ function createDIR { } function cleanEnv { - for i in {1..3} + for i in {1..5} do echo /data/node$i/data/* rm -rf /data/node$i/data/* @@ -78,35 +87,35 @@ function prepareBuild { rm -rf $DOCKER_DIR/*.yml cd $CURR_DIR - cp docker-compose.yml $DOCKER_DIR + cp *.yml $DOCKER_DIR cp Dockerfile $DOCKER_DIR - - if [ $NUM_OF_NODES -eq 4 ]; then - cp ../node4.yml $DOCKER_DIR - fi - - if [ $NUM_OF_NODES -eq 5 ]; then - cp ../node5.yml $DOCKER_DIR - fi } function clusterUp { cd $DOCKER_DIR + PARAMETERS=PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION + + if [ $NUM_OF_NODES -eq 2 ]; then + $PARAMETERS docker-compose up -d + fi + if [ $NUM_OF_NODES -eq 3 ]; then - PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION VERSION=$VERSION docker-compose up -d + $PARAMETERS docker-compose -f docker-compose.yml -f node3.yml up -d fi if [ $NUM_OF_NODES -eq 4 ]; then - PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION VERSION=$VERSION docker-compose -f docker-compose.yml -f node4.yml up -d + $PARAMETERS docker-compose -f docker-compose.yml -f node3.yml -f node4.yml up -d fi if [ $NUM_OF_NODES -eq 5 ]; then - PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION VERSION=$VERSION docker-compose -f docker-compose.yml -f node4.yml -f node5.yml up -d + $PARAMETERS docker-compose -f docker-compose.yml -f node3.yml -f node4.yml -f node5.yml up -d fi } -cleanEnv +createDIR +cleanEnv +addTaoscfg prepareBuild clusterUp \ No newline at end of file diff --git a/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml b/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml index d322f57690..cb35abd9a1 100644 --- a/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml +++ b/tests/pytest/cluster/clusterEnvSetup/docker-compose.yml @@ -8,6 +8,7 @@ services: - PACKAGE=${PACKAGE} - TARBITRATORPKG=${TARBITRATORPKG} - EXTRACTDIR=${DIR} + - EXTRACTDIR2=${DIR2} image: 'tdengine:${VERSION}' container_name: 'tdnode1' cap_add: @@ -19,6 +20,9 @@ services: command: > sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && + mkdir /coredump && + echo 'kernel.core_pattern=/coredump/core_%e_%p' >> /etc/sysctl.conf && + sysctl -p && exec my-main-application" extra_hosts: - "tdnode2:172.27.0.8" @@ -40,19 +44,16 @@ services: target: /etc/taos # bind core dump path - type: bind - source: /data/node2/core + source: /data/node1/core target: /coredump - type: bind source: /data target: /root hostname: tdnode1 - networks: taos_update_net: ipv4_address: 172.27.0.7 - command: > - sh -c "tarbitrator - && taosd" + command: taosd td2.0-node2: build: @@ -71,6 +72,9 @@ services: command: > sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && + mkdir /coredump && + echo 'kernel.core_pattern=/coredump/core_%e_%p' >> /etc/sysctl.conf && + sysctl -p && exec my-main-application" extra_hosts: - "tdnode1:172.27.0.7" @@ -90,11 +94,10 @@ services: - type: bind source: /data/node2/cfg target: /etc/taos - # bind configuration + # bind core dump path - type: bind source: /data/node2/core - target: /coredump - # bind core dump path + target: /coredump - type: bind source: /data target: /root @@ -104,51 +107,6 @@ services: ipv4_address: 172.27.0.8 command: taosd - td2.0-node3: - build: - context: . - args: - - PACKAGE=${PACKAGE} - - EXTRACTDIR=${DIR} - image: 'tdengine:${VERSION}' - container_name: 'tdnode3' - cap_add: - - ALL - stdin_open: true - tty: true - environment: - TZ: "Asia/Shanghai" - command: > - sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && - echo $TZ > /etc/timezone && - exec my-main-application" - extra_hosts: - - "tdnode1:172.27.0.7" - - "tdnode2:172.27.0.8" - - "tdnode4:172.27.0.10" - - "tdnode5:172.27.0.11" - volumes: - # bind data directory - - type: bind - source: /data/node3/data - target: /var/lib/taos - # bind log directory - - type: bind - source: /data/node3/log - target: /var/log/taos - # bind configuration - - type: bind - source: /data/node3/cfg - target: /etc/taos - # bind core dump path - - type: bind - source: /data - target: /root - hostname: tdnode3 - networks: - taos_update_net: - ipv4_address: 172.27.0.9 - command: taosd networks: taos_update_net: diff --git a/tests/pytest/cluster/clusterEnvSetup/node3.yml b/tests/pytest/cluster/clusterEnvSetup/node3.yml new file mode 100644 index 0000000000..4f4f3a6f99 --- /dev/null +++ b/tests/pytest/cluster/clusterEnvSetup/node3.yml @@ -0,0 +1,54 @@ +version: '3.7' + +services: + td2.0-node3: + build: + context: . + args: + - PACKAGE=${PACKAGE} + - EXTRACTDIR=${DIR} + image: 'tdengine:${VERSION}' + container_name: 'tdnode3' + cap_add: + - ALL + stdin_open: true + tty: true + environment: + TZ: "Asia/Shanghai" + command: > + sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && + echo $TZ > /etc/timezone && + mkdir /coredump && + echo 'kernel.core_pattern=/coredump/core_%e_%p' >> /etc/sysctl.conf && + sysctl -p && + exec my-main-application" + extra_hosts: + - "tdnode1:172.27.0.7" + - "tdnode2:172.27.0.8" + - "tdnode4:172.27.0.10" + - "tdnode5:172.27.0.11" + volumes: + # bind data directory + - type: bind + source: /data/node3/data + target: /var/lib/taos + # bind log directory + - type: bind + source: /data/node3/log + target: /var/log/taos + # bind configuration + - type: bind + source: /data/node3/cfg + target: /etc/taos + # bind core dump path + - type: bind + source: /data/node3/core + target: /coredump + - type: bind + source: /data + target: /root + hostname: tdnode3 + networks: + taos_update_net: + ipv4_address: 172.27.0.9 + command: taosd \ No newline at end of file diff --git a/tests/pytest/cluster/clusterEnvSetup/node4.yml b/tests/pytest/cluster/clusterEnvSetup/node4.yml index 6c8fc94ae8..c82a174cb8 100644 --- a/tests/pytest/cluster/clusterEnvSetup/node4.yml +++ b/tests/pytest/cluster/clusterEnvSetup/node4.yml @@ -7,7 +7,7 @@ services: args: - PACKAGE=${PACKAGE} - EXTRACTDIR=${DIR} - image: 'tdengine:2.0.13.1' + image: 'tdengine:${VERSION}' container_name: 'tdnode4' cap_add: - ALL @@ -17,8 +17,16 @@ services: TZ: "Asia/Shanghai" command: > sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && - echo $TZ > /etc/timezone && + echo $TZ > /etc/timezone && + mkdir /coredump && + echo 'kernel.core_pattern=/coredump/core_%e_%p' >> /etc/sysctl.conf && + sysctl -p && exec my-main-application" + extra_hosts: + - "tdnode2:172.27.0.8" + - "tdnode3:172.27.0.9" + - "tdnode4:172.27.0.10" + - "tdnode5:172.27.0.11" volumes: # bind data directory - type: bind @@ -34,7 +42,7 @@ services: target: /etc/taos # bind core dump path - type: bind - source: /data/node2/core + source: /data/node4/core target: /coredump - type: bind source: /data diff --git a/tests/pytest/cluster/clusterEnvSetup/node5.yml b/tests/pytest/cluster/clusterEnvSetup/node5.yml index 92cd4a8fad..2e37e47512 100644 --- a/tests/pytest/cluster/clusterEnvSetup/node5.yml +++ b/tests/pytest/cluster/clusterEnvSetup/node5.yml @@ -7,7 +7,7 @@ services: args: - PACKAGE=${PACKAGE} - EXTRACTDIR=${DIR} - image: 'tdengine:2.0.13.1' + image: 'tdengine:${VERSION}' container_name: 'tdnode5' cap_add: - ALL @@ -18,7 +18,15 @@ services: command: > sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && + mkdir /coredump && + echo 'kernel.core_pattern=/coredump/core_%e_%p' >> /etc/sysctl.conf && + sysctl -p && exec my-main-application" + extra_hosts: + - "tdnode2:172.27.0.8" + - "tdnode3:172.27.0.9" + - "tdnode4:172.27.0.10" + - "tdnode5:172.27.0.11" volumes: # bind data directory - type: bind @@ -34,11 +42,7 @@ services: target: /etc/taos # bind core dump path - type: bind - source: /data/node2/core - target: /coredump - # bind core dump path - - type: bind - source: /data/node2/core + source: /data/node5/core target: /coredump - type: bind source: /data From e53e414f51434755e278fc42e497f5dddfd4bee2 Mon Sep 17 00:00:00 2001 From: Ping Xiao Date: Mon, 8 Feb 2021 01:42:41 +0800 Subject: [PATCH 4/7] [TD-2846]: update docker cluster scripts --- tests/pytest/cluster/clusterEnvSetup/basic.py | 168 ++++++------------ .../clusterEnvSetup/buildClusterEnv.sh | 22 +-- .../cluster/clusterEnvSetup/insert.json | 55 ++++++ .../clusterEnvSetup/taosdemoxWrapper.py | 142 +++++++++++++++ 4 files changed, 267 insertions(+), 120 deletions(-) create mode 100644 tests/pytest/cluster/clusterEnvSetup/insert.json create mode 100644 tests/pytest/cluster/clusterEnvSetup/taosdemoxWrapper.py diff --git a/tests/pytest/cluster/clusterEnvSetup/basic.py b/tests/pytest/cluster/clusterEnvSetup/basic.py index ee611733d0..d9b8e9ce4a 100644 --- a/tests/pytest/cluster/clusterEnvSetup/basic.py +++ b/tests/pytest/cluster/clusterEnvSetup/basic.py @@ -12,141 +12,89 @@ # -*- coding: utf-8 -*- import os +import taos import random import argparse -class ClusterTestcase: +class BuildDockerCluser: + + def __init__(self, hostName, user, password, configDir, numOfNodes, clusterVersion): + self.hostName = hostName + self.user = user + self.password = password + self.configDir = configDir + self.numOfNodes = numOfNodes + self.clusterVersion = clusterVersion + + def getConnection(self): + self.conn = taos.connect( + host = self.hostName, + user = self.user, + password = self.password, + config = self.configDir) + + def createDondes(self): + self.cursor = self.conn.cursor() + for i in range(2, self.numOfNodes + 1): + self.cursor.execute("create dnode tdnode%d" % i) + + def startArbitrator(self): + print("start arbitrator") + os.system("docker exec -d $(docker ps|grep tdnode1|awk '{print $1}') tarbitrator") - def run(self): - os.system("./buildClusterEnv.sh -n 3 -v 2.0.14.1") - os.system("yes|taosdemo -h 172.27.0.7 -n 100 -t 100 -x") - os.system("python3 ../../concurrent_inquiry.py -H 172.27.0.7 -T 4 -t 4 -l 10") + if self.numOfNodes < 2 or self.numOfNodes > 5: + print("the number of nodes must be between 2 and 5") + exit(0) + os.system("./buildClusterEnv.sh -n %d -v %s" % (self.numOfNodes, self.clusterVersion)) + self.getConnection() + self.createDondes() + self.startArbitrator() parser = argparse.ArgumentParser() parser.add_argument( '-H', - '--host-name', + '--host', action='store', - default='127.0.0.1', + default='tdnode1', type=str, - help='host name to be connected (default: 127.0.0.1)') -parser.add_argument( - '-S', - '--ts', - action='store', - default=1500000000000, - type=int, - help='insert data from timestamp (default: 1500000000000)') -parser.add_argument( - '-d', - '--db-name', - action='store', - default='test', - type=str, - help='Database name to be created (default: test)') -parser.add_argument( - '-t', - '--number-of-native-threads', - action='store', - default=10, - type=int, - help='Number of native threads (default: 10)') -parser.add_argument( - '-T', - '--number-of-rest-threads', - action='store', - default=10, - type=int, - help='Number of rest threads (default: 10)') -parser.add_argument( - '-r', - '--number-of-records', - action='store', - default=100, - type=int, - help='Number of record to be created for each table (default: 100)') -parser.add_argument( - '-c', - '--create-table', - action='store', - default='0', - type=int, - help='whether gen data (default: 0)') -parser.add_argument( - '-p', - '--subtb-name-prefix', - action='store', - default='t', - type=str, - help='subtable-name-prefix (default: t)') -parser.add_argument( - '-P', - '--stb-name-prefix', - action='store', - default='st', - type=str, - help='stable-name-prefix (default: st)') -parser.add_argument( - '-b', - '--probabilities', - action='store', - default='0.05', - type=float, - help='probabilities of join (default: 0.05)') -parser.add_argument( - '-l', - '--loop-per-thread', - action='store', - default='100', - type=int, - help='loop per thread (default: 100)') + help='host name to be connected (default: tdnode1)') parser.add_argument( '-u', '--user', - action='store', + action='store', default='root', type=str, - help='user name') + help='user (default: root)') parser.add_argument( - '-w', + '-p', '--password', - action='store', - default='root', + action='store', + default='taosdata', type=str, - help='user name') + help='password (default: taosdata)') +parser.add_argument( + '-c', + '--config-dir', + action='store', + default='/etc/taos', + type=str, + help='configuration directory (default: /etc/taos)') parser.add_argument( '-n', - '--number-of-tables', - action='store', - default=1000, - type=int, - help='Number of subtales per stable (default: 1000)') -parser.add_argument( - '-N', - '--number-of-stables', + '--num-of-nodes', action='store', default=2, type=int, - help='Number of stables (default: 2)') + help='number of nodes in the cluster (default: 2, min: 2, max: 5)') parser.add_argument( - '-m', - '--mix-stable-subtable', + '-v', + '--version', action='store', - default=0, - type=int, - help='0:stable & substable ,1:subtable ,2:stable (default: 0)') + default='2.0.14.1', + type=str, + help='the version of the cluster to be build, Default is 2.0.14.1') args = parser.parse_args() -q = ConcurrentInquiry( - args.ts,args.host_name,args.user,args.password,args.db_name, - args.stb_name_prefix,args.subtb_name_prefix,args.number_of_native_threads,args.number_of_rest_threads, - args.probabilities,args.loop_per_thread,args.number_of_stables,args.number_of_tables ,args.number_of_records, - args.mix_stable_subtable ) - -if args.create_table: - q.gen_data() -q.get_full() - -#q.gen_query_sql() -q.run() \ No newline at end of file +cluster = BuildDockerCluser(args.host, args.user, args.password, args.config_dir, args.num_of_nodes, args.version) +cluster.run() \ No newline at end of file diff --git a/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh b/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh index dfeab8c094..968cdd1c1c 100755 --- a/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh +++ b/tests/pytest/cluster/clusterEnvSetup/buildClusterEnv.sh @@ -32,7 +32,7 @@ function addTaoscfg { do touch /data/node$i/cfg/taos.cfg echo 'firstEp tdnode1:6030' > /data/node$i/cfg/taos.cfg - echo 'fqdn tdnode$i' >> /data/node$i/cfg/taos.cfg + echo 'fqdn tdnode'$i >> /data/node$i/cfg/taos.cfg echo 'arbitrator tdnode1:6042' >> /data/node$i/cfg/taos.cfg done } @@ -64,9 +64,9 @@ function prepareBuild { rm -rf $CURR_DIR/../../../../release/* fi - - if [ ! -e $DOCKER_DIR/TDengine-server-$VERSION-Linux-x64.tar.gz && ! -e TDengine-arbitrator-$VERSION-Linux-x64.tar.gz ]; then + if [ ! -e $DOCKER_DIR/TDengine-server-$VERSION-Linux-x64.tar.gz ] || [ ! -e $DOCKER_DIR/TDengine-arbitrator-$VERSION-Linux-x64.tar.gz ]; then cd $CURR_DIR/../../../../packaging + echo "generating TDeninger packages" ./release.sh -v edge -n $VERSION >> /dev/null if [ ! -e $CURR_DIR/../../../../release/TDengine-server-$VERSION-Linux-x64.tar.gz ]; then @@ -92,26 +92,28 @@ function prepareBuild { } function clusterUp { + echo "docker compose start" - cd $DOCKER_DIR - - PARAMETERS=PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION + cd $DOCKER_DIR if [ $NUM_OF_NODES -eq 2 ]; then - $PARAMETERS docker-compose up -d + echo "create 2 dnodes" + PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION docker-compose up -d fi if [ $NUM_OF_NODES -eq 3 ]; then - $PARAMETERS docker-compose -f docker-compose.yml -f node3.yml up -d + PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION docker-compose -f docker-compose.yml -f node3.yml up -d fi if [ $NUM_OF_NODES -eq 4 ]; then - $PARAMETERS docker-compose -f docker-compose.yml -f node3.yml -f node4.yml up -d + PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION docker-compose -f docker-compose.yml -f node3.yml -f node4.yml up -d fi if [ $NUM_OF_NODES -eq 5 ]; then - $PARAMETERS docker-compose -f docker-compose.yml -f node3.yml -f node4.yml -f node5.yml up -d + PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION docker-compose -f docker-compose.yml -f node3.yml -f node4.yml -f node5.yml up -d fi + + echo "docker compose finish" } createDIR diff --git a/tests/pytest/cluster/clusterEnvSetup/insert.json b/tests/pytest/cluster/clusterEnvSetup/insert.json new file mode 100644 index 0000000000..56a64b7b85 --- /dev/null +++ b/tests/pytest/cluster/clusterEnvSetup/insert.json @@ -0,0 +1,55 @@ +{ + "filetype": "insert", + "cfgdir": "/etc/taos", + "host": "127.0.0.1", + "port": 6030, + "user": "root", + "password": "taosdata", + "thread_count": 4, + "thread_count_create_tbl": 1, + "result_file": "./insert_res.txt", + "confirm_parameter_prompt": "no", + "databases": [{ + "dbinfo": { + "name": "db", + "drop": "no", + "replica": 1, + "days": 2, + "cache": 16, + "blocks": 8, + "precision": "ms", + "keep": 365, + "minRows": 100, + "maxRows": 4096, + "comp":2, + "walLevel":1, + "quorum":1, + "fsync":3000, + "update": 0 + }, + "super_tables": [{ + "name": "stb", + "child_table_exists":"no", + "childtable_count": 1, + "childtable_prefix": "stb_", + "auto_create_table": "no", + "data_source": "rand", + "insert_mode": "taosc", + "insert_rate": 0, + "insert_rows": 100000, + "multi_thread_write_one_tbl": "no", + "number_of_tbl_in_one_sql": 1, + "rows_per_tbl": 100, + "max_sql_len": 1024000, + "disorder_ratio": 0, + "disorder_range": 1000, + "timestamp_step": 10, + "start_timestamp": "2020-10-01 00:00:00.000", + "sample_format": "csv", + "sample_file": "./sample.csv", + "tags_file": "", + "columns": [{"type": "INT"}, {"type": "DOUBLE", "count":10}, {"type": "BINARY", "len": 16, "count":3}, {"type": "BINARY", "len": 32, "count":6}], + "tags": [{"type": "TINYINT", "count":2}, {"type": "BINARY", "len": 16, "count":5}] + }] + }] +} diff --git a/tests/pytest/cluster/clusterEnvSetup/taosdemoxWrapper.py b/tests/pytest/cluster/clusterEnvSetup/taosdemoxWrapper.py new file mode 100644 index 0000000000..ad0696669a --- /dev/null +++ b/tests/pytest/cluster/clusterEnvSetup/taosdemoxWrapper.py @@ -0,0 +1,142 @@ +################################################################### +# Copyright (c) 2016 by TAOS Technologies, Inc. +# All rights reserved. +# +# This file is proprietary and confidential to TAOS Technologies. +# No part of this file may be reproduced, stored, transmitted, +# disclosed or used in any form or by any means other than as +# expressly provided by the written permission from Jianhui Tao +# +################################################################### + +# -*- coding: utf-8 -*- + +import os +import random +import argparse + +class taosdemoxWrapper: + + def __init__(self, host, metadata, database, tables, threads, configDir, replica, + columnType, columnsPerTable, rowsPerTable, disorderRatio, disorderRange, charTypeLen): + self.host = host + self.metadata = metadata + self.database = database + self.tables = tables + self.threads = threads + self.configDir = configDir + self.replica = replica + self.columnType = columnType + self.columnsPerTable = columnsPerTable + self.rowsPerTable = rowsPerTable + self.disorderRatio = disorderRatio + self.disorderRange = disorderRange + self.charTypeLen = charTypeLen + + def run(self): + if self.metadata is None: + os.system("taosdemox -h %s -d %s -t %d -T %d -c %s -a %d -b %s -n %d -t %d -O %d -R %d -w %d -x -y" + % (self.host, self.database, self.tables, self.threads, self.configDir, self.replica, self.columnType, + self.rowsPerTable, self.disorderRatio, self.disorderRange, self.charTypeLen)) + else: + os.system("taosdemox -f %s" % self.metadata) + + +parser = argparse.ArgumentParser() +parser.add_argument( + '-H', + '--host-name', + action='store', + default='tdnode1', + type=str, + help='host name to be connected (default: tdnode1)') +parser.add_argument( + '-f', + '--metadata', + action='store', + default=None, + type=str, + help='The meta data to execution procedure, if use -f, all other options invalid, Default is NULL') +parser.add_argument( + '-d', + '--db-name', + action='store', + default='test', + type=str, + help='Database name to be created (default: test)') +parser.add_argument( + '-t', + '--num-of-tables', + action='store', + default=10, + type=int, + help='Number of tables (default: 10000)') +parser.add_argument( + '-T', + '--num-of-threads', + action='store', + default=10, + type=int, + help='Number of rest threads (default: 10)') +parser.add_argument( + '-c', + '--config-dir', + action='store', + default='/etc/taos/', + type=str, + help='Configuration directory. (Default is /etc/taos/)') +parser.add_argument( + '-a', + '--replica', + action='store', + default=100, + type=int, + help='Set the replica parameters of the database (default: 1, min: 1, max: 3)') +parser.add_argument( + '-b', + '--column-type', + action='store', + default='int', + type=str, + help='the data_type of columns (default: TINYINT,SMALLINT,INT,BIGINT,FLOAT,DOUBLE,BINARY,NCHAR,BOOL,TIMESTAMP)') +parser.add_argument( + '-l', + '--num-of-cols', + action='store', + default=10, + type=int, + help='The number of columns per record (default: 10)') +parser.add_argument( + '-n', + '--num-of-rows', + action='store', + default=1000, + type=int, + help='Number of subtales per stable (default: 1000)') +parser.add_argument( + '-O', + '--disorder-ratio', + action='store', + default=0, + type=int, + help=' (0: in order, > 0: disorder ratio, default: 0)') +parser.add_argument( + '-R', + '--disorder-range', + action='store', + default=0, + type=int, + help='Out of order datas range, ms (default: 1000)') +parser.add_argument( + '-w', + '--char-type-length', + action='store', + default=16, + type=int, + help='Out of order datas range, ms (default: 16)') + +args = parser.parse_args() +taosdemox = taosdemoxWrapper(args.host_name, args.metadata, args.db_name, args.num_of_tables, + args.num_of_threads, args.config_dir, args.replica, args.column_type, args.num_of_cols, + args.num_of_rows, args.disorder_ratio, args.disorder_range, args.char_type_length) +taosdemox.run() \ No newline at end of file From 66eee02ce327c60553d44ec2c3f14e7feba78563 Mon Sep 17 00:00:00 2001 From: plum-lihui Date: Wed, 10 Feb 2021 09:21:13 +0800 Subject: [PATCH 5/7] change version number --- cmake/version.inc | 2 +- snap/snapcraft.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/version.inc b/cmake/version.inc index 07356bb216..962f1f6040 100755 --- a/cmake/version.inc +++ b/cmake/version.inc @@ -4,7 +4,7 @@ PROJECT(TDengine) IF (DEFINED VERNUMBER) SET(TD_VER_NUMBER ${VERNUMBER}) ELSE () - SET(TD_VER_NUMBER "2.0.14.0") + SET(TD_VER_NUMBER "2.0.16.0") ENDIF () IF (DEFINED VERCOMPATIBLE) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 102fea6b9e..7b6bfee42b 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,6 +1,6 @@ name: tdengine base: core18 -version: '2.0.14.0' +version: '2.0.16.0' icon: snap/gui/t-dengine.svg summary: an open-source big data platform designed and optimized for IoT. description: | @@ -72,7 +72,7 @@ parts: - usr/bin/taosd - usr/bin/taos - usr/bin/taosdemo - - usr/lib/libtaos.so.2.0.14.0 + - usr/lib/libtaos.so.2.0.16.0 - usr/lib/libtaos.so.1 - usr/lib/libtaos.so From 5133cbd4bf277f686f9945c331f73e44aa80b5df Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Fri, 12 Feb 2021 15:21:00 +0000 Subject: [PATCH 6/7] [TD-2969] : fix rust example submodule issue. --- .gitmodules | 6 +++--- tests/examples/rust | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) create mode 160000 tests/examples/rust diff --git a/.gitmodules b/.gitmodules index 156226d544..74afbbf997 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,9 +4,9 @@ [submodule "src/connector/grafanaplugin"] path = src/connector/grafanaplugin url = https://github.com/taosdata/grafanaplugin +[submodule "src/connector/hivemq-tdengine-extension"] + path = src/connector/hivemq-tdengine-extension + url = https://github.com/huskar-t/hivemq-tdengine-extension.git [submodule "tests/examples/rust"] path = tests/examples/rust url = https://github.com/songtianyi/tdengine-rust-bindings.git -[submodule "src/connector/hivemq-tdengine-extension"] - path = src/connector/hivemq-tdengine-extension - url = https://github.com/huskar-t/hivemq-tdengine-extension.git \ No newline at end of file diff --git a/tests/examples/rust b/tests/examples/rust new file mode 160000 index 0000000000..1c8924dc66 --- /dev/null +++ b/tests/examples/rust @@ -0,0 +1 @@ +Subproject commit 1c8924dc668e6aa848214c2fc54e3ace3f5bf8df From 98fd766007eff5cbf8efa7b2f59780e06ffaf768 Mon Sep 17 00:00:00 2001 From: plum-lihui Date: Thu, 18 Feb 2021 17:00:08 +0800 Subject: [PATCH 7/7] modify dockerManifest.sh to push latest tag --- packaging/docker/dockerManifest.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packaging/docker/dockerManifest.sh b/packaging/docker/dockerManifest.sh index ca2c3c66c9..b52580cfa6 100755 --- a/packaging/docker/dockerManifest.sh +++ b/packaging/docker/dockerManifest.sh @@ -35,10 +35,11 @@ done echo "verNumber=${verNumber}" -docker manifest create -a tdengine/tdengine:${verNumber} tdengine/tdengine-amd64:${verNumber} tdengine/tdengine-aarch64:${verNumber} tdengine/tdengine-aarch32:${verNumber} +#docker manifest create -a tdengine/tdengine:${verNumber} tdengine/tdengine-amd64:${verNumber} tdengine/tdengine-aarch64:${verNumber} tdengine/tdengine-aarch32:${verNumber} +docker manifest create -a tdengine/tdengine tdengine/tdengine-amd64:latest tdengine/tdengine-aarch64:latest tdengine/tdengine-aarch32:latest docker login -u tdengine -p ${passWord} #replace the docker registry username and password -docker manifest push tdengine/tdengine:${verNumber} +docker manifest push tdengine/tdengine # how set latest version ???