Skip to content

cf push app errors in v0.15.0/v0.15.1 #3936

Open
@vkazmin1

Description

@vkazmin1

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

  1. Deploy Korifi v0.14.0 - applications build and deploy successfully
  2. Upgrade to v0.15.0
  3. 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

  1. Is there a known issue with cf push?
  2. Are there any additional logs or debugging steps that would be helpful?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    🇪🇺 To do

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions