Open ericpromislow opened 4 years ago
We have created an issue in Pivotal Tracker to manage this:
https://www.pivotaltracker.com/story/show/174178548
The labels on this github issue will be updated when the story is started.
This is consistent with what we've observed, although it would be good to have some "official" confirmation that the use of multiple buildpacks is not currently expected to work with cf-for-k8s. For what it's worth, I've also reproduced @ericpromislow's original issue with the go_calls_ruby
app (which I believe is used as a sample app in the Cloud Foundry Foundation's CFCD training materials). We're running cf-for-k8s v1.1.0-rc.1.
In our case we attempted to deploy the retro tool Postfacto, which needs both ruby and node. We use an adapted version of the manifest provided in the official repo, removing the buildpacks block.
We download and unzip a Postfacto release (we tried this with 4.3.0), amend the manifest as above, and deploy as follows:
cd package/assets
cf push my-postfacto --var session-time=1000 --var api-app-name=my-postfacto -f ../cf/config/manifest.yml -b paketo-buildpacks/nodejs -b paketo-buildpacks/ruby
Post-deployment, cf apps
shows 0/2 instances are running. The app logs seem to show that the nodejs buildpack hasn't been applied:
2020-12-15T15:12:33.87+0100 [APP/PROC/WEB/630494ce-6ffe-4b8b-b6d8-6be4b7113bb9] OUT ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
For now we're going to get around this by just building a docker image and deploying that, as we can't figure out how to do this with buildpacks.
Y'know what, I just realised that @Birdrock moved this to 'Known Issues' in your backlog above, so that's enough official acknowledgment for me ;)
Describe the bug
The CATs test that uses the go-calls-ruby sample app doesn't work in cf-for-k8s
This is a regression from cf-deployment. My question is, who owns this feature -- that determines if it should eventually be part of cf-for-k8s, and if yes, which team is responsible for it.
To Reproduce*
Steps to reproduce the behavior:
It's helpful to include snippets of the error response or logs output
Expected behavior
The app should output the version of the installed bundle exectuable
Additional context
In cf-deployment, this app relies on the
-b BUILDPACK
CLI option or explicitly specifying multiple buildpacks to use on the cloud-controller API.The go buildpack causes the main app to be compiled and installed.
The ruby buildpack causes the ruby webapp infrastructure, including
bundle
/bundler
, to be installed.Deploy instructions
Standard kapp deployment:
kapp deploy -a cf -f <(ytt -f ./config -f /tmp/$K8S_ENV-values.yml)
Cluster information
GKE
CLI versions
paste output of the following commands
ytt --version
: ytt version 0.28.0kapp --version
: kapp version 0.29.0kubectl version
: Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T23:35:15Z", GoVersion:"go1.14.2", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"17+", GitVersion:"v1.17.8-gke.17", GitCommit:"cd7ca396c79d2e8f3fdb06c6865549770091d431", GitTreeState:"clean", BuildDate:"2020-07-20T22:12:03Z", GoVersion:"go1.13.9b4", Compiler:"gc", Platform:"linux/amd64"}cf version
: cf version 6.50.0+4f0c3a2ce.2020-03-03