From e28f9d4dcebf5b0a532c97b207731c5a8a28efdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Wieczorek?= Date: Fri, 25 Apr 2025 11:19:27 +0200 Subject: [PATCH 1/2] docker-compose: Add daily Trigger service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change addresses the requirement to reduce the frequency of creating Checkout Nodes instead of setting frequency limits on Maestro Jobs (which might result in empty Checkouts in the Web Dashboard). Configuration values in use do not provide a fix for the reported issue. They were chosen to verify this approach on the Maestro Staging instance. A tree has been selected using following criteria: - adds as little as possible load for the Staging build cluster instance - preferably has only one monitored branch which doesn't get updated often - is related to the netdev tree already present in the Docker Compose deployment. Resolves: kernelci/kernelci-core#2857 Signed-off-by: Paweł Wieczorek --- docker-compose.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docker-compose.yaml b/docker-compose.yaml index 14d44a2ef..00cbe0047 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -135,6 +135,19 @@ services: extra_hosts: - "host.docker.internal:host-gateway" + trigger_daily: + <<: *base-service + container_name: 'kernelci-pipeline-trigger-daily' + command: + - './src/trigger.py' + - '--settings=${KCI_SETTINGS:-/home/kernelci/config/kernelci.toml}' + - 'run' + - '--poll-period=86400' + - '--trees=aaptel' + - '--name=trigger_daily' + extra_hosts: + - "host.docker.internal:host-gateway" + timeout: <<: *base-service container_name: 'kernelci-pipeline-timeout' From a5fe05896bdc5b9cf2e40ff6da6a53c922459850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Wieczorek?= Date: Mon, 16 Jun 2025 11:50:22 +0200 Subject: [PATCH 2/2] kube: aks: Add daily Trigger service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change adds a daily Trigger service to the K8s-based deployment which is used in e.g. Maestro Production instance. Configuration values in use provide an actual fix to the user-reported issue instead of being arbitrarily chosen for testing purposes as in the case of Docker Compose-based deployment. This change might need a revisit to fold copied and pasted container configuration for the Trigger service into a reusable template. Resolves: kernelci/kernelci-core#2857 Signed-off-by: Paweł Wieczorek --- kube/aks/trigger.yaml | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/kube/aks/trigger.yaml b/kube/aks/trigger.yaml index bfde5c296..c941972a1 100644 --- a/kube/aks/trigger.yaml +++ b/kube/aks/trigger.yaml @@ -38,7 +38,7 @@ spec: - --settings=/secrets/kernelci.toml - --yaml-config=/config - run - - --trees=!kernelci + - --trees=!kernelci,chromiumos - --name=trigger env: - name: KCI_API_TOKEN @@ -55,6 +55,32 @@ spec: mountPath: /secrets - name: config-volume mountPath: /config + - name: trigger_daily + image: kernelci/kernelci:pipeline@sha256:bb01424c4dedcd2ffa87cef225b09116cf874bc2b91fc63ed6d993d6fc5c43cb + imagePullPolicy: Always + command: + - ./src/trigger.py + - --settings=/secrets/kernelci.toml + - --yaml-config=/config + - run + - --poll-period=86400 + - --trees=chromiumos + - --name=trigger_daily + env: + - name: KCI_API_TOKEN + valueFrom: + secretKeyRef: + name: kernelci-api-token + key: token + resources: + requests: + memory: "128Mi" + cpu: "500m" + volumeMounts: + - name: secrets + mountPath: /secrets + - name: config-volume + mountPath: /config volumes: - name: secrets secret: