Skip to content

Commit

Permalink
[automation_test] modify params
Browse files Browse the repository at this point in the history
  • Loading branch information
LYootsz authored and SongZhen0704 committed Sep 26, 2023
1 parent 00cd204 commit c742cc6
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 17 deletions.
47 changes: 33 additions & 14 deletions .github/workflows/automation-test.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: automation_test
name: automation test

on:
workflow_dispatch:
Expand All @@ -11,26 +11,26 @@ on:
description: 'agent image tag'
required: true
default: 'latest'
PYTEST_XDIST_WORKER_NUMBER:
WORKER_NUMBER:
description: 'Worker number, recommend 3-6'
required: false
default: '3'
PYTEST_DF_ENV_NUMBER:
DF_ENV_NUMBER:
description: 'Deepflow env number, recommend 1-3'
required: false
default: '1'
TEST_CASE:
description: 'case name'
description: 'case name, support [basic, querier, cloud_k8s, cloud_workloadv, upgrade]'
required: false
default: 'basic'
DF_TEST_BRANCH:
description: 'df-test branch'
required: false
default: 'master'
description: 'df-test branch'
required: false
default: 'master'
DEBUG:
description: 'reserve case environment, 1 means reserve'
required: false
default: '0'
description: 'reserve case environment at end of the use case, 1 means reserve'
required: false
default: '0'

jobs:
test:
Expand All @@ -39,8 +39,8 @@ jobs:
steps:
- name: Check Parameter Max Value
run: |
worker_num="${{ github.event.inputs.PYTEST_XDIST_WORKER_NUMBER }}"
df_env_num="${{ github.event.inputs.PYTEST_DF_ENV_NUMBER }}"
worker_num="${{ github.event.inputs.WORKER_NUMBER }}"
df_env_num="${{ github.event.inputs.DF_ENV_NUMBER }}"
worker_max_value=10
env_max_value=5
if [ "$worker_num" -gt "$worker_max_value" ]; then
Expand All @@ -51,6 +51,25 @@ jobs:
echo "Parameter exceeds the maximum value of $env_max_value."
exit 1
fi
- name: Check Server And Agent Image
run: |
server_tag="${{ github.event.inputs.DEEPFLOW_SERVER_IMAGE_TAG }}"
server=$(skopeo inspect docker://registry.cn-beijing.aliyuncs.com/deepflow-ce/deepflow-agent:${server_tag} 2>&1 | grep "Error parsing image name" || :)
if [ -n "$server" ]; then
echo "Get Server Image Failed: "
echo "$server"
exit 1
fi
agent_tag="${{ github.event.inputs.DEEPFLOW_AGENT_IMAGE_TAG }}"
agent=$(skopeo inspect docker://registry.cn-beijing.aliyuncs.com/deepflow-ce/deepflow-agent:${agent_tag} 2>&1 | grep "Error parsing image name" || :)
if [ -n "$agent" ]; then
echo "Get Agent Image Failed: "
echo "$agent"
exit 1
fi
exit 0
- name: Checkout code
uses: actions/checkout@v3

Expand All @@ -68,8 +87,8 @@ jobs:
- name: set environment vars
run: |
echo "LC_ALL=en_US.utf8" >> $GITHUB_ENV
echo "PYTEST_XDIST_WORKER_NUMBER=${{ github.event.inputs.PYTEST_XDIST_WORKER_NUMBER }}" >> $GITHUB_ENV
echo "PYTEST_DF_ENV_NUMBER=${{ github.event.inputs.PYTEST_DF_ENV_NUMBER }}" >> $GITHUB_ENV
echo "WORKER_NUMBER=${{ github.event.inputs.WORKER_NUMBER }}" >> $GITHUB_ENV
echo "DF_ENV_NUMBER=${{ github.event.inputs.DF_ENV_NUMBER }}" >> $GITHUB_ENV
echo "TEST_CASE=${{ github.event.inputs.TEST_CASE }}" >> $GITHUB_ENV
echo "DEEPFLOW_SERVER_IMAGE_TAG=${{ github.event.inputs.DEEPFLOW_SERVER_IMAGE_TAG }}" >> $GITHUB_ENV
echo "DEEPFLOW_AGENT_IMAGE_TAG=${{ github.event.inputs.DEEPFLOW_AGENT_IMAGE_TAG }}" >> $GITHUB_ENV
Expand Down
Empty file added automation_test/README.md
Empty file.
38 changes: 35 additions & 3 deletions automation_test/ws_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@
import getopt
import os

public_support_test_case = {
"basic": "basic",
"querier": "interface/querier_sql/",
"cloud_k8s": "cloud/k8s",
"cloud_workloadv": "cloud/agent_sync_workloadv",
"upgrade": "upgrade",
}
public_supoort_worker_number_max = 6
public_supoort_df_env_number_max = 3
UUID = ""
execed = False
sio = socketio.Client()
Expand All @@ -31,8 +40,8 @@
"DEBUG": 0,
}
params_env_key = {
"WORKER_NUMBER": "PYTEST_XDIST_WORKER_NUMBER",
"DF_ENV_NUMBER": "PYTEST_DF_ENV_NUMBER",
"WORKER_NUMBER": "WORKER_NUMBER",
"DF_ENV_NUMBER": "DF_ENV_NUMBER",
"TEST_CASE": "TEST_CASE",
"DF_SERVER_IMAGE_TAG": "DEEPFLOW_SERVER_IMAGE_TAG",
"DF_AGENT_IMAGE_TAG": "DEEPFLOW_AGENT_IMAGE_TAG",
Expand Down Expand Up @@ -83,6 +92,28 @@ def finished(data):
sio.disconnect()


def check_variables(params):
# check TEST_CASE
test_case = params.get("TEST_CASE")
if test_case not in public_support_test_case.keys():
print(f"TEST_CASE {test_case} not support")
assert False
else:
params["TEST_CASE"] = public_support_test_case[test_case]

# check WORKER_NUMBER
worker_number = params.get("WORKER_NUMBER")
if worker_number > public_supoort_worker_number_max:
print(f"WORKER_NUMBER {worker_number} over limit")
assert False

# check DF_ENV_NUMBER
df_env_number = params.get("DF_ENV_NUMBER")
if df_env_number > public_supoort_df_env_number_max:
print(f"DF_ENV_NUMBER {df_env_number} over limit")
assert False


if __name__ == '__main__':
opts, args = getopt.getopt(sys.argv[1:], '', [f"{key}=" for key in keys])
UUID = str(uuid.uuid4())[:7]
Expand All @@ -106,5 +137,6 @@ def finished(data):
params[key] = params_default[key]
print(params)
params["AUTOMATION_TEST_TOKEN"] = token
sio.connect(f'ws://{url}', wait_timeout = 10)
check_variables(params)
sio.connect(f'ws://{url}', wait_timeout=10)
sio.wait()

0 comments on commit c742cc6

Please sign in to comment.