Skip to content

The TektonResults component cannot store logs information. #2600

Description

@l-qing

Expected Behavior

After enabling the logs API feature of TektonResults, logs can be stored normally.

Actual Behavior

Even if the switch is enabled in TektonConfig, logs still cannot be stored.

Steps to Reproduce the Problem

  1. Adjust TektonResults configuration
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonResult
metadata:
  name: result
spec:
  auth_disable: true
  db_enable_auto_migration: true
  db_host: 192.168.188.7
  db_name: qingliu_tektoncd_results_202502171201
  db_port: 5432
  is_external_db: true
  log_level: debug
  logging_pvc_name: tekton-logs
  logs_api: true        # <- enable logs api
  logs_path: /logs
  logs_type: File
  options: {}
  secret_name: tekton-results-postgres
  server_port: 8080
  targetNamespace: tekton-pipelines
  1. Restart the pod
$ kubectl delete pods -n tekton-pipelines -l app.kubernetes.io/name=tekton-results-watcher

$ kubectl delete pods -n tekton-pipelines -l app.kubernetes.io/name=tekton-results-api
  1. Create TaskRun
$ cat <<'EOF' | kubectl create -f -
apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
  name: hello
spec:
  taskSpec:
    steps:
      - name: hello
        image: alpine
        command: ["echo", "hello"]
EOF

Additional Info

  • Kubernetes version:

    Output of kubectl version:

    Client Version: v1.32.2
    Kustomize Version: v5.5.0
    Server Version: v1.28.13
    WARNING: version difference between client (1.32) and server (1.28) exceeds the supported minor version skew of +/-1
    
  • Tekton Operator version:

    • v0.75.0

Reference

  • Changed the default startup argument logs_api to false.
  • Solutions from others
  • The TektonOperator does not modify the startup parameters of the tekton-results-watcher based on the logs_api value in TektonResults when deploying TektonResults. This results in the watcher service always having this feature disabled.
    • extra := []mf.Transformer{
      common.InjectOperandNameLabelOverwriteExisting(v1alpha1.OperandTektoncdResults),
      common.ApplyProxySettings,
      common.ReplaceNamespaceInDeploymentArgs([]string{resultWatcherDeployment}, targetNs),
      common.ReplaceNamespaceInDeploymentEnv(resultDeployementNames, targetNs),
      updateApiConfig(instance.Spec),
      enablePVCLogging(instance.Spec.ResultsAPIProperties),
      updateEnvWithSecretName(instance.Spec.ResultsAPIProperties),
      populateGoogleCreds(instance.Spec.ResultsAPIProperties),
      common.AddDeploymentRestrictedPSA(),
      common.AddStatefulSetRestrictedPSA(),

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions