Skip to content

new_version_migration

Alonso Cárdenas edited this page Aug 10, 2026 · 8 revisions

Migration from bhyvemgr 1.15.0 to 2.0.0

Requirements

  • All virtual machines must be stopped
  • A bhyvemgrd installation from FreeBSD ports or packages
  • A bhyvemgr installation updated to v2.0.0
  • A bhyvemgr config files backup

Dnsmasq breaking change

If you are using Dnsmasq support, some changes must be applied to dnsmasq setting /usr/local/etc/dnsmasq.conf:

Remove the line:

conf-dir=/usr/local/etc/dnsmasq.d/bhyvemgr/,*.conf

Add the following lines:

dhcp-hostsdir=/usr/local/etc/dnsmasq.d/bhyvemgr-dhcp/
hostsdir=/usr/local/etc/dnsmasq.d/bhyvemgr-host/

Create the new configuration directories:

# install -d -m 775 /usr/local/etc/dnsmasq.d/bhyvemgr-dhcp
# chown root:bhyvemgrd /usr/local/etc/dnsmasq.d/bhyvemgr-dhcp
# install -d -m 775 /usr/local/etc/dnsmasq.d/bhyvemgr-host
# chown root:bhyvemgrd /usr/local/etc/dnsmasq.d/bhyvemgr-host

Copy virtual machines configuration files to new directories

# cp -p /usr/local/etc/dnsmasq/bhyvemgr/* /usr/local/etc/dnsmasq/bhyvemgr-dhcp/
# cp -p /usr/local/etc/dnsmasq/bhyvemgr/* /usr/local/etc/dnsmasq/bhyvemgr-host/

Apply new changes to configuration files

# cd /usr/local/etc/dnsmasq/bhyvemgr-dhcp/
# chmod 644 *.conf
# chown :bhyvemgrd *.conf
# find * -type f -name "*.conf" -exec sed -i "" -e '/^host-record=/d' -e 's|dhcp-host=||g' "{}" \;
# cd /usr/local/etc/dnsmasq/bhyvemgr-host
# chmod 644 *.conf
# chown :bhyvemgrd *.conf
# find * -type f -name "*.conf" -exec sed -i "" -e '/^dhcp-host=/d' -e 's|host-record=||g' "{}" \;
# find * -type f -name "*.conf" -empty -delete -o -type f -name "*.conf" -exec sed -i "" 's/^\([^,]*\),\([^,]*\)$/\2 \1/' {} \;

Virtual Machine directory changes

We need apply new changes to virtual machines directories and files. In this example, VM directory was defined to /zroot/bhyvemgr

# cd /zroot/bhyvemgr
# chown -R :bhyvemgrd *
# find * -type f -exec chmod 640 "{}" \;
# find * -type d -exec chmod 750 "{}" \;

Configuration changes

The new bhyvemgr configuration file has been renamed to ~/.config/bhyvemgr/gui.conf. When you run new version of bhyvemgr, you will need to generate a new one. Some settings were removed in this new version. Save the new one and edit it using information from your oldest ~/.config/bhyvemgr/config.conf file. Also, the new bhyvemgr version will generate a new common.conf file to /usr/local/etc/bhyvemgrd. This one will be used by bhyvemgr and bhyvemgrd.

The bhyvemgrd configuration file is stored at: /usr/local/etc/bhyvrmgrd/daemon.conf

Notes

TODO

Clone this wiki locally