Replace e2e simple cases to v2 (#7827)

This commit is contained in:
wankai123 2021-09-28 22:42:42 +08:00 committed by GitHub
parent a4c68d30d8
commit cf40b9de0d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 1194 additions and 10 deletions

View File

@ -35,7 +35,6 @@ jobs:
matrix:
jdk: [ 8, 11, 12, 13, 14, 15 ]
env:
SW_SIMPLE_CASE: jdk
SW_AGENT_JDK_VERSION: ${{ matrix.jdk }}
SW_OAP_BASE_IMAGE: adoptopenjdk/openjdk${{ matrix.jdk }}:alpine-jre
steps:
@ -52,9 +51,9 @@ jobs:
java-version: ${{ matrix.jdk }}
- name: Run E2E Test
if: env.SKIP_CI != 'true'
uses: ./.github/actions/e2e-test
uses: ./.github/actions/infra-e2e-test
with:
test_class: org.apache.skywalking.e2e.simple.SimpleE2E
config-file: simple/jdk/e2e.yaml
Single:
if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')

View File

@ -35,14 +35,18 @@ concurrency:
jobs:
FeatureGroup01:
if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
name: Feature
name: ${{ matrix.case.name }}
runs-on: ubuntu-latest
timeout-minutes: 90
strategy:
matrix:
case: [auth, ssl, mtls]
env:
SW_SIMPLE_CASE: ${{ matrix.case }}
case:
- name: Auth
config-file: simple/auth/e2e.yaml
- name: SSL
config-file: simple/ssl/e2e.yaml
- name: mTLS
config-file: simple/mtls/e2e.yaml
steps:
- uses: actions/checkout@v2
with:
@ -51,9 +55,9 @@ jobs:
uses: ./.github/actions/skip
- name: Run E2E Test
if: env.SKIP_CI != 'true'
uses: ./.github/actions/e2e-test
uses: ./.github/actions/infra-e2e-test
with:
test_class: org.apache.skywalking.e2e.simple.SimpleE2E
config-file: ${{ matrix.case.config-file }}
FeatureGroup02:
if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')

View File

@ -8,7 +8,7 @@ Release Notes.
#### OAP Server
* Fix wrong (de)serializer of ElasticSearch client for OpenSearch storage.
* Fix that traces query with tags will report error.
* Replace e2e simple cases to e2e-v2.
#### UI

View File

@ -0,0 +1,52 @@
# 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.
version: '2.1'
services:
oap:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: oap
environment:
SW_AUTHENTICATION: test-token
ports:
- 12800
provider:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: provider
environment:
SW_AGENT_AUTHENTICATION: test-token
ports:
- 9090
depends_on:
oap:
condition: service_healthy
consumer:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: consumer
environment:
SW_AGENT_AUTHENTICATION: test-token
ports:
- 9092
depends_on:
provider:
condition: service_healthy
networks:
e2e:

View File

@ -0,0 +1,75 @@
# 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
init-system-environment: ../../../script/env
steps:
- name: install yq
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
- name: install swctl
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
- name: install etcdctl
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh etcdctl
cleanup:
on: always
trigger:
action: http
interval: 10s
times: 10
url: http://${consumer_host}:${consumer_9092}/info
method: POST
verify:
# verify with retry strategy
retry:
# max retry count
count: 20
# the interval between two retries, in millisecond.
interval: 10000
cases:
# service list
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
expected: ../expected/service.yml
# 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
# 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
# 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
# dependency service
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service $(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls|grep -B 1 'provider'|yq e '.[0].id' -)
expected: ../expected/dependency-services.yml
# 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
# dependency instance
# trace segment list
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
expected: ../expected/traces-list.yml
# 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 '/info'|tail -n1|awk -F ' ' '{print $2}')
expected: ../expected/trace-info-detail.yml

View File

@ -0,0 +1,73 @@
# 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.
nodes:
{{- range .nodes }}
{{- if eq .name "User" }}
- id: {{ b64enc "User" }}.0
name: User
type: USER
isreal: false
{{- end }}
{{- if eq .name "e2e-service-provider" }}
- id: {{ b64enc "e2e-service-provider"}}.1
name: e2e-service-provider
type: Tomcat
isreal: true
{{- end }}
{{- if eq .name "e2e-service-consumer" }}
- id: {{ b64enc "e2e-service-consumer"}}.1
name: e2e-service-consumer
type: Tomcat
isreal: true
{{- end }}
{{- if eq .name "localhost:-1" }}
- id: {{ b64enc "localhost:-1" }}.0
name: localhost:-1
type: H2
isreal: false
{{- end }}
{{- end }}
calls:
{{- range .calls }}
{{- if eq .source "ZTJlLXNlcnZpY2UtY29uc3VtZXI=.1" }}
- source: {{ b64enc "e2e-service-consumer"}}.1
sourcecomponents: []
target: {{ b64enc "e2e-service-provider"}}.1
targetcomponents: []
id: {{ b64enc "e2e-service-consumer"}}.1-{{ b64enc "e2e-service-provider"}}.1
detectpoints:
- CLIENT
- SERVER
{{- end }}
{{- if eq .source "ZTJlLXNlcnZpY2UtcHJvdmlkZXI=.1" }}
- source: {{ b64enc "e2e-service-provider" }}.1
sourcecomponents: []
target: {{ b64enc "localhost:-1"}}.0
targetcomponents: []
id: {{ b64enc "e2e-service-provider" }}.1-{{ b64enc "localhost:-1"}}.0
detectpoints:
- CLIENT
{{- end }}
{{- if eq .source "VXNlcg==.0" }}
- source: {{ b64enc "User" }}.0
sourcecomponents: []
target: {{ b64enc "e2e-service-consumer"}}.1
targetcomponents: []
id: {{ b64enc "User" }}.0-{{ b64enc "e2e-service-consumer"}}.1
detectpoints:
- SERVER
{{- end }}
{{- end }}

View File

@ -0,0 +1,21 @@
# 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.
{{- contains . }}
- key: {{ notEmpty .key }}
value: {{ ge .value 0 }}
- key: {{ notEmpty .key }}
value: {{ ge .value 1 }}
{{- end }}

View File

@ -0,0 +1,21 @@
# 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.
{{- range .}}
{{- if eq .name "POST:/info" }}
- id: {{ b64enc "e2e-service-provider" }}.1_{{ b64enc "POST:/info" }}
name: POST:/info
{{- end}}
{{- end}}

View File

@ -0,0 +1,54 @@
# Licensed to 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. Apache Software Foundation (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.
{{- range .}}
- id: {{ b64enc "e2e-service-provider" }}.1_{{ b64enc "provider1" }}
name: {{ notEmpty .name }}
attributes:
{{- range .attributes }}
{{- if eq .name "OS Name" }}
- name: OS Name
value: Linux
{{- end }}
{{- if eq .name "hostname" }}
- name: hostname
value: {{ notEmpty .value }}
{{- end }}
{{- if eq .name "Process No." }}
- name: Process No.
value: "1"
{{- end }}
{{- if eq .name "Start Time" }}
- name: Start Time
value: {{ notEmpty .value }}
{{- end }}
{{- if eq .name "JVM Arguments" }}
- name: JVM Arguments
value: '{{ notEmpty .value }}'
{{- end }}
{{- if eq .name "Jar Dependencies" }}
- name: Jar Dependencies
value: '{{ notEmpty .value }}'
{{- end }}
{{- if eq .name "ipv4s" }}
- name: ipv4s
value: {{ notEmpty .value }}
{{- end }}
{{- end}}
language: JAVA
instanceuuid: {{ b64enc "e2e-service-provider" }}.1_{{ b64enc "provider1" }}
{{- end}}

View File

@ -0,0 +1,27 @@
# 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.
{{- range . }}
{{- if eq .name "e2e-service-provider" }}
- id: {{ b64enc "e2e-service-provider" }}.1
name: e2e-service-provider
group: ""
{{- end }}
{{- if eq .name "e2e-service-consumer" }}
- id: {{ b64enc "e2e-service-consumer" }}.1
name: e2e-service-consumer
group: ""
{{- end }}
{{- end }}

View File

@ -0,0 +1,72 @@
# 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.
spans:
{{- range .spans}}
- traceid: {{ notEmpty .traceid }}
segmentid: {{ notEmpty .segmentid }}
spanid: {{ .spanid }}
parentspanid: {{ .parentspanid }}
refs:
{{- if eq .servicecode "e2e-service-provider" }}
{{- range .refs }}
- traceid: {{ notEmpty .traceid }}
parentsegmentid: {{ notEmpty .parentsegmentid }}
parentspanid: 1
type: CROSS_PROCESS
{{- end }}
{{- end }}
{{- if eq .servicecode "e2e-service-consumer" }}
[]
{{- end }}
servicecode: {{ notEmpty .servicecode }}
serviceinstancename: {{ notEmpty .serviceinstancename }}
starttime: {{ gt .starttime 0 }}
endtime: {{ gt .endtime 0 }}
endpointname:
{{- if eq .type "Exit" }}
/info
{{ else }}
POST:/info
{{- end }}
type: {{ notEmpty .type }}
peer:
{{- if eq .type "Exit" }}
provider:9090
{{ else }}
""
{{- end }}
component:
{{- if eq .type "Exit" }}
SpringRestTemplate
{{- end }}
{{- if eq .type "Entry" }}
Tomcat
{{- end }}
iserror: false
layer: Http
tags:
{{- range .tags }}
{{- if eq .key "http.method" }}
- key: http.method
value: POST
{{- end }}
{{- if eq .key "url" }}
- key: url
value: {{ notEmpty .value }}
{{- end }}
{{- end }}
logs: []
{{- end }}

View File

@ -0,0 +1,41 @@
# 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.
traces:
{{- range .traces }}
- segmentid: {{ notEmpty .segmentid }}
endpointnames:
{{- if eq (index .endpointnames 0) "H2/JDBI/Statement/execute" }}
- H2/JDBI/Statement/execute
{{- end}}
{{- if eq (index .endpointnames 0) "H2/JDBI/Statement/executeQuery" }}
- H2/JDBI/Statement/executeQuery
{{- end}}
{{- if eq (index .endpointnames 0) "H2/JDBI/PreparedStatement/executeQuery" }}
- H2/JDBI/PreparedStatement/executeQuery
{{- end }}
{{- if eq (index .endpointnames 0) "POST:/info" }}
- POST:/info
{{- end }}
{{- if eq (index .endpointnames 0) "POST:/users" }}
- POST:/users
{{- end }}
duration: {{ ge .duration 0 }}
start: "{{ notEmpty .start}}"
iserror: false
traceids:
- {{ (index .traceids 0) }}
{{- end }}
total: {{ gt .total 0 }}

View File

@ -0,0 +1,46 @@
# 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.
version: '2.1'
services:
oap:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: oap
ports:
- 12800
provider:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: provider
ports:
- 9090
depends_on:
oap:
condition: service_healthy
consumer:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: consumer
ports:
- 9092
depends_on:
provider:
condition: service_healthy
networks:
e2e:

View File

@ -0,0 +1,75 @@
# 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
init-system-environment: ../../../script/env
steps:
- name: install yq
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
- name: install swctl
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
- name: install etcdctl
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh etcdctl
cleanup:
on: always
trigger:
action: http
interval: 10s
times: 10
url: http://${consumer_host}:${consumer_9092}/info
method: POST
verify:
# verify with retry strategy
retry:
# max retry count
count: 20
# the interval between two retries, in millisecond.
interval: 10000
cases:
# service list
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
expected: ../expected/service.yml
# 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
# 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
# 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
# dependency service
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service $(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls|grep -B 1 'provider'|yq e '.[0].id' -)
expected: ../expected/dependency-services.yml
# 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
# dependency instance
# trace segment list
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
expected: ../expected/traces-list.yml
# 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 '/info'|tail -n1|awk -F ' ' '{print $2}')
expected: ../expected/trace-info-detail.yml

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIEmDCCAoACCQCHw9DXRSuLGDANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDDANv
YXAwHhcNMjEwODI2MDIzOTM0WhcNMjIwODI2MDIzOTM0WjAOMQwwCgYDVQQDDANv
YXAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDBrmOmHjb3OrbXXbF8
09uuV8f8ITI1H1AceoD6Ak1yovanCxvvCvcKgZ4hLtPlUldg8fBqo3SivyzYbd4N
082K8yYeoGHBKSaW5ckO126IHAzMHLCzw5qDgqTHHoovWQVv5VKCJC2y4xpeeakY
ifk2DWPmou/rkKzZyflWMn7b0+bi81IQJgDz01UF19OAXXx4jp53yCKPwp+Que9R
AIrlYXuBHkpwbDDs7vtCMSa/j+Klw8eAcZAm1NO3Y8VpG+uMxTFfVLr0nGvKMEKO
0P3q1mp2NML/sNP89RHZsXM/eYU1UE0Da1aQ/o+fivXs3CRStxwFMwCMg/+uXccT
Raufz0OhEwRJa0zbn8XBvcvLJ7kmXio3df23fSPT/i9whyQujfXE7cAraOEj8KjI
NUDTi6dASlUeoNoKsklB4P3UIUCwCvZu9PqU9v7Oz8tOsxNpGvY2oBA+tVwZ1U/p
ON992LmGZz2J9xpDjojCddUS5tRZGD0itMWlJiLaRd7VSPLRuyUGLqbEjf/7GffO
Tb/5R7DhcKSFdrNXisz/kjU4qSwYFJ9WzUbbraV3MNiJiRa0eHGbLffHKVIvVcPI
scaP04nTTbX7l4qUPmX/YcTNEZV0HDC3s0Qxk0y6lXxu3rDue1yx+N+S0TwCSq8D
hpIDLWi/fYLbAoYnqv5jJxbnLQIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQB84/85
KA2S2iXHhN1bkEx0cIjkg2t16Ht+b602na4bmZIpxUVzUv6dqiwCx5wDyM96T3OX
xRDO8uVQEUMJ+76dm53UFZ9uhtGBvSFc8YqnL+EoXD1IQ8IQ7PVVf4dyzKyxhtK2
XHr6RPtDnLhHy6mxQ5eaqBTaZ1dLoQlAIPyzh2mX2px+jGu9DKQxrZQ+0aMklidW
xSDLLGr7cK+tQln4P0DC61uLS/VGQ+15a6XpqF3FhhspJrQPse+WSC015KCdSgnZ
dIDxqtPS+hhyw5o4C39KDHD0x04VVIEhMsX3Z2eykK0KXnnsPcXWdFj/pR55Kcr3
qPfxGRLrEeYvoUUzr2APiHTPzWsUDwugfV9KXyGYuxIqqOpPr5nWqGfo9ZcvbH7K
Mqc32DFvFdNnUqMYQHu9oigjfCvscdNTrWHlGYD3HJmWZur4IBReb8uG5qPN+VLH
1xs7EcW6NN6A1pndHEosAFcVIh5kx4gRCsZMsEdGExn4gkTknfBosWo0tROV00UU
UYFqLZfUmJyPDVYZf1fjiLd+yC2qJERNxWWy03JG5UZDLc03ULPlqys+MCT8rRdD
b7p2WGOQBM9whNC5BC6SydFPphwc3yhR1jmMSz+QB18Easo7RV6fmhE462wj1EoH
+IDtJX6JRGguky29ibdolQUiRK3rVowGpIjjgw==
-----END CERTIFICATE-----

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIElTCCAn0CAQEwDQYJKoZIhvcNAQEFBQAwDjEMMAoGA1UEAwwDb2FwMB4XDTIx
MDgyNjAyMzkzN1oXDTIyMDgyNjAyMzkzN1owEzERMA8GA1UEAwwIcHJvdmlkZXIw
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDnXZ54vJNK/xAwrunMJf2l
DgdsKfdAkW70LpzAFVq/lXjZXM0FxG4Kl/pR0cTf69MdhNxEQffyv42bjAEDIWQ/
FhtPa0mApLAd0gAGZ920ANS6XRw9QV4UujxOzTyivxOHU4LQ8s+xo6X3jZQ6rzdM
KeFYu4uEDZj7J0aN4d68HDhAiQFtmDxJ4AOyMpQ+6VzuC8RslcKXeO1mhzHbbYwN
e1cMaLMzJpcgw7mpTF3iGkiSO5dEbTmEdmEdTDikJtoQvB7YISMeKeFe1BE19ccF
n06mPh7fgBEJsBZmkPflpksjFG9VTbdC0qiz4NIA/t1Sjig65p6uEOkV1KwyTzxp
53P962prYw/yYtCftgPtrQeW9u7xJ81MkR4WLi9ut6UKyHSsgZwRtK4nInt+avDc
3CPHGuZfSg7Cf8Ll6dUc7UGVJoFCY3zZjeZ+JcxD52hPfOXBmsG1QF1LUBO0+Dwl
snwJVIeRTRtVgMp64iKzvjpqAU/ydZNr7JbBYMw9kLSi/Lv8UDfXyB2h0fmWLXOB
eWSfoNZTUlIS+D03Q6UwbH45VBiYz0+PWN7ywa1uB3igQrbUdiweYgaErjUtKthB
xg4ZlN3xkccon1MsM9YuX1jlj2IeCWFiLFDwU17V0V263ETRN9NgUZF/JpoJEmb0
PE4aKRq/M8CRMvPn5Ga4HQIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQALy+gfWHtf
+6jP7OJRCpYuNrJFsvowp6WmFqc9P0XE10Ux9LL6NuDJ0TQE6361qqIE1oy263bV
2zTKg3+MwRbVsxDvK7smxBxdeDGQILFXWzfJIMcJTjd8sEUQ05fN/nJx8obYHcz1
YDntOrFH3azTL5SbrUMuaxhWIWf4lQXXN8EzE3IP0x0cgGk5ULaIim8sTh7t2+k9
+Sck6z7PB7u8gCMLBtTfyxgwS5MFT5zJAQmOqg/0bNd9lVqWTqd1D94jjsu1mnMc
nhRHqSO2WsIg6Z8YUofYQ0xelDpqXFkyN5MeiVU0iDuC93sjjG52bjFR0YKcKKYW
8fe4bIpt7XKKZsjyZqCuQGDvwjpBh7a2feElqlLGqDjKyhIEkENZv9+8i3L0Sor0
mrAkFf4THnGbxmrJyrp/89cc44scv0QHz6EKHTk1idfLc+HhL3a6vlqx0CxpupXi
K5Lz2UCs6DIoyqYI0vciaa9xVsxhIbfXasXPp1Jflz2k4NRn0LuS8WSQds+Sall2
A0GwKZjc7DkgKzsQaxk3BEi44XH8WaXDuFBQY5AEzQEGA/kcwKsKg0pggGt9Usrk
mmB5QDUDC0NeQKcCE45POcrUuNbfvMKoLjj+SlkOmcJUBjcDlroNCBSPDuRRZswS
eBPbdGuiYYZj52ImTm/ytg7ksehW+fGolg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
MIIJRQIBADANBgkqhkiG9w0BAQEFAASCCS8wggkrAgEAAoICAQDnXZ54vJNK/xAw
runMJf2lDgdsKfdAkW70LpzAFVq/lXjZXM0FxG4Kl/pR0cTf69MdhNxEQffyv42b
jAEDIWQ/FhtPa0mApLAd0gAGZ920ANS6XRw9QV4UujxOzTyivxOHU4LQ8s+xo6X3
jZQ6rzdMKeFYu4uEDZj7J0aN4d68HDhAiQFtmDxJ4AOyMpQ+6VzuC8RslcKXeO1m
hzHbbYwNe1cMaLMzJpcgw7mpTF3iGkiSO5dEbTmEdmEdTDikJtoQvB7YISMeKeFe
1BE19ccFn06mPh7fgBEJsBZmkPflpksjFG9VTbdC0qiz4NIA/t1Sjig65p6uEOkV
1KwyTzxp53P962prYw/yYtCftgPtrQeW9u7xJ81MkR4WLi9ut6UKyHSsgZwRtK4n
Int+avDc3CPHGuZfSg7Cf8Ll6dUc7UGVJoFCY3zZjeZ+JcxD52hPfOXBmsG1QF1L
UBO0+DwlsnwJVIeRTRtVgMp64iKzvjpqAU/ydZNr7JbBYMw9kLSi/Lv8UDfXyB2h
0fmWLXOBeWSfoNZTUlIS+D03Q6UwbH45VBiYz0+PWN7ywa1uB3igQrbUdiweYgaE
rjUtKthBxg4ZlN3xkccon1MsM9YuX1jlj2IeCWFiLFDwU17V0V263ETRN9NgUZF/
JpoJEmb0PE4aKRq/M8CRMvPn5Ga4HQIDAQABAoICAQDiA4VsYqLsr1AMjsIbyL0I
QTUlB7XeoHOoG+TKi9HTt9uPUuWBjcsFlENXLDlLmV7pxkE6eMsTmuZlnhXbDgKU
0i6pnZ/3CGp3Jw8ZMtvUHL+ysoSEnleenfON81YZkdks6HqxTZFw8fGObALydPnq
8DqP6N24iWP5bPuyXISudE7LVEtN2VqDvE9AA8Ln1iYO8PXYMVAfkmUvNECTH2ei
P+vgVmNAQ6F8w1aaONy5pH1iRM5XbO+0I8Roz23BhaaelHb5IR3iOH1NmpKZiNf7
+Qzmv2Z/ZOa/9QFc/p77+0AJK8w6o6mzoIBm/+eGS3K/U9me+Gzok+JujgwNNXRI
EHZew0c6WP9GhkdjafwAWhDbx63YM3in5utYb195Ob11C6Jfw/kmX8VFPjaWruyf
g8lYIhQOpE+AgE206hAKmF4A39qbR89J++eqQy2eiOdpIDZfHO2S1GIxJsOD1nGy
B63xJlYwW61DyhTDCDW6jXcCHBaobNnV9uX+ojIOHh9+Gxj3UAKq80cDAtg2cKqq
FPWv/HkPeP1rd5U/nWUm3JF7PQrTwLhyPluNd4fjYpaaMcdES0A2nB7ioXy4VdVl
EKg9PqVBREQ9pdtOXL2Run+w2yT4Pnv/IyG9VnfvQICW0b40mJGqZaTb40Qlgoxq
sZXuGfnGiOsVymaGaFsi4QKCAQEA/pIjXbI28s4Y9tLgzU6m8jfqqE7pT2qJCxQv
87cnJru9g99i8phhrqejf1u1ZtlUhv1dPR/Dc3tQtP3d/5L+nL5fuIMKu8brOvZu
eu2srI60TBPy7B8p4JF+2nuVSJD8B2Y7hkGxkkO7fw43WCklMoWKbYFS8RBd79jd
7jjiq5lbM/LnBrVx36EqGcuGhQaB9efbdEdImcFe2uv8NsZJjNtBhATFtD2amBoo
uA6BNQwUhsXmJ4puvqC+x7o5zzH/HneBxVKrYPGGiqZjZvjz+UK3E/Kl08DbGVzs
jKIet5e5FfJDEWrJE7Idx99td/1BXuYdiPkXG2yGrLrKdNEoGQKCAQEA6KohkE6G
Zxf/OB7dNac4NMta6F5AsX7AykmLhvwvlcdtAU/BrYda4ToY4+pjHIK8UWNKNgSi
LbsUix8oDrTctNZUFpJhWAGsx9xb5y+pSjSIQifn4nuxs6kVe8slBk1S23clCThi
MxedXkhnx3i7ZvjrtHs4be4n/uzZ1oQcXeN0LOZ85KuoHVlYlQ33cDc+p4dJfVsm
sAU+Vk/ObGBVmCie9bmOGSNSkCElyYInpQ8W4QPfVHrJk5CUeqJe0g5BMN+9zHiW
ssD794VL5J7i/sRRqtMXYSLFOaILNH34DLPPxhYiPQQesSdax5o2Gw8Yb37qosNa
gHCMhhHkgtLgpQKCAQEAqaWFv/j1uVUzOblKakdR5fTxgfwkavIaJbHsSsPxaVSP
dQQ3EmgOILBCuqrI9qM6O0M5EXTLcXfqTtMnUBwLZTVQ4MsjKgPj2sVC1tTwz4XC
DTj2F/ikla0gFkVpNJS5/8xXOp8o0MomdwNoSm4RBdwMZfFa7p7zmtSxAQITvDtU
lgf3gXcFTfw+7DW/jYLKtK8whgrDDQPaTJYa2/3EIgQzYuEzR2wOS/KS1CWGYW2N
eEsFl7AfIRZKTRuDTtqIoysM5gyzfMU33coIUCTzoVaeXsLDU5wf5oUQdp/LTJnl
lASAQWkiWufGBN6WOvIg0DcV06P7jCEElrNcHAEOcQKCAQEAjt4hnA5MA7Q9mQWC
ynZzUh/pI7T0vslZsx20GuByi+OYsOx7voXWLWVScWm1EIXLA6MXp9HykGhHdiJc
o6M1v6m4mt+p/LOSmGtc17pxlsppPU5p2q4f8XWLZqfYhWUn0vH3gRDpY/xFOub1
Kwyc7t89RWdAwGg0kRp5rXsUPCb2aLfjyzsJEXSSq3yXC4Yw6Ahv/RTizcV6gN+i
nvQMu1F+Qt99PTxub2ibXoCYvYdlgiixk5uOehmWwzM/THdKWquZTZxi1UMhtd1Z
O/rA4rZEe8QBoDkMqJYzkTkk/w/PLxDaV2NXQWssGFM+lCER3S0vAWE6CpKSB6Wn
DxpUrQKCAQEAi0/qs9bdnxjmZWJHyDhx0CNuEytyVB+o48e1bHa7Vr/paojbfKV9
6LeNHiaMI3Uanu1yqueuEkqc7uf6ac+AEX1oRKd6s0HkxbTkzGrYcC1RZ67aRfD7
iwNkjg0rMkNVkJGC5RTysGVTKo6Wu1K4HW0Ztj0S+UW4Cd8Z0LT1bZr2K47E9wKJ
gEIjbgOAjCmV9tNKOUN4JBWo02aT+vPW7NzMP0XxRKwT3QvxnumXciUsQWmm+C4B
aUmvvXGy1Drq5nTGJu2hPvZ+0t/TpmIqlRU0GPevv4zFNI5oLocFDSZgx8CTEnSY
7fL3g6gq14QLJJhYzF1FkGFQZw7iH2gvBg==
-----END PRIVATE KEY-----

View File

@ -0,0 +1,71 @@
# 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.
version: '2.1'
services:
oap:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: oap
volumes:
- ./server:/skywalking/certs
environment:
SW_RECEIVER_GRPC_PORT: 11811
SW_RECEIVER_GRPC_SSL_ENABLED: "true"
SW_RECEIVER_GRPC_SSL_KEY_PATH: /skywalking/certs/server.pem
SW_RECEIVER_GRPC_SSL_CERT_CHAIN_PATH: /skywalking/certs/server.crt
SW_RECEIVER_GRPC_SSL_TRUSTED_CAS_PATH: /skywalking/certs/ca.crt
expose:
- 11811
ports:
- 12800
provider:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: provider
volumes:
- ./client:/skywalking/agent/certs
environment:
SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11811
SW_AGENT_SSL_KEY_PATH: /certs/client.pem
SW_AGENT_SSL_CERT_CHAIN_PATH: /certs/client.crt
SW_AGENT_SSL_TRUSTED_CA_PATH: /certs/ca.crt
ports:
- 9090
depends_on:
oap:
condition: service_healthy
consumer:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: consumer
volumes:
- ./client:/skywalking/agent/certs
environment:
SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11811
SW_AGENT_SSL_KEY_PATH: /certs/client.pem
SW_AGENT_SSL_CERT_CHAIN_PATH: /certs/client.crt
SW_AGENT_SSL_TRUSTED_CA_PATH: /certs/ca.crt
ports:
- 9092
depends_on:
provider:
condition: service_healthy
networks:
e2e:

View File

@ -0,0 +1,75 @@
# 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
init-system-environment: ../../../script/env
steps:
- name: install yq
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
- name: install swctl
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
- name: install etcdctl
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh etcdctl
cleanup:
on: always
trigger:
action: http
interval: 10s
times: 10
url: http://${consumer_host}:${consumer_9092}/info
method: POST
verify:
# verify with retry strategy
retry:
# max retry count
count: 20
# the interval between two retries, in millisecond.
interval: 10000
cases:
# service list
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
expected: ../expected/service.yml
# 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
# 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
# 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
# dependency service
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service $(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls|grep -B 1 'provider'|yq e '.[0].id' -)
expected: ../expected/dependency-services.yml
# 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
# dependency instance
# trace segment list
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
expected: ../expected/traces-list.yml
# 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 '/info'|tail -n1|awk -F ' ' '{print $2}')
expected: ../expected/trace-info-detail.yml

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIEmDCCAoACCQCHw9DXRSuLGDANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDDANv
YXAwHhcNMjEwODI2MDIzOTM0WhcNMjIwODI2MDIzOTM0WjAOMQwwCgYDVQQDDANv
YXAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDBrmOmHjb3OrbXXbF8
09uuV8f8ITI1H1AceoD6Ak1yovanCxvvCvcKgZ4hLtPlUldg8fBqo3SivyzYbd4N
082K8yYeoGHBKSaW5ckO126IHAzMHLCzw5qDgqTHHoovWQVv5VKCJC2y4xpeeakY
ifk2DWPmou/rkKzZyflWMn7b0+bi81IQJgDz01UF19OAXXx4jp53yCKPwp+Que9R
AIrlYXuBHkpwbDDs7vtCMSa/j+Klw8eAcZAm1NO3Y8VpG+uMxTFfVLr0nGvKMEKO
0P3q1mp2NML/sNP89RHZsXM/eYU1UE0Da1aQ/o+fivXs3CRStxwFMwCMg/+uXccT
Raufz0OhEwRJa0zbn8XBvcvLJ7kmXio3df23fSPT/i9whyQujfXE7cAraOEj8KjI
NUDTi6dASlUeoNoKsklB4P3UIUCwCvZu9PqU9v7Oz8tOsxNpGvY2oBA+tVwZ1U/p
ON992LmGZz2J9xpDjojCddUS5tRZGD0itMWlJiLaRd7VSPLRuyUGLqbEjf/7GffO
Tb/5R7DhcKSFdrNXisz/kjU4qSwYFJ9WzUbbraV3MNiJiRa0eHGbLffHKVIvVcPI
scaP04nTTbX7l4qUPmX/YcTNEZV0HDC3s0Qxk0y6lXxu3rDue1yx+N+S0TwCSq8D
hpIDLWi/fYLbAoYnqv5jJxbnLQIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQB84/85
KA2S2iXHhN1bkEx0cIjkg2t16Ht+b602na4bmZIpxUVzUv6dqiwCx5wDyM96T3OX
xRDO8uVQEUMJ+76dm53UFZ9uhtGBvSFc8YqnL+EoXD1IQ8IQ7PVVf4dyzKyxhtK2
XHr6RPtDnLhHy6mxQ5eaqBTaZ1dLoQlAIPyzh2mX2px+jGu9DKQxrZQ+0aMklidW
xSDLLGr7cK+tQln4P0DC61uLS/VGQ+15a6XpqF3FhhspJrQPse+WSC015KCdSgnZ
dIDxqtPS+hhyw5o4C39KDHD0x04VVIEhMsX3Z2eykK0KXnnsPcXWdFj/pR55Kcr3
qPfxGRLrEeYvoUUzr2APiHTPzWsUDwugfV9KXyGYuxIqqOpPr5nWqGfo9ZcvbH7K
Mqc32DFvFdNnUqMYQHu9oigjfCvscdNTrWHlGYD3HJmWZur4IBReb8uG5qPN+VLH
1xs7EcW6NN6A1pndHEosAFcVIh5kx4gRCsZMsEdGExn4gkTknfBosWo0tROV00UU
UYFqLZfUmJyPDVYZf1fjiLd+yC2qJERNxWWy03JG5UZDLc03ULPlqys+MCT8rRdD
b7p2WGOQBM9whNC5BC6SydFPphwc3yhR1jmMSz+QB18Easo7RV6fmhE462wj1EoH
+IDtJX6JRGguky29ibdolQUiRK3rVowGpIjjgw==
-----END CERTIFICATE-----

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIEkDCCAngCAQEwDQYJKoZIhvcNAQEFBQAwDjEMMAoGA1UEAwwDb2FwMB4XDTIx
MDgyNjAyMzkzNVoXDTIyMDgyNjAyMzkzNVowDjEMMAoGA1UEAwwDb2FwMIICIjAN
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0VJUfo/vFmE5N8QYnOAsq3UUgoaH
U+OkwGD+VNQf23sajzfc6/IAoR0Qm6zUqgf1d3BjUrhk4+QRZPCzKzgEvJtFcPwm
VGOp2ojhy92OUMSPL8S6UARHZ12VBfZyvC8UK6AZhvIpKRoE4quzZbIoD8FB7zfw
ABlJvzUHBQp6kHy7UTlNPLBlMbDk7n5EZp53fCzl6hpRuZ5v3EPtq0u76Ub7gGoH
40J3omPMwR0g8ACEK7ijyXbIOKkQiKPcHwaC2dQRaUwShdhSX3fzsq6A/f4Knzhk
m0YyRcr3AD3z0Ud/VBUgSOHIylQq0XATbc5qjsKr+06lKqk2vq565Jh5SdnwZD+N
2CyPa8dld6Ogc3fq7Pl48Sil2Jt5yxV2rPNTYoLeRJKh2ExtATkgJGIEG8fUwP6M
42lyKJOm/R4penHMNHr+Mun+fscY/2DcTAGNYinXlBGEX0fRccQljGYKTy2J3fP8
XzRQgYzT5q1RNC8eKlH1IDRlWbVpisNOGcPOxf8n7MSCu6PjlKbmSKnS9+MeYeqZ
wMObi4vWv7j84r6lMHW2AYtr+iXVkgBlB6mDS72lgpViZeLnfh+KEoMQpZFGSc70
CuS5W+RD/4dJxIAlCiO8zvv0lJl/C67ZNbpfD+nG2csGW0iG0v/amfK0mPaw3idu
7LNqK240yGioOJcCAwEAATANBgkqhkiG9w0BAQUFAAOCAgEAYoSC5eUue47ytaqm
504i+iSQUiVHr3C9sRbVMhr0JtnemafWOKAuJUPEf27nxKEL3RJsZ6Csj/PkZboZ
+p+Zg7F+n8EOTGhEADG5Q7AIiayioqFNEgn+ff1LlPEILFYysdAfTCRBkwVOksLO
YMBeb/MXccf62FQrTrDcrAskmC0kENQDeQNjtQjCaV8DDTI68QX5lOK8FNSFIlYh
DwCu1JZSUYvKE0UcZzAQI8BZrlLtacYolwz6cfuB4NvofS1Su5nSB+ugbYkzxNyS
zBSOL7HSn6xhcCayyFsqRBZaIf81EaUg2wWr4E5pfyy7jWFMPiG2m/3z8lPGDa38
cyCdnHz8khmzxMV1qJn4e40YwnWtwZ8xH3S4UNI35RVS4I7IWwEbvnwZ5evYszsS
cxoKZg7vfWuSSqGgZjHqgCI44BsLo9gbT7KtZSnlQKrXd4FlXA3Jjw02qpNr+R8a
Kld25+GtQgsfbAooC9HkTAVsTmAl+pFv/Rm6vVPRYTQJOZE3Y5/hh8E+33odIthd
uw0upy21BSwHukL+Bu8yQSw0kdzy3s/aSuqwyxVsrjZ7xlprmp14Tb2S9NlpnWiO
s2LykpvyO0h9vKa4iQMZidwysm3sb4hzb7NsUnwk+pWev7AE/iQ3DwsV2qYUsfNp
N2pQDjCFe9atqCglt+mkdZfucss=
-----END CERTIFICATE-----

View File

@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
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
iE7e5UrqISr1f6Sd1Rb4l3y30ky0Mg==
-----END PRIVATE KEY-----

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIEmjCCAoICCQD/tosAx2ZFnDANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDDANv
YXAwIBcNMjAwMzE2MTEwMDI0WhgPMjEyMDAyMjExMTAwMjRaMA4xDDAKBgNVBAMM
A29hcDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK7IYIJhJXhhwwzo
ILpbhQJGsK7DnIb0u3AtJd9i0OExC/YBrWiozCkzD4mFIp5GV3Eew5qFjj+TJ+rb
97yd9pBjhkdJRjPNFtbZTvt4cmnQR5RSqztx/n+iaw/9AXkaGgk8Ql5hMGaqoMHJ
7VNne9L5lhA+lW0ZrWOhKvYrx68laRCXdyyYvR5T4xzPPiZDczj9w2jmuVcAVVo4
tWnr2vCOYBX7I+jnwK7vvHVfSj6eNRTu+FsZQaDIUqzYqNJJLgssulpSaSUOqDPA
GCB4D9E8JtA61KPILLZGhtR6Ov7yyxucIYIleVIv/+QMe9swQAz91fy27rgbr32+
1kOb6z5UhQkYt93xQ+W/vqoexzoE1TbUz76DQiCRF2vmbUuo5yV1HCW52o+jWbXX
Qvce/SBwXOAhoIUXAsnlmSK6RGL2dIHMYuuHuyKtMPzTjabFt09DZEEA4neHCHuC
oAlXcwW0V9AU5ILCmeKakUftRX766rLibSSD0siml+ePdSmm592bXhwb0e8Q6GaM
7jhyQJ37YlT5uaSLIC0Og0daA3WO0D8qLxCO2DEAiLRU5v35KXRoeY/Qqhl3OLTR
t7ekR4lXHZmstniuYdp/5CKiKwZOIt02uHrfmyLcxdocOBQJBGde+AoP/WwNb+FX
/iOevPiSeRQMl/QN7ClzgojH5EiRAgMBAAEwDQYJKoZIhvcNAQELBQADggIBACi1
SlaU03ZTYPPk3kOzck+3Wy3eXBP6i33e6I03/Y4wjSyvQyGOKo4nl0kYiMfb9Nb3
71YbAnlPvDHfhKrCdZcigHQEgJWOe81ThyWjnGZrKAo2DkQYtxMi4ZaidmkDJSfh
LzX/9sM0v+/hdjEF1u4owClCQvHjHiZa9kneYox1enE4d0xGRPPoRh32j7myuA4c
nqAgYZBPU+elNsAKwT5HTfnEj1bd1H9KWRXKmahqAIpg7K7Izn5Qn9WG1a7m9Wvr
FRweRHRmF9ol+C8rvR5uYR6VBj3J3hFsHu5s5ZSQs3YpFHJcByF9nsuOUFu/JsBJ
JVgf5kbeLewEeAmqAES8dKRKjVTZhU9XG84ysHliuwv36BmVEz1XbWCqKUEwceFd
xgsXBe4DXE/XQM5JXpQHr1WzZY5HXuV4/knO+U6xpQaXi9D1V7qaD0NGKSFh29tO
GJi2H6Nd9UrIkTgmsvDPuNTLo+QKrPlx7w2Sr9gW1AmLKZN4k6L52tW20tlQnKBf
PzLwnSu2ZcJWPZEmTmyXzuNz9s/HJXaxHYA3/+RtNlrjSvmH8WbTkO5+wHpJKiJt
Lnd6O6AQ845zucdfiOmi+XpOl+zVdOQ5VudzgO8C85joKTfJ3/G4EKZ1aeNd54vg
ZhYmoomvkl58Tk3upPsdVf5zR5o8efkuuFwn6CxW
-----END CERTIFICATE-----

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIEmjCCAoICCQD/tosAx2ZFnDANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDDANv
YXAwIBcNMjAwMzE2MTEwMDI0WhgPMjEyMDAyMjExMTAwMjRaMA4xDDAKBgNVBAMM
A29hcDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK7IYIJhJXhhwwzo
ILpbhQJGsK7DnIb0u3AtJd9i0OExC/YBrWiozCkzD4mFIp5GV3Eew5qFjj+TJ+rb
97yd9pBjhkdJRjPNFtbZTvt4cmnQR5RSqztx/n+iaw/9AXkaGgk8Ql5hMGaqoMHJ
7VNne9L5lhA+lW0ZrWOhKvYrx68laRCXdyyYvR5T4xzPPiZDczj9w2jmuVcAVVo4
tWnr2vCOYBX7I+jnwK7vvHVfSj6eNRTu+FsZQaDIUqzYqNJJLgssulpSaSUOqDPA
GCB4D9E8JtA61KPILLZGhtR6Ov7yyxucIYIleVIv/+QMe9swQAz91fy27rgbr32+
1kOb6z5UhQkYt93xQ+W/vqoexzoE1TbUz76DQiCRF2vmbUuo5yV1HCW52o+jWbXX
Qvce/SBwXOAhoIUXAsnlmSK6RGL2dIHMYuuHuyKtMPzTjabFt09DZEEA4neHCHuC
oAlXcwW0V9AU5ILCmeKakUftRX766rLibSSD0siml+ePdSmm592bXhwb0e8Q6GaM
7jhyQJ37YlT5uaSLIC0Og0daA3WO0D8qLxCO2DEAiLRU5v35KXRoeY/Qqhl3OLTR
t7ekR4lXHZmstniuYdp/5CKiKwZOIt02uHrfmyLcxdocOBQJBGde+AoP/WwNb+FX
/iOevPiSeRQMl/QN7ClzgojH5EiRAgMBAAEwDQYJKoZIhvcNAQELBQADggIBACi1
SlaU03ZTYPPk3kOzck+3Wy3eXBP6i33e6I03/Y4wjSyvQyGOKo4nl0kYiMfb9Nb3
71YbAnlPvDHfhKrCdZcigHQEgJWOe81ThyWjnGZrKAo2DkQYtxMi4ZaidmkDJSfh
LzX/9sM0v+/hdjEF1u4owClCQvHjHiZa9kneYox1enE4d0xGRPPoRh32j7myuA4c
nqAgYZBPU+elNsAKwT5HTfnEj1bd1H9KWRXKmahqAIpg7K7Izn5Qn9WG1a7m9Wvr
FRweRHRmF9ol+C8rvR5uYR6VBj3J3hFsHu5s5ZSQs3YpFHJcByF9nsuOUFu/JsBJ
JVgf5kbeLewEeAmqAES8dKRKjVTZhU9XG84ysHliuwv36BmVEz1XbWCqKUEwceFd
xgsXBe4DXE/XQM5JXpQHr1WzZY5HXuV4/knO+U6xpQaXi9D1V7qaD0NGKSFh29tO
GJi2H6Nd9UrIkTgmsvDPuNTLo+QKrPlx7w2Sr9gW1AmLKZN4k6L52tW20tlQnKBf
PzLwnSu2ZcJWPZEmTmyXzuNz9s/HJXaxHYA3/+RtNlrjSvmH8WbTkO5+wHpJKiJt
Lnd6O6AQ845zucdfiOmi+XpOl+zVdOQ5VudzgO8C85joKTfJ3/G4EKZ1aeNd54vg
ZhYmoomvkl58Tk3upPsdVf5zR5o8efkuuFwn6CxW
-----END CERTIFICATE-----

View File

@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
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
gnyI3CLYvydZrh/sZ+HSEQZhdt/YtQ==
-----END PRIVATE KEY-----

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIEkjCCAnoCAQEwDQYJKoZIhvcNAQEFBQAwDjEMMAoGA1UEAwwDb2FwMCAXDTIw
MDMxNjExMDAyNFoYDzIxMjAwMjIxMTEwMDI0WjAOMQwwCgYDVQQDDANvYXAwggIi
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/3xn/AbxA4ykJbCnDr39em9Ys
B7CgIuvS+ePNhkOd7R+mDBkXpvORW3vkri9jzW4in60gujFW2la+DhH18eh7ofVv
JstL11ytFJuyNj7NHiymkSHM5MfHKQxiMtzs6CZ4660UvLAjwqFq3AbuV0gQRuAh
+kyK5b+PJtH30ZOyNY57BKQxmu/H1iqt3cqR44PM2atUwReIivRNwclmEpbqH2UV
YCvPdTJhe4bq2yuk1y/COemtvgBAuet5pqq8SoZ+M7iWsQajWSyAfskk4ICbqL0f
AFL28/e8h9K6LCpEn1ayZ7PMMqnurUk1PKSodqX6wkTvp0b4kNaXm5KL5hWHeEb5
YLj6m8puAC+vw2NcrQGCzZ7YXXpVynPbkJ2kmd06OJ6FL3qLfT7OaZXxzX3hmoSm
Hu1HwP4oNbwKnTn43H8iCc3r2D9R6ax3ib4qYIDXlQHeIT3T7kEokjd9DHX1gGJT
qZ0XF4ByiTYJMyZXkELg7unoZ5zHXr5edbaDlmIXu218qIRDXLOZBbgs+2Pd+N8u
YhmGat+Ca4iT3fq3hqa1MgVgFNLJp1wj2EwAlD2Qyel3AJiuQYhKbWfuNOMYDIHj
6p0zUATI1BjRQKbJrLuWn3SUwyaZgN/FNx9/aELU7UqwlQxE4Xby8lG4qcjwA7st
Mjs5BAQLeZk8k5pc6QIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQATavjl5MD7cG5Y
R4jiaCkTpqGzTK1gfGLwjBCGItC+uPJ8ftFljYUw9jwdg6rbN8ty4rgLw/1DeILB
ULTqNPGS11OV9EUFITn88wM/QGMroFcpJijVZYd3OwbC56wAMIw4qwKg5NEIIKeK
ThEvtmlrGBJmKfAe8t0fVuA0S2RBt+uPG8+2LsjNxhzfDfX84xJz3ezHImdB+3Lr
4GD9z2l+Mw8io++os4rPbOYMnYsuw6y2CeDCLtfKKf8eyCBYlUmGRm4ILjGToTVv
eHWJQI/WjnJPqtw4haDXDD6DtMPP9wZNGuqvUdBsQPU9DfXPqAhjpuzrsQ27dXMb
CX2p6irLmUHiUjdZ/Com84XxWqfln7+wKE2fI+E//ldNt5djzRkJYftMbi5iQTCy
wNhEupKtm4ph8leAccxYY5JlGFK6jd9UgQ2l6voic9A7i8WEGQ0wHoWpAwKJO9Jb
zJdb9neeWhlWNVztY0ir8vnUNADWj2Y8D5gVCwJT1x0/+Kul9E6n4Rxw0UNsQEk/
YpJk2no5VvfYPbVITc5Rd3Et4/B+to1zAGH5lL4Tatb15fapoqveskE4ButKmcLq
urzHSFRU18rmq22wB+NT+t0vS8PK90eJhtzB+QUDbcXZleqcmVbwbsVZerOsVZK3
fuhCEe0ES8CeaIPxHcUyDdt9ybo4/w==
-----END CERTIFICATE-----

View File

@ -0,0 +1,58 @@
# 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.
version: '2.1'
services:
oap:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: oap
volumes:
- ./certs:/skywalking/certs
environment:
SW_CORE_GRPC_SSL_ENABLED: "true"
SW_CORE_GRPC_SSL_KEY_PATH: /skywalking/certs/server-key.pem
SW_CORE_GRPC_SSL_CERT_CHAIN_PATH: /skywalking/certs/server.crt
SW_CORE_GRPC_SSL_TRUSTED_CA_PATH: /skywalking/certs/ca.crt
ports:
- 12800
provider:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: provider
volumes:
- ./ca:/skywalking/agent/ca
ports:
- 9090
depends_on:
oap:
condition: service_healthy
consumer:
extends:
file: ../../../script/docker-compose/base-compose.yml
service: consumer
volumes:
- ./ca:/skywalking/agent/ca
ports:
- 9092
depends_on:
provider:
condition: service_healthy
networks:
e2e:

View File

@ -0,0 +1,75 @@
# 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
init-system-environment: ../../../script/env
steps:
- name: install yq
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
- name: install swctl
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
- name: install etcdctl
command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh etcdctl
cleanup:
on: always
trigger:
action: http
interval: 10s
times: 10
url: http://${consumer_host}:${consumer_9092}/info
method: POST
verify:
# verify with retry strategy
retry:
# max retry count
count: 20
# the interval between two retries, in millisecond.
interval: 10000
cases:
# service list
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
expected: ../expected/service.yml
# 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
# 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
# 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
# dependency service
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql dependency service $(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls|grep -B 1 'provider'|yq e '.[0].id' -)
expected: ../expected/dependency-services.yml
# 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
# dependency instance
# trace segment list
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls
expected: ../expected/traces-list.yml
# 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 '/info'|tail -n1|awk -F ' ' '{print $2}')
expected: ../expected/trace-info-detail.yml