Skip to content

Commit ca52631

Browse files
sayan-biswasgabemontero
authored andcommitted
Fix HTTP2 error with openshift routes
1 parent f47eabd commit ca52631

File tree

6 files changed

+58
-15
lines changed

6 files changed

+58
-15
lines changed

developer/openshift/dev_setup.sh

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,14 @@ check_cluster_role() {
153153
fi
154154
}
155155

156+
cluster_setup() {
157+
echo "[cluster-setup]"
158+
159+
# By default HTTP2 is not enabled in test openshift clusters
160+
echo "- Enabling HTTP2 for ingress" | indent 2
161+
oc annotate ingresses.config/cluster ingress.operator.openshift.io/default-enable-http2=true | indent 6
162+
}
163+
156164
install_openshift_gitops() {
157165
APP="openshift-gitops"
158166

@@ -204,7 +212,6 @@ install_openshift_gitops() {
204212
fi
205213
}
206214

207-
208215
setup_compute_access() {
209216
kustomization_dir="$GIT_URL/operator/gitops/compute/pipeline-service-manager?ref=$GIT_REF"
210217
"$PROJECT_DIR/operator/images/access-setup/content/bin/setup_compute.sh" \
@@ -269,9 +276,10 @@ EOF
269276

270277
main() {
271278
parse_args "$@"
272-
precheck_binary "curl" "argocd" "kubectl" "yq"
279+
precheck_binary "curl" "argocd" "kubectl" "yq" "oc"
273280
init
274281
check_cluster_role
282+
cluster_setup
275283
echo "[compute-access]"
276284
setup_compute_access
277285
echo

operator/gitops/argocd/grafana/dashboards/pipeline-service-dashboard.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2400,7 +2400,7 @@
24002400
"targets": [
24012401
{
24022402
"exemplar": true,
2403-
"expr": "sum(up{job=\"tekton-results-api-service\"})",
2403+
"expr": "sum(up{job=\"tekton-results-api\"})",
24042404
"format": "time_series",
24052405
"hide": false,
24062406
"interval": "",
@@ -2481,7 +2481,7 @@
24812481
"targets": [
24822482
{
24832483
"exemplar": true,
2484-
"expr": "1 - ((sum(rate(grpc_server_handled_total{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code=~\"Internal|Unavailable|Unknown|Unimplemented\"}[$__rate_interval]))) / sum(rate(grpc_server_started_total{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\"}[$__rate_interval])))\n",
2484+
"expr": "1 - ((sum(rate(grpc_server_handled_total{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code=~\"Internal|Unavailable|Unknown|Unimplemented\"}[$__rate_interval]))) / sum(rate(grpc_server_started_total{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\"}[$__rate_interval])))\n",
24852485
"interval": "",
24862486
"intervalFactor": 4,
24872487
"legendFormat": "Success Rate",
@@ -2618,7 +2618,7 @@
26182618
"targets": [
26192619
{
26202620
"exemplar": true,
2621-
"expr": "sum(rate(grpc_server_started_total{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\"}[$__rate_interval]))",
2621+
"expr": "sum(rate(grpc_server_started_total{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\"}[$__rate_interval]))",
26222622
"interval": "",
26232623
"intervalFactor": 4,
26242624
"legendFormat": "Request Rate",
@@ -2686,7 +2686,7 @@
26862686
"targets": [
26872687
{
26882688
"exemplar": true,
2689-
"expr": "histogram_quantile(0.99, sum(rate(grpc_server_handling_seconds_bucket{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\"}[$__rate_interval])) by (le) )",
2689+
"expr": "histogram_quantile(0.99, sum(rate(grpc_server_handling_seconds_bucket{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\"}[$__rate_interval])) by (le) )",
26902690
"interval": "",
26912691
"intervalFactor": 4,
26922692
"legendFormat": "Latency",
@@ -3029,7 +3029,7 @@
30293029
"targets": [
30303030
{
30313031
"exemplar": true,
3032-
"expr": "sum(rate(grpc_server_handled_total{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\"}[$__rate_interval])) by (grpc_method)",
3032+
"expr": "sum(rate(grpc_server_handled_total{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\"}[$__rate_interval])) by (grpc_method)",
30333033
"interval": "",
30343034
"intervalFactor": 4,
30353035
"legendFormat": "{{grpc_method}}",
@@ -3084,7 +3084,7 @@
30843084
"targets": [
30853085
{
30863086
"exemplar": true,
3087-
"expr": "sum(increase(grpc_server_handling_seconds_bucket{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\"}[$__rate_interval])) by (le)",
3087+
"expr": "sum(increase(grpc_server_handling_seconds_bucket{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\"}[$__rate_interval])) by (le)",
30883088
"interval": "",
30893089
"intervalFactor": 4,
30903090
"legendFormat": "{{le}}",
@@ -3211,15 +3211,15 @@
32113211
"targets": [
32123212
{
32133213
"exemplar": true,
3214-
"expr": "sum(rate(grpc_server_handled_total{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code!=\"OK\"}[$__rate_interval])) by (grpc_method)",
3214+
"expr": "sum(rate(grpc_server_handled_total{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code!=\"OK\"}[$__rate_interval])) by (grpc_method)",
32153215
"interval": "",
32163216
"intervalFactor": 4,
32173217
"legendFormat": "RPC: {{grpc_method}}",
32183218
"refId": "error methods"
32193219
},
32203220
{
32213221
"exemplar": true,
3222-
"expr": "sum(rate(grpc_server_handled_total{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code=~\"Internal|Unavailable|Unknown|Unimplemented\"}[$__rate_interval])) by (grpc_code) / ignoring(grpc_code) group_left sum(rate(grpc_server_handled_total{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code!=\"OK\"}[$__rate_interval]))",
3222+
"expr": "sum(rate(grpc_server_handled_total{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code=~\"Internal|Unavailable|Unknown|Unimplemented\"}[$__rate_interval])) by (grpc_code) / ignoring(grpc_code) group_left sum(rate(grpc_server_handled_total{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code!=\"OK\"}[$__rate_interval]))",
32233223
"hide": false,
32243224
"interval": "",
32253225
"intervalFactor": 4,
@@ -3326,15 +3326,15 @@
33263326
"targets": [
33273327
{
33283328
"exemplar": true,
3329-
"expr": "sum(rate(grpc_server_handled_total{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code!=\"OK\"}[$__rate_interval])) by (grpc_method)",
3329+
"expr": "sum(rate(grpc_server_handled_total{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code!=\"OK\"}[$__rate_interval])) by (grpc_method)",
33303330
"interval": "",
33313331
"intervalFactor": 4,
33323332
"legendFormat": "RPC: {{grpc_method}}",
33333333
"refId": "error methods"
33343334
},
33353335
{
33363336
"exemplar": true,
3337-
"expr": "sum(rate(grpc_server_handled_total{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code!~\"Internal|Unavailable|Unknown|Unimplemented\"}[$__rate_interval])) by (grpc_code) / ignoring(grpc_code) group_left sum(rate(grpc_server_handled_total{job=\"tekton-results-api-service\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code!=\"OK\"}[$__rate_interval]))",
3337+
"expr": "sum(rate(grpc_server_handled_total{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code!~\"Internal|Unavailable|Unknown|Unimplemented\"}[$__rate_interval])) by (grpc_code) / ignoring(grpc_code) group_left sum(rate(grpc_server_handled_total{job=\"tekton-results-api\", grpc_service=~\"tekton.results.v1alpha2.*\", grpc_code!=\"OK\"}[$__rate_interval]))",
33383338
"hide": false,
33393339
"interval": "",
33403340
"intervalFactor": 4,
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# OCP Bug workaround https://issues.redhat.com/browse/OCPBUGS-5916
2+
---
3+
apiVersion: v1
4+
kind: Service
5+
metadata:
6+
name: tekton-results-api-metrics
7+
namespace: tekton-results
8+
labels:
9+
app.kubernetes.io/name: "tekton-results-api"
10+
app.kubernetes.io/component: "metrics"
11+
spec:
12+
selector:
13+
app.kubernetes.io/name: "tekton-results-api"
14+
ports:
15+
- name: metrics
16+
protocol: TCP
17+
port: 9443
18+
targetPort: metrics

operator/gitops/argocd/pipeline-service/tekton-results/kustomization.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ resources:
99
- watcher-logging-rbac.yaml
1010
- service-monitor.yaml
1111
- watcher-rbac.yaml
12+
- api-metrics-service.yaml
1213

1314
images:
1415
- name: ko://github.com/tektoncd/results/cmd/api
@@ -50,9 +51,13 @@ patches:
5051
kind: Service
5152
name: tekton-results-watcher
5253
labelSelector: "app.kubernetes.io/name=tekton-results-watcher"
53-
- path: api-service-patch.yaml
54-
target:
54+
- target:
5555
version: v1
5656
kind: Service
5757
name: tekton-results-api-service
5858
labelSelector: "app.kubernetes.io/name=tekton-results-api"
59+
# OCP Bug workaround https://issues.redhat.com/browse/OCPBUGS-5916
60+
# path: api-service-patch.yaml
61+
patch: |-
62+
- op: remove
63+
path: /spec/ports/1

operator/gitops/argocd/pipeline-service/tekton-results/service-monitor.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ metadata:
5252
annotations:
5353
argocd.argoproj.io/sync-wave: "0"
5454
spec:
55+
jobLabel: "app.kubernetes.io/name"
5556
endpoints:
5657
- path: /metrics
5758
port: metrics
@@ -63,7 +64,8 @@ spec:
6364
insecureSkipVerify: true
6465
selector:
6566
matchLabels:
66-
app.kubernetes.io/name: tekton-results-api
67+
app.kubernetes.io/name: "tekton-results-api"
68+
app.kubernetes.io/component: "metrics"
6769
---
6870
apiVersion: monitoring.coreos.com/v1
6971
kind: ServiceMonitor

operator/test/test.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,16 @@ test_security() {
288288
}
289289

290290
test_results() {
291+
# Check logs for OCP bug https://issues.redhat.com/browse/OCPBUGS-5916
292+
printf "\n - Check HTTP2 health probe errors: "
293+
pattern="http2: server: error reading preface from client"
294+
if kubectl logs deployment/tekton-results-api -c "api" -n "$NAMESPACE" 2>/dev/null | grep -ciq "$pattern"; then
295+
echo "Failed"
296+
exit 1
297+
else
298+
echo "OK"
299+
fi
300+
291301
test_pipelines
292302
echo -n " - Results in database:"
293303

0 commit comments

Comments
 (0)