Closed cwlbraa closed 3 years ago
We have created an issue in Pivotal Tracker to manage this:
https://www.pivotaltracker.com/story/show/173954689
The labels on this github issue will be updated when the story is started.
Hey @cwlbraa
It would be pretty easy for us to check for empty ports array in the panicing converter.
However, is my understanding that cf7 supports multi-processes apps via requesting multiple LRPs for a single app (one per process) correct? The reason to ask this question is that we have a story to natively support apps with multiple processes using K8S pods sidecars but if there is no demand, we should probably reconsider?
Also, why is the failure not reproducible with cf6? Does cf6 not request multiple LRPs?
It's likely easier to see the failure with cf7 because the v3 restart endpoint errors clearly, but I also didn't personally test with cf6. I'd bet it falls, but does so more quietly.
To your other question, which seems a bit orthogonal: the CF v3 API supports multiprocess apps AND sidecar processes. In the CF API a v3 multiprocess app should make multiple pods, but a v3/process with sidecars would need additional containers inside the v3/process pod. If eirini allowed extra containers in a single LRP we'd use them to implement sidecars.
FYI, this issue should be closed out, as the related https://github.com/cloudfoundry/cf-for-k8s/issues/287 and https://github.com/cloudfoundry/capi-k8s-release/issues/55 issues are as well.
Description
Originally reported by as https://github.com/cloudfoundry/cf-for-k8s/issues/287, pushing the spring-music sample app causes OPI to panic when desiring the "task" process. In the issue, @cselzo investigated and found that this was due to the app having 2 processes that don't have any open ports. Neither of those processes intend to be externally accessible, so we think this should be a valid LRP to desire.
Steps to reproduce
Push the spring-music sample app using the v7 CLI and cf-for-k8s. The v7 CLI uses CAPI's
/v3/apps/:guid/restart
endpoint, making the failure easier to trace as it bubbles up a errors when talking to OPI.What was expected to happen
Successfully create a StatefulSet with no open ports.
What actually happened