Commit Graph

43 Commits

Author SHA1 Message Date
Chris Roberts 120722ab08 Update NFS service name usage for linux hosts
Provides simple nfs service name detection via systemd or sys-v. Defaults
are provided if no match is found. Service name is defined via method
allowing derivative guests to only need to provide an updated name.
2017-12-14 08:35:07 -08:00
Chris Roberts fcd1aee9bb Update linux host NFS capability
Add support for systemd detection and using correct method
for starting/checking host nfs service.
2017-09-06 09:54:06 -07:00
Brian Cain f0f60a1075 (#4666) Remove duplicate export folders before writing /etc/exports
Prior to this commit, if you set up multiple folders to export with NFS
on linux with the exact same hostpath, the template used to write
/etc/exports would end up placing the same path with the same IP in
/etc/exports and cause an error preventing the folders from being
properly mounted. This commit fixes that by first looking at which
folders are being exported and if there are any duplicates. If so,
remove the duplicates and only export 1 hostpath folder. If these
duplicate folders have differing nfs linux options, an exception must be
thrown because we cannot assume which options the user intended to
export with.
2017-09-05 16:05:14 -07:00
Chris Roberts d1a778dbfb Include error handling when subprocess commands fail 2016-10-31 07:42:30 -07:00
Chris Roberts 90db9c95b8 Refactor linux host NFS to share common functionalities 2016-10-29 17:53:58 -07:00
Chris Roberts 40dc0de665 Use Util::StringBlockEditor to modify /etc/exports 2016-10-29 15:46:35 -07:00
Aron Griffis 7e83edd643 Rewrite linux/nfs_cleanup for security and multi-user, fixes #7938
Avoid using a temporary file, rather do the substitution in Ruby and
write /etc/exports directly.
2016-10-29 15:46:35 -07:00
Eric Winkelmann e687f81fce Re-word Linux RDP error to include `xfreerdp`.
Changed the name of the error LinuxRDesktopNotFound to
LinuxRDPClientNotFound and re-worded error text in
templates/locales/en.yml to include `xfreerdp` when listing supported
RDP clients.
2015-11-02 23:42:01 -08:00
Eric Winkelmann 879977832c Prefer xfreerdp for RDP connections on Linux hosts.
Rather than only using rdesktop (which does not work properly with newer
versions of RDP), use xfreerdp if available and fall back to rdesktop if
not.
2015-11-02 23:39:06 -08:00
Mitchell Hashimoto f26293bb06 hosts/linux: sudo to copy back to exports [GH-5957] 2015-07-15 11:04:05 -07:00
Seth Vargo bfbf96c385 Fallback to /tmp if $TMPDIR is not set 2015-07-13 10:40:28 -04:00
William Durand 6ff15fbedb
Being able to edit a file does not mean you can write in its parent directory
Interactive `sed` needs write permission on the file itself. However, it
may create a backup file, which leads to the fact that the directory
where the file is located must be writable as well. That is a side
effect because this directory does not need to be writable.

This patch fixes this side effect by editing the file in `/tmp`, and
replaces it right after.
2015-06-01 10:02:13 +02:00
Si Beaumont 3deed353ae Allow colon in NFS ID regex
Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
2015-01-20 14:11:42 +00:00
Adam Spiers 6af715b0db silence warnings about unescaped '-' in re char class
Eliminate warnings like this:

vagrant/plugins/hosts/linux/cap/nfs.rb:74: warning: character class has '-' without escape: /^# VAGRANT-BEGIN:( 1000)? ([\.\/A-Za-z0-9-_]+?)$/
2014-10-25 15:38:13 +01:00
Mitchell Hashimoto ea983e32c8 hosts/*: NFS prune regexp matches file paths [GH-3815] 2014-10-24 12:16:53 -07:00
Mitchell Hashimoto cc01f01684 hosts/linux: don't use sudo to write NFS if writable [GH-2643] 2014-10-23 22:25:38 -07:00
Kalman Hazins bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Mitchell Hashimoto f369c13e25 hosts/linux: niceer error if rdesktop not found 2014-05-20 19:58:12 -07:00
Mitchell Hashimoto 2da21e3578 hosts/linux: rdp_client cap [GH-3845] 2014-05-20 19:55:36 -07:00
Jon Topper 6ec9e3e279 Linux stuff now tested and working! 2014-05-06 12:24:35 +01:00
Jon Topper 4a4ca74dea Added missing 'sudo' call. 2014-05-06 10:05:53 +01:00
Jon Topper 0da334156b Fix up the Linux host too 2014-05-05 23:56:39 +01:00
Kevin Carmody 17c171559f Update nfs.rb
Make call to exportfs just use the system path.
2014-03-22 21:07:45 +00:00
Russell Jackson a3c94ab910 Fix Linux NFS exports pruning due to bad `sed` expression
The mount id is a file path which will contain forward slashes. A
previous attempt (although notably missing in the Linux host plugin) at
fixing this used `String.gsub` to escape the forward slashes; however,
the solution that eventually made its way into the 1.5 release uses
`Regexp.escape` which doesn't escape forward slashes.

The Ruby `Regexp.escape` method does not escape forward slashes because
they are not RE meta-characters; their special meaning is specific to
sed expressions as delimiters. To avoid the issue entirely, we can use
an alternative delimiter by prefixing the address expression with a
backslash with the desired delimiter character following.

Use control character (ASCII code point `0x01`) as expression delimiter
so it is very unlikely an identifier will have a conflicting character
within it.
2014-03-12 12:25:53 -07:00
Mitchell Hashimoto 7abcea35b8 hosts/linux: escape regular expression for prune NFS exports [GH-2934] 2014-02-24 07:51:06 -08:00
BlackEagle b30eacf94f nfs_apply :: exportfs sometimes leaves exports behind
On my machine i had a case where /etc/exports was updated but the old
exports were still there. This was leading to
"exportfs: duplicated export entries" and eventually leading to nfs
being not available for the box.

changing the command exportfs -r to exportfs -ar seems to address this
issue.

Signed-off-by: BlackEagle <ike.devolder@gmail.com>
2014-01-17 10:54:17 +01:00
Gustavo Gama 262e2c0192 Fix typo 2014-01-15 09:40:41 -02:00
Mitchell Hashimoto e9f6c81ab7 hosts/*: proper detect API 2014-01-07 21:18:36 -08:00
Mitchell Hashimoto a6c7cc481e convert more hosts: arch and linux 2014-01-07 20:53:39 -08:00
David d3ab29e279 Put nfs opts setup in separate function and configured to be called by both generic linux and arch nfs_options. Fixes undefined method join exception in arch 2013-09-10 11:39:41 -04:00
Gustavo Gama 693b813d63 Fixed options to NFS: no_subtree and check became no_subtree_check 2013-09-07 12:09:09 -03:00
Mitchell Hashimoto bad4c78766 hosts/linux: fix undefined variable in NFS export [GH-2137] 2013-09-06 08:54:02 -07:00
Mitchell Hashimoto e8d2e05c4e Merge pull request #2077 from miurahr/exportfs
Improvement of Linux supports and NFS handling using exportfs
2013-09-02 14:52:59 -07:00
Mitchell Hashimoto 3a14d27f90 core: Arbitrary NFS options with nfs_options [GH-1029] 2013-09-01 13:08:02 -07:00
Mitchell Hashimoto 2d2180e5a5 hosts/linux: fix NFS prune regex 2013-09-01 12:00:36 -07:00
Mitchell Hashimoto 65ef8d2477 Merge branch 'nfs-per-user' of https://github.com/davedevelopment/vagrant into davedevelopment-nfs-per-user
Conflicts:
	plugins/hosts/arch/host.rb
	plugins/hosts/bsd/host.rb
	plugins/hosts/linux/host.rb
	templates/nfs/exports.erb
	templates/nfs/exports_freebsd.erb
	templates/nfs/exports_linux.erb
2013-09-01 11:44:00 -07:00
Hiroshi Miura f2b83ac662 export nfs gracer way in Linux
To reload /etc/exports, /sbin/exportfs is best way
to command it in standard.
It modify generic linux to check daemon status
before restart instead of restarting everytime.

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2013-08-24 22:11:22 +09:00
Mitchell Hashimoto 3028940adb NFS allows access from all networks on VM [GH-1204] 2013-07-18 00:01:49 -04:00
Dave Marshall b8a8286fac Use current user's uid for NFS exports 2013-03-29 00:14:12 +00:00
Mitchell Hashimoto 5a33b7ee54 Hosts to V2 2012-11-06 21:20:22 -08:00
Mitchell Hashimoto 70bdd9f56e Move host base class to a plugin component 2012-06-27 09:26:03 -07:00
Mitchell Hashimoto 096e61b122 Get rid of autoload in hosts plugins 2012-05-23 16:03:14 -07:00
Mitchell Hashimoto 9956e6d012 Better directory structure for plugins 2012-04-20 16:53:01 -07:00