Open
Description
Description
After upgrading from v0.14.0 to v0.15.0/v0.15.1, the CFApp controller is experiencing silent reconciliation failures. The application builds appear to complete successfully in kpack, but the CFApp controller encounters errors during reconciliation.
Environment
- Korifi Version: v0.15.0 (also reproduced in v0.15.1)
- Kubernetes Version: 1.31
- kpack Version: v0.16.1
- Platform: AWS EKS
Expected Behavior
- Application builds should complete and deploy successfully as they do in v0.14.0
Actual Behavior
The CFApp controller logs show repeated errors, but not related to cf push
:
$v % cf push php14
Pushing app php14 to org test / space test as cf-admin...
Packaging files to upload...
Uploading files...
11.90 KiB / 11.90 KiB [======================================================================================================================================] 100.00% 2s
Waiting for API to complete processing files...
Staging app and tracing logs...
cf push php14 -v :
RESPONSE: [2025-04-16T09:35:59+02:00]
HTTP/1.1 200 OK
Date: Wed, 16 Apr 2025 07:35:59 GMT
Content-Length: 27
Content-Type: application/json
X-Correlation-Id: ddf30124-fe3d-43d2-b9aa-04030b781af2
REQUEST: [2025-04-16T09:35:59+02:00]
GET /api/v1/read/aa432a51-d21c-465c-9baf-39883e06f6b5?descending=true&limit=1&start_time=-6795364578871345152 HTTP/1.1
Host: <domain>
REQUEST: [2025-04-16T09:36:00+02:00]
GET /v3/builds/4ebf9d5b-e4db-42c9-96b4-59736aa079da HTTP/1.1
Host: <domain>
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
Content-Type: application/json
User-Agent: cf/8.9.0+c23186c.2024-12-02 (go1.23.1; arm64 darwin)
[application/json Content Hidden]
RESPONSE: [2025-04-16T09:36:00+02:00]
HTTP/1.1 200 OK
Content-Type: application/json
X-Correlation-Id: d46211b6-771d-4342-a46e-32eeb15f3674
Date: Wed, 16 Apr 2025 07:36:00 GMT
Content-Length: 27
RESPONSE: [2025-04-16T09:36:00+02:00]
HTTP/1.1 200 OK
Content-Length: 960
Content-Type: application/json
Date: Wed, 16 Apr 2025 07:36:00 GMT
X-Correlation-Id: f205a225-9bd2-464f-a3c7-351b7eb7fa6a
{
"created_at": "2025-04-16T07:35:56Z",
"created_by": {},
"droplet": null,
"error": null,
"guid": "4ebf9d5b-e4db-42c9-96b4-59736aa079da",
"lifecycle": {
"data": {
"buildpacks": []
},
"type": "buildpack"
},
"links": {
"app": {
"href": "https://api.domain/v3/apps/aa432a51-d21c-465c-9baf-39883e06f6b5"
},
"self": {
"href": "https://api.domain/v3/builds/4ebf9d5b-e4db-42c9-96b4-59736aa079da"
}
},
"metadata": {
"annotations": {
"korifi.cloudfoundry.org/creation-version": "v0.15.0"
},
"labels": {
"korifi.cloudfoundry.org/app-guid": "aa432a51-d21c-465c-9baf-39883e06f6b5",
"korifi.cloudfoundry.org/package-guid": "42999b4c-1c17-4595-9589-78569e80d940",
"korifi.cloudfoundry.org/space-guid": "cf-space-25ddf634-58df-4dff-a1fc-4a4ec6e90baf"
}
},
"package": {
"guid": "42999b4c-1c17-4595-9589-78569e80d940"
},
"relationships": {
"app": {
"data": {
"guid": "aa432a51-d21c-465c-9baf-39883e06f6b5"
}
}
},
"staging_disk_in_mb": 0,
"staging_memory_in_mb": 0,
"state": "STAGING",
"updated_at": "2025-04-16T07:35:57Z"
}
REQUEST: [2025-04-16T09:36:00+02:00]
GET /api/v1/read/aa432a51-d21c-465c-9baf-39883e06f6b5?descending=true&limit=1&start_time=-6795364578871345152 HTTP/1.1
Host: domain
RESPONSE: [2025-04-16T09:36:00+02:00]
HTTP/1.1 200 OK
Date: Wed, 16 Apr 2025 07:36:00 GMT
Content-Length: 27
Content-Type: application/json
X-Correlation-Id: 05d2c42a-ea67-48fa-8787-85498ece360b
REQUEST: [2025-04-16T09:36:00+02:00]
GET /api/v1/read/aa432a51-d21c-465c-9baf-39883e06f6b5?descending=true&limit=1&start_time=-6795364578871345152 HTTP/1.1
Host: domain
RESPONSE: [2025-04-16T09:36:00+02:00]
HTTP/1.1 200 OK
Content-Type: application/json
X-Correlation-Id: 854609df-9173-40c9-b170-702dfb92b2a3
Date: Wed, 16 Apr 2025 07:36:00 GMT
Content-Length: 27
REQUEST: [2025-04-16T09:36:00+02:00]
GET /api/v1/read/aa432a51-d21c-465c-9baf-39883e06f6b5?descending=true&limit=1&start_time=-6795364578871345152 HTTP/1.1
Host: domain
RESPONSE: [2025-04-16T09:36:01+02:00]
HTTP/1.1 200 OK
Content-Type: application/json
X-Correlation-Id: a7af281c-2b47-4e5b-bd76-21cf6c44bf41
Date: Wed, 16 Apr 2025 07:36:01 GMT
Content-Length: 27
REQUEST: [2025-04-16T09:36:01+02:00]
GET /api/v1/read/aa432a51-d21c-465c-9baf-39883e06f6b5?descending=true&limit=1&start_time=-6795364578871345152 HTTP/1.1
Host: domain
RESPONSE: [2025-04-16T09:36:01+02:00]
HTTP/1.1 200 OK
Content-Length: 27
Content-Type: application/json
X-Correlation-Id: 79b9d28a-e539-43e8-ad11-dfc106635f8e
Date: Wed, 16 Apr 2025 07:36:01 GMT
REQUEST: [2025-04-16T09:36:01+02:00]
GET /api/v1/read/aa432a51-d21c-465c-9baf-39883e06f6b5?descending=true&limit=1&start_time=-6795364578871345152 HTTP/1.1
Host: domain
RESPONSE: [2025-04-16T09:36:01+02:00]
HTTP/1.1 200 OK
Content-Type: application/json
X-Correlation-Id: b3b6ba8a-67c6-4982-a0f5-978d2f71b824
Date: Wed, 16 Apr 2025 07:36:01 GMT
Content-Length: 27
REQUEST: [2025-04-16T09:36:01+02:00]
GET /api/v1/read/aa432a51-d21c-465c-9baf-39883e06f6b5?descending=true&limit=1&start_time=-6795364578871345152 HTTP/1.1
Host: domain
RESPONSE: [2025-04-16T09:36:02+02:00]
HTTP/1.1 200 OK
Content-Type: application/json
X-Correlation-Id: b7da78c0-359c-483d-8abc-566d753d8c27
Date: Wed, 16 Apr 2025 07:36:02 GMT
Content-Length: 27
REQUEST: [2025-04-16T09:36:02+02:00]
GET /api/v1/read/aa432a51-d21c-465c-9baf-39883e06f6b5?descending=true&limit=1&start_time=-6795364578871345152 HTTP/1.1
Host: domain
RESPONSE: [2025-04-16T09:36:02+02:00]
HTTP/1.1 200 OK
Content-Type: application/json
X-Correlation-Id: 2a2efd8f-1a8e-438e-919a-86b6dddab98c
Date: Wed, 16 Apr 2025 07:36:02 GMT
Content-Length: 27
REQUEST: [2025-04-16T09:36:02+02:00]
GET /api/v1/read/aa432a51-d21c-465c-9baf-39883e06f6b5?descending=true&limit=1&start_time=-6795364578871345152 HTTP/1.1
Host: domain
RESPONSE: [2025-04-16T09:36:02+02:00]
HTTP/1.1 200 OK
Content-Type: application/json
X-Correlation-Id: ea049300-4217-4170-9cd0-21e5f01b7c25
Date: Wed, 16 Apr 2025 07:36:02 GMT
Content-Length: 27
REQUEST: [2025-04-16T09:36:02+02:00]
GET /api/v1/read/aa432a51-d21c-465c-9baf-39883e06f6b5?descending=true&limit=1&start_time=-6795364578871345152 HTTP/1.1
Host: domain
RESPONSE: [2025-04-16T09:36:02+02:00]
HTTP/1.1 200 OK
X-Correlation-Id: 47419605-cd86-4502-ae19-cd717531658d
Date: Wed, 16 Apr 2025 07:36:02 GMT
Content-Length: 27
Content-Type: application/json
REQUEST: [2025-04-16T09:36:03+02:00]
GET /v3/builds/4ebf9d5b-e4db-42c9-96b4-59736aa079da HTTP/1.1
Host: domain
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
Content-Type: application/json
User-Agent: cf/8.9.0+c23186c.2024-12-02 (go1.23.1; arm64 darwin)
[application/json Content Hidden]
kubectl logs -n korifi deployment/korifi-controllers-controller-manager --all-containers --tail=10 |jq :
{
"severity": "DEBUG",
"timestamp": "2025-04-16T07:33:51.277313486Z",
"logger": "controllers.CFOrg.finalize",
"caller": "k8sns/ns_finalizer.go:70",
"message": "requeuing waiting for namespace deletion",
"namespace": "cf",
"name": "e05cd1c9-ada5-4d01-b7f5-841fbf1a9540",
"logID": "9aa077cd-bd27-4767-b53c-4e064feb0089"
}
{
"severity": "DEBUG",
"timestamp": "2025-04-16T07:33:51.308650092Z",
"logger": "controllers.CFBuild",
"caller": "build/controller.go:74",
"message": "set observed generation",
"namespace": "cf-space-25ddf634-58df-4dff-a1fc-4a4ec6e90baf",
"name": "97052fc3-a02f-4af0-9122-4d7eaed326e7",
"logID": "b7a3cd6d-16f7-4dcb-8e09-ea56902194e9",
"generation": 1
}
{
"severity": "INFO",
"timestamp": "2025-04-16T07:33:51.308791857Z",
"logger": "controllers.CFBuild.BuildCleaner",
"caller": "cleanup/build_cleaner.go:45",
"message": "processing builds",
"namespace": "cf-space-25ddf634-58df-4dff-a1fc-4a4ec6e90baf",
"name": "97052fc3-a02f-4af0-9122-4d7eaed326e7",
"logID": "b7a3cd6d-16f7-4dcb-8e09-ea56902194e9",
"app": {
"name": "6a24ebf8-d6c7-4784-87bf-6b8951ec1783",
"namespace": "cf-space-25ddf634-58df-4dff-a1fc-4a4ec6e90baf"
},
"count": 2
}
{
"severity": "DEBUG",
"timestamp": "2025-04-16T07:33:51.343400785Z",
"logger": "controllers.CFOrg",
"caller": "k8sns/reconciler.go:77",
"message": "set observed generation",
"namespace": "cf",
"name": "1364e609-8ed7-4451-a761-915a1b16a362",
"logID": "7b18590a-67b5-47ba-90b0-6220c5786d35",
"generation": 2
}
{
"severity": "DEBUG",
"timestamp": "2025-04-16T07:33:51.347475208Z",
"logger": "controllers.CFOrg.finalize",
"caller": "k8sns/ns_finalizer.go:70",
"message": "requeuing waiting for namespace deletion",
"namespace": "cf",
"name": "1364e609-8ed7-4451-a761-915a1b16a362",
"logID": "7b18590a-67b5-47ba-90b0-6220c5786d35"
}
{
"severity": "DEBUG",
"timestamp": "2025-04-16T07:33:51.353753161Z",
"logger": "controllers.CFSpace",
"caller": "k8sns/reconciler.go:77",
"message": "set observed generation",
"namespace": "cf-org-2e64e882-8c1b-4b15-b9c9-f33934776b8b",
"name": "cf-space-cb62b86f-f6a1-41c1-8dc4-f6ad3fd05888",
"logID": "8cd45079-9e94-4794-9ccd-4e82e85451d9",
"generation": 2
}
{
"severity": "DEBUG",
"timestamp": "2025-04-16T07:33:51.353814714Z",
"logger": "controllers.CFSpace.finalize-contained-apps",
"caller": "k8sns/space_apps_finalizer.go:37",
"message": "finalizing contained apps",
"namespace": "cf-org-2e64e882-8c1b-4b15-b9c9-f33934776b8b",
"name": "cf-space-cb62b86f-f6a1-41c1-8dc4-f6ad3fd05888",
"logID": "8cd45079-9e94-4794-9ccd-4e82e85451d9",
"duration": 1723616.353813304
}
{
"severity": "DEBUG",
"timestamp": "2025-04-16T07:33:51.353859616Z",
"logger": "controllers.CFSpace.finalize-contained-apps",
"caller": "k8sns/space_apps_finalizer.go:52",
"message": "namespace found",
"namespace": "cf-org-2e64e882-8c1b-4b15-b9c9-f33934776b8b",
"name": "cf-space-cb62b86f-f6a1-41c1-8dc4-f6ad3fd05888",
"logID": "8cd45079-9e94-4794-9ccd-4e82e85451d9"
}
{
"severity": "DEBUG",
"timestamp": "2025-04-16T07:33:51.353874456Z",
"logger": "controllers.CFSpace.finalize-contained-apps",
"caller": "k8sns/space_apps_finalizer.go:55",
"message": "namespace already being deleted",
"namespace": "cf-org-2e64e882-8c1b-4b15-b9c9-f33934776b8b",
"name": "cf-space-cb62b86f-f6a1-41c1-8dc4-f6ad3fd05888",
"logID": "8cd45079-9e94-4794-9ccd-4e82e85451d9"
}
{
"severity": "DEBUG",
"timestamp": "2025-04-16T07:33:51.359098151Z",
"logger": "controllers.CFSpace.finalize",
"caller": "k8sns/ns_finalizer.go:70",
"message": "requeuing waiting for namespace deletion",
"namespace": "cf-org-2e64e882-8c1b-4b15-b9c9-f33934776b8b",
"name": "cf-space-cb62b86f-f6a1-41c1-8dc4-f6ad3fd05888",
"logID": "8cd45079-9e94-4794-9ccd-4e82e85451d9"
}
Resources:
apiVersion: kpack.io/v1alpha2
kind: ClusterStore
metadata:
name: primary-cluster-store
spec:
sources:
- image: paketobuildpacks/dotnet-core:1.6.1
- image: paketobuildpacks/go:4.15.2
- image: paketobuildpacks/java-native-image:11.9.0
- image: paketobuildpacks/java:18.5.0
- image: paketobuildpacks/nodejs:7.6.1
- image: paketobuildpacks/php:2.19.9
- image: paketobuildpacks/procfile:5.11.0
- image: paketobuildpacks/python:2.25.2
- image: paketobuildpacks/ruby:0.47.6
- image: paketobuildpacks/web-servers:1.4.1
---
apiVersion: kpack.io/v1alpha2
kind: ClusterStack
metadata:
name: primary-jammy-stack
spec:
id: "io.buildpacks.stacks.jammy"
buildImage:
image: "paketobuildpacks/build-jammy-full"
runImage:
image: "paketobuildpacks/run-jammy-full"
---
apiVersion: kpack.io/v1alpha2
kind: ClusterBuilder
metadata:
name: primary-cluster-builder
spec:
order:
- group:
- id: paketo-buildpacks/nodejs
- group:
- id: paketo-buildpacks/dotnet-core
- group:
- id: paketo-buildpacks/go
- group:
- id: paketo-buildpacks/python
- group:
- id: paketo-buildpacks/php
- group:
- id: paketo-buildpacks/web-servers
- group:
- id: paketo-buildpacks/java-native-image
- group:
- id: paketo-buildpacks/java
- group:
- id: paketo-buildpacks/ruby
- group:
- id: paketo-buildpacks/procfile
serviceAccountRef:
name: controller
namespace: kpack
stack:
kind: ClusterStack
name: primary-jammy-stack
store:
kind: ClusterStore
name: primary-cluster-store
tag: <address>
Steps to Reproduce
- Deploy Korifi v0.14.0 - applications build and deploy successfully
- Upgrade to v0.15.0
- Push a new application using
cf push <app-name>
Additional Context
- The issue affects multiple applications/builds
- The kpack builds themselves appear to complete successfully
- No error message is being propagated (empty error field)
- Rolling back to v0.14.0 resolves the issue
Workaround
Currently using v0.14.0 as a workaround until this is resolved.
Questions
- Is there a known issue with
cf push
? - Are there any additional logs or debugging steps that would be helpful?
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
🇪🇺 To do