-
Notifications
You must be signed in to change notification settings - Fork 39.7k
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
Modify GCI mounter to enable NFSv3 #36610
Conversation
@@ -16,5 +16,5 @@ FROM ubuntu:xenial | |||
MAINTAINER vishh@google.com | |||
|
|||
RUN apt-get update && apt-get install -y netbase nfs-common=1:1.2.8-9ubuntu12 glusterfs-client=3.7.6-1ubuntu1 | |||
|
|||
ADD startmounter.sh /startmounter.sh | |||
ENTRYPOINT ["/bin/mount"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to change the entrypoint
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed this will be overwritten by rkt exec command. But I will change to make sure.
@@ -16,5 +16,5 @@ FROM ubuntu:xenial | |||
MAINTAINER vishh@google.com | |||
|
|||
RUN apt-get update && apt-get install -y netbase nfs-common=1:1.2.8-9ubuntu12 glusterfs-client=3.7.6-1ubuntu1 | |||
|
|||
ADD startmounter.sh /startmounter.sh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You also need to update the -exec
argument passed to rkt
in the mounter
script to point to this script.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's right. Somehow it is not in the commit. I will add it.
@vishh -- looks like you got this. If you want my eyes let me know. |
@jbeda Yup. I got this! Thanks! |
Jenkins GCI GCE e2e failed for commit f6f3eb6d522b77dfee0eef25e06e1e9f5c6ef2ea. Full PR test history. The magic incantation to run this job again is |
Jenkins Kubemark GCE e2e failed for commit f6f3eb6d522b77dfee0eef25e06e1e9f5c6ef2ea. Full PR test history. The magic incantation to run this job again is |
Jenkins GCE e2e failed for commit f6f3eb6d522b77dfee0eef25e06e1e9f5c6ef2ea. Full PR test history. The magic incantation to run this job again is |
Jenkins GCE etcd3 e2e failed for commit f6f3eb6d522b77dfee0eef25e06e1e9f5c6ef2ea. Full PR test history. The magic incantation to run this job again is |
Jenkins CRI GCE Node e2e failed for commit f6f3eb6d522b77dfee0eef25e06e1e9f5c6ef2ea. Full PR test history. The magic incantation to run this job again is |
Jenkins GCE Node e2e failed for commit f6f3eb6d522b77dfee0eef25e06e1e9f5c6ef2ea. Full PR test history. The magic incantation to run this job again is |
Jenkins GKE smoke e2e failed for commit f6f3eb6d522b77dfee0eef25e06e1e9f5c6ef2ea. Full PR test history. The magic incantation to run this job again is |
Jenkins GCI GKE smoke e2e failed for commit f6f3eb6d522b77dfee0eef25e06e1e9f5c6ef2ea. Full PR test history. The magic incantation to run this job again is |
@k8s-bot gci gke e2e test this |
68206a0
to
86fc77f
Compare
echo "Starting rpcbind: /sbin/rpcbind -w" | ||
/sbin/rpcbind -w | ||
fi | ||
echo `/etc/init.d/rpcbind status` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will be running rpcbind even when we don''t mount nfs. Is that the intended behavior?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this mounter script will be called only for nfs type or glusterfs, it should be ok in my option. Any concerns?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If glusterfs does not rely on rpcbind (I don't think it does, but would need to check) then ideally we would only start rpcbind when someone tries to mount nfs, correct? That said, if parsing the args and figuring out what fs type the user is trying to mount is too ugly, I can live with this as-is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Since we're pre-warming the mounter, this means we're always starting rpcbind on every node, which we shouldn't do)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change for checking the empty input parameters is in cluster/gce/gci/mounter/mounter
config := VolumeTestConfig{ | ||
namespace: namespace.Name, | ||
prefix: "nfs", | ||
serverImage: "gcr.io/google_containers/volume-nfs:0.8", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do we know this is testing v3?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In line 421, I put /exports in the mount path, so this is testing v3. Also in serverPorts, I also have to put 20048 in serverports for v3 (which is not required by v4)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it use a different server image then the v4 test? Maybe we should maintain two seperate nfs-server bianries in gcr.io
, one for each version?
In order to make NFSv3 work, mounter needs to start rpcbind daemon. This change modify mounter's Dockerfile and mounter script to start the rpcbind daemon if it is not running on the host. After this change, need to make push the image and update the sha number in Changelog.
Jenkins Bazel Build failed for commit 2a8d89e. Full PR test history. The magic incantation to run this job again is |
echo "Starting rpcbind: /sbin/rpcbind -w" | ||
/sbin/rpcbind -w | ||
fi | ||
echo `/etc/init.d/rpcbind status` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
config := VolumeTestConfig{ | ||
namespace: namespace.Name, | ||
prefix: "nfs", | ||
serverImage: "gcr.io/google_containers/volume-nfs:0.8", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it use a different server image then the v4 test? Maybe we should maintain two seperate nfs-server bianries in gcr.io
, one for each version?
@@ -12,7 +12,7 @@ | |||
# See the License for the specific language governing permissions and | |||
# limitations under the License. | |||
|
|||
TAG=v2 | |||
TAG=v3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you already push this container to gcr.io?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spoke offline. Already done.
LGTM |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
Automatic merge from submit-queue |
This PR is a retry for PR kubernetes#36610
In order to make NFSv3 work, mounter needs to start rpcbind daemon. This
change modify mounter's Dockerfile and mounter script to start the
rpcbind daemon if it is not running on the host.
After this change, need to make push the image and update the sha number in Changelog.
This change is