Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to support kubecf #1

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft

Conversation

mook-as
Copy link
Member

@mook-as mook-as commented May 28, 2020

This PR contains the initial changes to support cloudfoundry-incubator/kubecf#382.

This will also need changes to mapfs-release (to be BPM-compatible), plus KubeCF-side changes to use this code. It also requires some sort of resolution for cloudfoundry-incubator/quarks-operator#963.

Hopefully the commit messages are clear enough to be able to explain why they are needed.

This adds the minimal BPM hooks to let things run.  This is necessary as
quarks-operator does not support non-BPM jobs.
We need `-L` for libdb to be found; we also require a `soelim`
executable (which normally comes in the `groff` package) for the build
to succeed.  As we don't actually need the output (documentation), just
write a stub that does nothing instead.
In the quarks world, we do not have co-located jobs (since each job runs
in an independent container).  Instead, we can vendor the CLI package
so that it is visible in the nfsbrokerpush job.
Mounting NFS volumes requires rpc.statd to be running (for lock
management).  As we run each job in a separate container, we cannot just
add jobs for them (as then rpc.statd would not be able to communicate
with rpcbind correctly).  Instead, just spawn them in the nfsv3driver
startup script; they will background themselves.

Also, remove the logging redirects, as logging to stdout/stderr is more
useful in a containerized scenario.
If the pre-start script is named bin/pre-start, it will (also) be run as
a BOSH pre-start script (in addition to being run as a BPM pre-start
script); quarks-operator will in this case mount
/var/vcap/data/voldrivers as read-only, which breaks the pre-start
script.  Only use it as a BPM pre-start script instead to ensure that
the volume is mounted read-write.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant