Commit Graph

49 Commits

Author SHA1 Message Date
dependabot[bot]
f5e22f8547
Bump commonmarker from 0.23.9 to 0.23.10 in /docs (#1758) 2023-08-29 15:19:57 +00:00
Anabelle
284b52f57c
Fix broken links (#1756)
Four links on the doc-site's homepage are 404'ing because their
href/URI's fragment identifier is preceded with a /.

Removal of the extra slash fixes.

Closes: #1759
2023-08-15 11:09:11 +00:00
Darragh Bailey
844e2bb989
Update docs source path (#1754)
Update docs to fix edit link to refer to the correct path.

Fixes: #1752
2023-07-18 23:11:57 +01:00
Darragh Bailey
889b13d636
Handle nic model type updating during start (#1747)
Start domain added some support to update the nic model type if it
changed to avoid needing to completely destroy and recreate the domain.
Additionally support for setting the management network nic model type
was added, however the default value did not correctly reflect expected.

This updates `management_network_model_type` to default to
`nic_model_type`, which in turn defaults to `virtio`. This has now been
moved from the create network interfaces action into the config object
to allow chained resolving. This should ensure that setting
`nic_model_type` will correctly cause all networks to use the model
unless explicitly specified to use a different model.

Additionally the start domain action for updating the interfaces has
been modified to loop over all interfaces and all configured adapters in
the order they should have been added. This allows for checking whether
the model type needs to be updated based on the
`management_network_model_type` config option for the first network,
assuming the management network has been attached, and otherwise to fall
back to the default from `nic_model_type` for all other interfaces.

Finally ensure the iommu attribute is removed from the nic driver if
the model type is switched to anything other virtio to avoid issues with
attempting to enable invalid settings.

Fixes: #1743
2023-06-20 15:46:05 +01:00
mattkeeler
df1dd25e1e
Update libvirt anchor links in documentation (#1741)
Many of the libvirt anchor links in the docs are out of date. This PR
updates those.
2023-05-07 09:50:45 +01:00
Darragh Bailey
99ac328621
Support iface_name setting for management network (#1739)
Allow setting the interface name that appears on the host for the
management network interface in the guest. This allows for more complex
networking layouts by allowiing matching against devices for vlan
configurations.

Fixes: #1701
2023-05-01 13:12:14 +00:00
dependabot[bot]
768e18f086
Bump nokogiri from 1.14.1 to 1.14.3 in /docs (#1733) 2023-04-22 18:05:55 +00:00
dependabot[bot]
0be30d3ae2
Bump commonmarker from 0.23.8 to 0.23.9 in /docs (#1732) 2023-04-22 16:46:12 +00:00
dependabot[bot]
2b9a0cc83d
Bump rack from 2.2.6.2 to 2.2.6.4 in /docs (#1728) 2023-04-22 13:50:45 +00:00
dependabot[bot]
8fa764fd8a
Bump github-pages from 227 to 228 in /docs (#1718) 2023-02-07 22:37:48 +00:00
Darragh Bailey
1a59f0ddd8
Update doc generation to use ruby 3.1 (#1717) 2023-02-05 14:56:22 +00:00
Bart Kus
78e46979e0 Add feature-complete /domain/clock support
Feature reference: https://libvirt.org/formatdomain.html#time-keeping
2023-01-26 00:47:15 -08:00
dependabot[bot]
9aab9b7d03
Bump rack from 2.2.4 to 2.2.6.2 in /docs (#1707) 2023-01-22 21:11:49 +00:00
Arjen Verstoep
81ea287835
Make NIC model type for management interface configurable (#1711)
This change adds a configuration option for setting the NIC model type for
the management interface, which defaults to `virtio` (the current value)

The context for this change is that I was having severe speed issues
with `virtio` (which have now disappeared, probably after a QEMU update)
and the `e1000e` NIC was doing much better.
2023-01-22 15:23:47 +00:00
Yevgeniy Kuksenko
ee06cd0a22
Support setting mtu on public interfaces (#1700)
Setting mtu on management and private interfaces is supported. It should
also be supported on public interfaces.
2022-12-23 11:10:33 +00:00
dependabot[bot]
748e2ccb77
Bump nokogiri from 1.13.9 to 1.13.10 in /docs (#1697) 2022-12-15 15:49:54 +00:00
Darragh Bailey
d8c8d3d85f
Support setting iface name for target dev on private networks (#1692)
Allow for iface_name to be set on public_network configurations to
control the name of the interface created by libvirt. This overrides the
default that would be created automatically, but cannot use a reserved
name as it will be ignored.

Closes: #799
2022-12-11 11:21:34 +00:00
Darragh Bailey
07e4a69a50
Ensure dependency on ip tool is satisfied (#1681)
Additionally ensure that the default docker run commands allow vagrant
to request user input by allocating a tty.
2022-11-24 10:48:45 +00:00
David Davis
451c6f6c53
Add libvirt-dev to Ubuntu install (#1676)
Installation of vagrant-libvirt requires the libvirt-dev package.
2022-11-21 11:15:24 +00:00
Uli Fahrer
0363459bec
feat: add websocket graphics config (#1672)
This adds websocket functionality for VNC. The websocket attribute may 
be used to specify the port to listen on (with -1 meaning 
auto-allocation and autoport having no effect due to security reasons).
2022-11-21 11:05:51 +00:00
Bram de Greve
6c4b7758aa
Adding disk_address_type option. (#954)
This patch allows to specify the virtio-mmio address type, which is
needed for debian guests on virt machines that don't support the PCI
address type.

See also 
https://translatedcode.wordpress.com/2016/11/03/installing-debian-on-qemus-32-bit-arm-virt-board/
where it is explicitly said to use `virtio-blk-device` and
`virtio-net-device` instead of `virtio-blk-pci` and `virtio-net-pci`, for
that reason.

Apparently, libvirt will use the `virtio-blk-pci` and `virtio-net-pci`
by default. By setting address type to `virtio-mmio`, it uses
`virtio-blk-device` instead. It seems not necessary to do the same for
the network controller, since libvirt will also use `virtio-net-device`
if the disk address type is set to `virtio-mmio`.

While this should help with ARM machines, it won't solve all issues
as some machines will boot perfectly with the existing defaults
provided the correct loader binary is used.

Relates-to: #1608
2022-11-14 12:52:22 +00:00
Darragh Bailey
980db1049a
Adding SEV support (#1664)
Secure Encryption Virtualization is supported by libvirt and this
change adds support for vagrant-libvirt to enable it.

It requires a UEFI base box and needs a combination of options to be
configured for it to work.

Co-authored-by: PELLET Norman <norman.pellet@csem.ch>
Co-authored-by: MUNTANÉ CALVO Enric <emc@csem.ch>
Co-authored-by: Darragh Bailey <daragh.bailey@gmail.com>
Closes: #1372
2022-11-10 12:22:37 +00:00
Darragh Bailey
cb93b5a168
Tweak fedora installation instructions (#1663)
To ensure dependencies are installed from fedora install
of directly from rubygems, restore retrieval of the
dependencies from repositories, with adjustments now
that vagrant-libvirt is marked as disabled.
2022-11-06 13:38:33 +00:00
Darragh Bailey
fddc9c32d6
Update installation docs (#1650)
Include CentOS 9 Stream and CentOS 8 Stream, in addition to updating the
openSUSE instructions to cover upstream vagrant package installation.

Closes: #1429
Closes: #1537
2022-11-02 14:43:10 +01:00
dependabot[bot]
199b3a07e6
Bump nokogiri from 1.13.8 to 1.13.9 in /docs (#1647) 2022-10-30 11:29:29 +00:00
Oded Arbel
d38e130f47
Floppy support (#1334)
Add support for attaching 1 or 2 floppy drives to the VM using "vfd"
image files.
2022-10-08 10:59:06 +00:00
Who? Me?!
35e3730abf
Add vcpupin support (#1007)
Support tuning to pin which host CPUs the vCPUs will be pinned to.
2022-10-08 12:14:08 +02:00
Darragh Bailey
2c67743f07
Note that vagrant may select nfs or rsync as default synced_folder (#1630)
Depending on the installed packages present on the host system, vagrant
may select either nfs or rsync as the default synced_folder
implementation.

Fixes: #419
2022-10-05 00:56:31 +01:00
Darragh Bailey
2882ad01b1
Add example for use of kernel/initrd/cmdline options (#1620)
Provide a simple working example of how to set the kernel, initrd,
cmdline options and where to retrieve the required files when working
with disk images.

Fixes: #920
2022-09-30 16:39:56 +00:00
dependabot[bot]
d8f0b66c5b
Bump commonmarker from 0.23.5 to 0.23.6 in /docs (#1607) 2022-09-28 14:52:38 +00:00
Darragh Bailey
5e0b169dff
Use correct url for script download in docs (#1606)
Reference the correct download URL in the installation documents for
retrieving the install script from the vagrant-libvirt-qa repository.

Fixes: #1601
2022-09-22 15:51:44 +00:00
Darragh Bailey
c28aca9d21
Improve handling when run using root user (#1572)
Allow for the image to be run with the root user if desired, however
change to requiring setting of a variable to allow it to continue as it
may change ownership of files unexpectedly.

Additionally ensure that the workdir passed to docker matches the target
mount path used, in case the realpath to ${PWD} resolves to be different
to it's value resulting in the starting workdir being somewhere
different to the current path on the host.

Fixes: #1442
2022-09-03 11:37:25 +00:00
Darragh Bailey
d282a9dbd6
Docker image bundle vagrant-libvirt with vagrant (#1569)
Move the vagrant-libvirt plugin into being combined directly with
vagrant which both prevents the plugin from being reinstalled by any
subsequent call to `vagrant plugin install <plugin>` and avoids the need
to create and manage symlinks to a /vagrant.d directory for boxes.
2022-09-01 20:14:24 +01:00
Darragh Bailey
f19478b050
Ensure boot order is preserved unless overridden (#1560)
Add boot_order to the merge function to ensure that provider config
sections will persist the value if defined in earlier blocks. However to
ensure it is possible to override, definitions in latter sections will
replace the earlier definitions, but only if provided.

Fixes: #937
2022-08-25 17:46:33 +00:00
Darragh Bailey
1945754f67
Allow bridges referenced by libvirt networks (#1554)
Permit reference to bridge devices referenced by existing libvirt
networks.

Fixes: #1553
2022-08-22 18:05:04 +01:00
Nils Ballmann
63d265d9ca
add sysinfo support (#1500)
For testing certain scenarios with vagrant-libvirt, need in the guest system a
value for the systems serial number in the DMI/SMBIOS system information.
The domain https://libvirt.org/formatdomain.html#smbios-system-information
format of libvirt allows to specify those values.

While adding `-smbios type=1,serial=$serial_value` to the `qemuargs` parameter
of the libvirt provider is already able to achieve this, a dedicated provider config
value adds native support from the `Vagrantfile` layering system. For example,
in the .box included Vagrantfile a random serial number can be enforced by
adding the following:

require 'securerandom'
Vagrant.configure("2") do |config|
  config.vm.provider :libvirt do |libvirt|
    libvirt.dmi_system_serial = SecureRandom.alphanumeric(8).upcase
  end
end

Then in an instance specific Vagrantfile this value can be overwritten by adding:

Vagrant.configure("2") do |config|
  config.vm.provider :libvirt do |libvirt|
    libvirt.dmi_system_serial = "ABCDEFGH"
  end
end

Co-authored-by: Nils Ballmann <nils.ballmann.ext@siemens.com>
Co-authored-by: Darragh Bailey <daragh.bailey@gmail.com>
2022-08-16 17:44:11 +01:00
Darragh Bailey
77e53a2f53
Move plugin version menu dependencies to script (#1545)
Move to manage the entire plugin version menu and dependencies from the
same script. This will allow the entire site to roll forward to newer
releases and bugfix the plugin versions menu as issues are found, mostly
without needing to touch any of the individual releases.
2022-08-15 23:45:33 +01:00
Darragh Bailey
4fc3c8481d
Adjust to ensure previews load isolated code (#1547)
Ensure previews use the plugin script from the tree instead
of the common one for latest and version releases
2022-08-15 22:42:26 +01:00
Darragh Bailey
86fc5f05d0
Adjust menu loading and styles to be more complete (#1544)
Rework the links provided and menu styling to allow for a clear menu
edge, and a slight highlighting when hovering. Ensures that clicking
anywhere in the highlighted section should bring you to the selected
version.
2022-08-15 14:27:25 +01:00
Darragh Bailey
49ab1e529f
Load plugin versions menu always from latest (#1543)
Always use the same version of the plugin versions menu script, loading
from the latest across all releases. This is to allow for updates to
this component to be deployed across any release at the same time to
allow for a consistent switching experience.
2022-08-13 14:28:17 +00:00
Darragh Bailey
366bd87c67
Switch plugin version menu to div and style by JS (#1540)
Replace the select options for the plugin versions with one managed
purely using div tags and style primarily using JavaScript so the entire
menu can be managed from loading from a single script.

Retain a simple base style in the generated css file to facilitate
switching themes.
2022-08-13 09:02:57 +01:00
Darragh Bailey
442ef24e64
Make switcher JavaScript unparsed and reduce elements (#1539)
Avoid the need to parse the main version switching menu creation and
handling code by moving the site constants to a separate file.

Additionally move more of the element construction into the JavaScript
code to make it closer to a web component and facilitate more control by
a common script to be loaded by all published versions.
2022-08-12 18:30:57 +01:00
a1346054
f7ecf03232
Remove dependence on deprecated apt-key for installation 2022-08-09 09:10:19 +00:00
a1346054
af77b859e3
Trim trailing whitespace 2022-08-08 22:46:07 +00:00
a1346054
b87652701d
Losslessly compress logo
using `zopflipng -m --iterations=500 in.png out.png`
2022-08-08 22:45:41 +00:00
a1346054
dbd2d3fdce
Fix typos 2022-08-08 22:44:45 +00:00
Darragh Bailey
8a2bae3535
Cache requests for plugin version menu (#1533)
Add caching support to reduce the number of requests to lookup the
github APIs when generating the plugin version select menu.
2022-07-29 14:56:57 +01:00
dependabot[bot]
bec7fdc462
Bump github-pages from 226 to 227 in /docs (#1531) 2022-07-24 09:21:16 +00:00
Darragh Bailey
82202945ce
Migrate documentation to github pages (#1523)
Switch from having all documentation contained within the README to
publishing a jekyll static site of documentation under github pages.

This allows for configuration and installation guides to be handled
separately to make for the relevant pieces to be in smaller chunks and
therefore easier to follow for users. Additionally a table of contents
can now be included in a left navigation section that ensures it should
be possible to quickly jump from the start to any section and back
again.

Include support for publishing previews and releases under separate
directories to allow for them to exist at the same time as the other
latest version of the documents.

The navigation section also includes support for accessing any of the
other versions published so that it easier to see what configuration
options exist for a given release. These will be published automatically
when releases are added.
2022-07-19 13:48:02 +00:00