| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
requested by deraadt@
|
|
|
|
|
| |
This is based around VM-MIB from RFC7666,but does not export the full
spec. People more knowledgeable of vmd are encouraged to expand on this.
|
|
|
|
|
|
|
|
|
|
|
| |
Omitting the owner value is not documented and ought to be rather invalid
syntax, but it parses as "[socket] owner root:wheel" which is the same as
simply omitting the owner line entirely.
Require a value, that is treat "socket owner" and "owner" as invalid syntax
and fail.
OK denis
|
|
|
|
|
|
|
|
|
|
|
|
| |
This addresses 'thundering herd' problem when a lot of
vms are configured in vm.conf. A lot of vms booting in parallel can
overload the host and also mess up tsc calibration in openbsd guests as
it uses PIT which doesn't fire reliably if the host is overloaded.
We default to starting vms with parallelism of ncpuonline and a delay 30 seconds
between batches. This is configurable in vm.conf.
ok mlarkin@ (also addressed comments from cheloha@)
|
|
|
|
|
|
| |
counterpart from vmctl.
ok mlarkin@
|
|
|
|
|
|
|
|
|
| |
a handful of separate variables. this will makes it easier for vmd to report
and check on the individual vm states
no functional change intended
ok ccardenas@ mlarkin@
|
|
|
|
|
|
| |
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
ok millert tb benno
|
|
|
|
| |
ok & test ccardenas@, additional review from kn@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(and other lexers too)
This commit rectifies earlier change:
in the lex... even inside quotes, a \ followed by space or tab should
expand to space or tab, and a \ followed by newline should be ignored
(as a line continuation). compatible with the needs of hoststated
(which has the most strict quoted string requirements), and ifstated
(where one commonly does line continuations in strings).
OK deraadt@, OK millert@
|
|
|
|
|
|
| |
vmd-fail-boot-name-too-long regress. Use a relative existing path
for this test. Print the error message in vmd config parser.
OK ccardenas@ reyk@
|
|
|
|
|
|
| |
This fixes code that detects if boot and the first disk are identical.
OK mlarkin@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the "-d qcow2:" and "format qcow" arguments optional as vmctl
and vmd will read the magic bytes at the beginning of a file to guess if
it is a raw or a qcow image file.
The "vmctl create" command has been changed by removing the -f qcow2 option
and replacing it with the same syntax as -d: "vmctl create qcow2:foo.img".
In a slightly ununixy but intended way, the create command now also
considers the file extension for the format as "vmctl create foo.qcow2"
creates a qcow2 disk and not a raw image file.
Ok mlarkin@ (and ccardenas@ on an earlier version of the diff)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Users are able to declare disk images as 'raw' or 'qcow2' using either
vmctl and vm.conf. The default disk image format is 'raw' if not specified.
Examples of using disk format:
vmctl start bsd -Lc -r cd64.iso -d qcow2:current.qc2
or
vmctl start bsd -Lc -r cd64.iso -d raw:current.raw
is equivalent to
vmctl start bsd -Lc -r cd64.iso -d current.raw
in vm.conf
vm "current" {
disable
memory 2G
disk "/home/user/vmm/current.qc2" format "qcow2"
interface { switch "external" }
}
or
vm "current" {
disable
memory 2G
disk "/home/user/vmm/current.raw" format "raw"
interface { switch "external" }
}
is equivlanet to
vm "current" {
disable
memory 2G
disk "/home/user/vmm/current.raw"
interface { switch "external" }
}
Tested by many.
Big Thanks to Ori Bernstein.
|
|
|
|
| |
"looks good" gilles@ halex@
|
|
|
|
|
|
|
|
|
|
| |
This allows users to create VM instances and change desired options,
for example a user can be allowed to run a VM with all the
pre-configured options but specify an own disk image.
(mlarkin@ was fine with iterating over it)
OK ccardenas@
|
|
|
|
|
|
|
|
|
| |
This introduces new grammar and the -t optional in vmctl start.
(For now, only root can create VM instances; but it is planned to allow
users to create their own VMs based on permissions and quota.)
OK ccardenas@ mlarkin@ jmc@
|
| |
|
|
|
|
|
|
|
|
| |
out of memory log_warn(). i.e. ("%s", __func__) instead of manual
function names and redundant verbiage about which wrapper detected the
out of memory condition.
ok henning@
|
|
|
|
|
|
|
|
|
| |
calloc or strdup), we just need to log that we ran out of memory in a
particular function.
Recommended by florian@ and deraadt@
ok benno@ henning@ tb@
|
|
|
|
|
|
|
|
| |
running out of memory.
Next step, be correct *and* consistent.
ok dennis@ tb@ benno@ schwarze@
|
|
|
|
|
|
|
|
|
|
|
| |
This allows to open vmctl control or console access to other users
that are not in group wheel. Access for non-root users still defaults
to read-only actions unless you change the owner (user/group) of each
individual VM.
Requested by Mischa Peters
OK mlarkin@
|
| |
|
|
|
|
|
|
| |
Thanks to otto@ for the initial diff.
OK benno@
|
|
|
|
| |
ok benno@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Adds 'cdrom' keyword to vm.conf(5) and '-r' to vmctl(8)
* Support various sized ISOs (Limitation of 4G ISOs on Linux guests)
* Known working guests: OpenBSD (primary), Alpine Linux (primary),
CentOS 6 (secondary), Ubuntu 17.10 (secondary).
NOTE: Secondary indicates some issue(s) preventing full/reliable
functionality outside the scope of the vioscsi work.
* If the attached disks are non-bootable (i.e. empty), SeaBIOS (vmd's
default BIOS) will boot from CD-ROM.
ok mlarkin@, jca@
|
|
|
|
|
|
|
|
|
| |
etc) from underlying switch interface instead of handling this on its
own.
Diff from carlos cardenas, Thanks!
ok reyk@
|
|
|
|
|
|
|
| |
/etc/hostname.bridge* files, and specify which bridge to use for a given
virtual switch in vm.conf.
diff from Carlos Cardenas, thanks
|
|
|
|
|
|
| |
This allows to configure VM interfaces and switches in individual rdomains.
OK mlarkin@
|
| |
|
|
|
|
| |
This fixes 'vmd -nf /etv/vm.conf' if the file is not readable.
|
|
|
|
|
|
|
| |
The default prefix is 100.64.0.0/10 from RFC6598.
Requested by sthen@ chris@
OK mlarkin@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a local interface is configured, vmd configures a /31 address on
the tap(4) interface of the host and provides another IP in the same
subnet via DHCP (BOOTP) to the VM. vmd runs an internal BOOTP server
that replies with IP, gateway, and DNS addresses to the VM. The
built-in server only ever responds to the VM on the inside and cannot
leak its DHCP responses to the outside.
Thanks to Uwe Werler, Josh Grosse, and some others for testing!
OK deraadt@
|
|
|
|
|
|
| |
Found by Pontus Lundkvist
OK deraadt
|
| |
|
|
|
|
|
|
|
| |
This is especially useful when multiple VMs share a switch, the
implementation is independent from the underlying switch or bridge.
no objections mlarkin@
|
|
|
|
|
|
|
| |
This allows matching users to start or stop VMs that they "own" and to
access the console accordingly.
OK mlarkin@
|
|
|
|
|
|
|
|
|
| |
The semantics agreed with reyk@ are:
* ad-hoc created vms, created with `vmctl start`, are removed once stopped.
* Stopped VMs defined in a config file are flushed before a `vmctl reload`.
OK reyk@
|
|
|
|
|
|
|
|
| |
modern TAILQ_FOREACH_SAFE().
No intentional functional change.
ok millert@ bluhm@ gilles@
|
|
|
|
|
|
|
|
|
|
|
| |
with more modern TAILQ_FOREACH(). This what symget() was already
doing.
Add paranoia '{}' around body of symget()'s TAILQ_FOREACH().
No intentional functional change.
ok bluhm@ otto@
|
|
|
|
|
|
| |
With testing from Jon Bernard
OK mlarkin@
|
|
|
|
|
|
|
|
| |
Tested by Jon Bernard and reyk@.
OK reyk@, no objections mlarkin@.
Thanks
|
|
|
|
|
|
| |
once again after setting the next available id.
Suggested by edd@
|
|
|
|
|
|
| |
style that is used in other places. Also keep the vmid from the parent.
OK edd@
|
| |
|
|
|
|
|
|
|
| |
Brings us one step closer to having disabled by default vms is vm.conf(5),
which can be started with vmctl(8).
Input, testing and OK reyk@. Thanks.
|
|
|
|
|
|
| |
this group will be added to all VM tap(4) interfaces in the switch.
Tested by martijn@
|
|
|
|
| |
Requested and tested by martijn@
|
| |
|
|
|
|
|
|
| |
See vm.conf(5) for more details.
OK mlarkin@
|
|
|
|
|
|
|
|
| |
change this in all config parsers in our tree that support macros.
problem reported by sven falempin.
feedback from henning@, stsp@, deraadt@
ok florian@ mikeb@
|