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

synced_folder fails for NFS on Sonoma 14.4 #13364

Open
dfreudenberger opened this issue Mar 14, 2024 · 16 comments
Open

synced_folder fails for NFS on Sonoma 14.4 #13364

dfreudenberger opened this issue Mar 14, 2024 · 16 comments

Comments

@dfreudenberger
Copy link

dfreudenberger commented Mar 14, 2024

Debug output

https://gist.github.com/dfreudenberger/7e894870dc739cba7876fef4983c8508

Expected behavior

synced_folder should mount the specified path using NFS.

Actual behavior

Apple decided to limit the access to kickstart which is currently used to restart the NFS daemon. Therefore the mount operation fails.

Edit:
It seems like Vagrant doesn't actually use kickstart by itself; instead, it runs "sudo nfsd restart" which causes the error mentioned. Perhaps modifying this line to use update instead of restart could solve the problem.

sudo nfsd restart
Could not kickstart service "com.apple.nfsd": 1: Operation not permitted
/bin/launchctl exited with status 1

Reproduction information

Vagrant version

Vagrant 2.4.1

Host operating system

MacOS Sonoma 14.4

Guest operating system

Fedora

Steps to reproduce

  1. vagrant up

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
    config.vm.box = "bento/fedora-latest"

    config.vm.provider "parallels" do |prl|
        prl.update_guest_tools = false
    end

    config.vm.synced_folder '~/dev', "/data", :type => 'nfs', :nfs_version => 3
end
@bjoernhaeuser
Copy link

I am working with @dfreudenberger and having the same problem.

It looks like replacing "nfsd restart" with "nfsd update" here. Though I am not able to run vagrant from a checkout and install the parallels plugin and therefore not really able to provide a fix right now.

@emek-lu
Copy link

emek-lu commented Mar 19, 2024

I too am experiencing the same problem.

@bmorg
Copy link
Contributor

bmorg commented Mar 20, 2024

We are affected too:

==> devserver: Exporting NFS shared folders...
==> devserver: Preparing to edit /etc/exports. Administrator privileges will be required...
Password:
Could not kickstart service "com.apple.nfsd": 1: Operation not permitted
/bin/launchctl exited with status 1

@Stark-X
Copy link

Stark-X commented Mar 24, 2024

Same here

@Rob-Voss
Copy link

Rob-Voss commented Mar 25, 2024

I'm also on 14.4 and I'm also having this same issue:

==> default: Installing NFS client...
==> default: Exporting NFS shared folders...
==> default: Preparing to edit /etc/exports. Administrator privileges will be required...
Could not kickstart service "com.apple.nfsd": 1: Operation not permitted
/bin/launchctl exited with status 1
==> default: Mounting NFS shared folders...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

mount -o vers=3 10.211.55.2:/Users/user/Work/test.com/site /vagrant-nfs-test.com

Stdout from the command:

Stderr from the command:

mount.nfs: an incorrect mount option was specified

@Twansparant
Copy link

Yes, unfortunately bumped into the same issue today...

@bjoernhaeuser
Copy link

Also happens with Sonoma 14.4.1 :(

@unlovedsam
Copy link

unlovedsam commented Mar 26, 2024

Same - manually running sudo nfsd update in terminal resolves

@adherzog
Copy link

@bjoernhaeuser

Though I am not able to run vagrant from a checkout and install the parallels plugin and therefore not really able to provide a fix right now.

I don't think anyone else has mentioned it, but I'm having the same issue with VirtualBox - this issue isn't Parallels specific.

@lookareyellow
Copy link

FYI I have the same issue issue using VMWare Fusion

@gapop
Copy link

gapop commented Mar 30, 2024

I came upon this thread while searching for the error message. Unrelated to Vagrant, I have this issue on my Mac. The update command suggested above didn’t help. However, I could start nfsd by doing sudo launchctl start nfsd. I hope this helps.

@nicolasverlhiac
Copy link

sudo nfsd update

It's working, thanks.

@jason-apolline
Copy link

jason-apolline commented Apr 7, 2024

Same - manually running sudo nfsd update in terminal resolves

@unlovedsam What exactly did you do? I've run the command before the vagrant up command - no change. After the vagrant up command exits, no change. In a separate terminal at the point when the kickstart error is emitted, no change. Still unable to mount my synced_folder.

@jason-apolline
Copy link

jason-apolline commented Apr 7, 2024

Same - manually running sudo nfsd update in terminal resolves

@unlovedsam What exactly did you do? I've run the command before the vagrant up command - no change. After the vagrant up command exits, no change. In a separate terminal at the point when the kickstart error is emitted, no change. Still unable to mount my synced_folder.

It seems to be a UDP issue in my case with Ubuntu 22.04. Forcing UDP off in the Vagrantfile seems to sort that out (also probably with the help of sudo nsfd update). This is odd as I have other 22.04 VMs and didn't experience this issue, however I can't recall if I have used them since updating to Sonoma.

@gutobenn
Copy link

I’m also having this issue but couldn't fix it by running sudo nfsd update or sudo launchctl start nfsd. Does anyone has any idea why?
I am on macOS Sonoma 14.4.1.
Thanks

@iainhouston
Copy link

All I can say is that I now have it working but I am not sure why having tried every suggested combination above and these combinations were not previously working.

Most recently I did the following:

  • ensured I had the latest Vagrant by using the brew cask recommended on the Hashicorp web page for Vagrant brew tap hashicorp/tap and brew install hashicorp/tap/hashicorp-vagrant
  • ensured that /private/etc/sudoers had aliases as recommended on Hashicorp website (see below)
  • vagrant plugin update to ensure Parallels (my VM provider) client plugin was up to date
  • sudo nfsd update in one terminal window
  • vagrant ssh in another terminal window to see that the guest virtual machine actually could now see my host machine files

But honestly I can't say for certain which of these got NFS working between host and guest files. AND, even though I am manually checking that the files are in sync, the launchctl kickstart error message is still being generated

FYI I added a file to /private/etc/sudoers.d that contains:

Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports
Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart
Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -E -e /*/ d -ibak /etc/exports
%admin ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE

Note that changing /sbin/nfsd restart above to /sbin/nfsd update still causes the kickstart error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests