Fix: fix flaky e2e-test of apiserver (#2840)

Co-authored-by: yangsoon <songyang.song@alibaba-inc.com>
This commit is contained in:
yangsoon
2021-11-30 10:37:52 +08:00
committed by GitHub
co-authored by yangsoon
parent f9ecc02417
commit 13b07674f1
3 changed files with 52 additions and 44 deletions
+1
View File
@@ -16,6 +16,7 @@
revision: string
object: {...}
}]
...
}
#CollectPods: {
+48 -42
View File
@@ -36,57 +36,63 @@ data:
}
}
resources: application.list
podsMap: op.#Steps & {
for i, resource in resources {
"\(i)": ql.#CollectPods & {
value: resource.object
cluster: resource.cluster
}
}
if application.err != _|_ {
status: error: application.err
}
podsWithCluster: [ for i, pods in podsMap for podObj in pods.list {
cluster: pods.cluster
obj: podObj
}]
if application.err == _|_ {
resources: application.list
podStatus: op.#Steps & {
for i, pod in podsWithCluster {
"\(i)": op.#Steps & {
name: pod.obj.metadata.name
containers: {for container in pod.obj.status.containerStatuses {
"\(container.name)": {
image: container.image
state: container.state
}
}}
events: ql.#SearchEvents & {
value: pod.obj
cluster: pod.cluster
podsMap: op.#Steps & {
for i, resource in resources {
"\(i)": ql.#CollectPods & {
value: resource.object
cluster: resource.cluster
}
metrics: ql.#Read & {
cluster: pod.cluster
value: {
apiVersion: "metrics.k8s.io/v1beta1"
kind: "PodMetrics"
metadata: {
name: pod.obj.metadata.name
namespace: pod.obj.metadata.namespace
}
}
podsWithCluster: [ for i, pods in podsMap for podObj in pods.list {
cluster: pods.cluster
obj: podObj
}]
podStatus: op.#Steps & {
for i, pod in podsWithCluster {
"\(i)": op.#Steps & {
name: pod.obj.metadata.name
containers: {for container in pod.obj.status.containerStatuses {
"\(container.name)": {
image: container.image
state: container.state
}
}}
events: ql.#SearchEvents & {
value: pod.obj
cluster: pod.cluster
}
metrics: ql.#Read & {
cluster: pod.cluster
value: {
apiVersion: "metrics.k8s.io/v1beta1"
kind: "PodMetrics"
metadata: {
name: pod.obj.metadata.name
namespace: pod.obj.metadata.namespace
}
}
}
}
}
}
}
status: {
podList: [ for podInfo in podStatus {
name: podInfo.name
containers: [ for containerName, container in podInfo.containers {
containerName
status: {
podList: [ for podInfo in podStatus {
name: podInfo.name
containers: [ for containerName, container in podInfo.containers {
containerName
}]
events: podInfo.events.list
}]
events: podInfo.events.list
}]
}
}
+3 -2
View File
@@ -45,7 +45,8 @@ type PodStatus struct {
Events interface{} `json:"events"`
}
type Status struct {
PodList []PodStatus `json:"podList"`
PodList []PodStatus `json:"podList,omitempty"`
Error string `json:"error,omitempty"`
}
var _ = Describe("Test velaQL rest api", func() {
@@ -215,7 +216,7 @@ var _ = Describe("Test velaQL rest api", func() {
Eventually(func() error {
queryRes, err := http.Get(
fmt.Sprintf("http://127.0.0.1:8000/api/v1/query?velaql=%s{appName=%s,appNs=%s,name=%s}.%s", "test-component-pod-view", appName, namespace, component2Name, "status"),
fmt.Sprintf("http://127.0.0.1:8000/api/v1/query?velaql=%s{appName=%s,appNs=%s}.%s", "test-component-pod-view", appName, namespace, "status"),
)
if err != nil {
return err