101 lines
5.0 KiB
YAML
101 lines
5.0 KiB
YAML
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership.
|
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
# (the "License"); you may not use this file except in compliance with
|
|
# the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# This file is used to show how to write configuration files and can be used to test.
|
|
|
|
setup:
|
|
env: compose
|
|
file: docker-compose.yml
|
|
timeout: 1200
|
|
steps:
|
|
- name: install yq
|
|
command: |
|
|
if ! command -v yq &> /dev/null; then
|
|
mkdir -p /tmp/skywalking-infra-e2e/bin && cd /tmp/skywalking-infra-e2e
|
|
mkdir -p yq && cd yq
|
|
curl -kLo yq.tar.gz https://github.com/mikefarah/yq/archive/v4.11.1.tar.gz
|
|
tar -zxf yq.tar.gz --strip=1
|
|
go install && go build -ldflags -s && mv yq ../bin/yq
|
|
export PATH="$PATH:/tmp/skywalking-infra-e2e/bin"
|
|
echo "success to install yq"
|
|
fi
|
|
- name: install swctl
|
|
command: |
|
|
if ! command -v swctl &> /dev/null; then
|
|
mkdir -p /tmp/skywalking-infra-e2e/bin && cd /tmp/skywalking-infra-e2e
|
|
mkdir -p swctl && cd swctl
|
|
curl -kLo skywalking-cli.tar.gz https://github.com/apache/skywalking-cli/archive/4d1cb83e24ff58988f4aba0daa50259593b11670.tar.gz
|
|
tar -zxf skywalking-cli.tar.gz --strip=1
|
|
utype=$(uname | awk '{print tolower($0)}')
|
|
make $utype && mv bin/swctl-*-$utype-amd64 ../bin/swctl
|
|
export PATH="$PATH:/tmp/skywalking-infra-e2e/bin"
|
|
echo "success to install swctl"
|
|
fi
|
|
|
|
cleanup:
|
|
# always never success failure
|
|
on: always
|
|
|
|
trigger:
|
|
action: http
|
|
interval: 3s
|
|
times: 5
|
|
url: http://${consumer_host}:${consumer_9090}/info
|
|
method: POST
|
|
|
|
verify:
|
|
# verify with retry strategy
|
|
retry:
|
|
# max retry count
|
|
count: 20
|
|
# the interval between two retries, in millisecond.
|
|
interval: 10000
|
|
cases:
|
|
# basic check: service list
|
|
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
|
|
expected: expected/service.yml
|
|
# basic check: service metrics
|
|
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name service_sla --service=e2e-service-provider |yq e 'to_entries' -
|
|
expected: expected/metrics-has-value.yml
|
|
# basic check: service endpoint
|
|
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=info --service-id=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls|grep -B 1 'provider'|yq e '.[0].id' -)
|
|
expected: expected/service-endpoint.yml
|
|
# basic check: service endpoint metrics
|
|
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name endpoint_cpm --endpoint=POST:/info --service=e2e-service-provider |yq e 'to_entries' -
|
|
expected: expected/metrics-has-value.yml
|
|
|
|
# native management: service instance list
|
|
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
|
|
expected: expected/service-instance.yml
|
|
|
|
# native jvm: service instance jvm metrics
|
|
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name instance_jvm_thread_live_count --instance=provider1 --service=e2e-service-provider |yq e 'to_entries' -
|
|
expected: expected/metrics-has-value.yml
|
|
|
|
# native tracing: trace segment list
|
|
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
|
|
expected: expected/traces-list.yml
|
|
# native tracing: trace detail
|
|
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace $(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls|grep -A 5 'POST:/info'|tail -n1|awk -F ' ' '{print $2}')
|
|
expected: expected/trace-info-detail.yml
|
|
|
|
# native event: event list
|
|
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql event list --service=e2e-service-provider --instance=provider1
|
|
expected: expected/event-list.yml
|
|
|
|
# native log: logs list
|
|
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql logs list --service-id=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls|grep -B 1 'provider'|yq e '.[0].id' -) --trace-id=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls|grep -A 5 'POST:/info'|tail -n1|awk -F ' ' '{print $2}')
|
|
expected: expected/logs-list.yml
|