Placemat version2 incorporates new features and improvements based on the knowledge we have accumulated over the years. The implementation and the structure of the source files have been significantly revamped. It includes some incompatible changes as well. Please check the following.
Support Ubuntu 18.04 and later releases.
- NetworkNamespace resource that creates a separated network stack.
hostPath
type volume of Node resource that creates virtio-9p-device and exposes them to guests.
- IPMI v2.0 support.
- Redfish API support.
- Pod resource. Placemat is no longer depends on
rkt
or any other container engines. You can use NetworkNamespace resource that creates a separated network stack and run commands inside it as an alternative. - DataFolder resource.
vvfat
lv
type volume from Node resource. Forvvfat
, you can usehostPath
type volume to expose host directories to guests.
- pmctl
- Removed
pod
net
snapshot
subcommands.
- Removed
- placemat
- placemat now requires double hyphen to specify an option, for example
--force
. - Removed
-bmc-cert
-bmc-key
-enable-virtfs
options, For-enable-virtfs
, you can usehostPath
type volume as an alternative.
- placemat now requires double hyphen to specify an option, for example
- The deb package is now
placemat2
. The programs the deb package contains areplacemat2
andpmctl2
.
If you are only interested in external specifications, please skip this section.
The structure of the source files has been revamped as follows.
- cmd
- placemat2
- placemat2 entry point.
- pmctl2
- pmctl2 entry point.
- placemat2
- pkg
- dcnet
- Network configuration components such as setting up bridge, network namespace and iptables.
- placemat
- Components that set up a cluster as specified using other packages' components. Also includes Placemat API server.
- types
- Yaml representation of resources.
- util
- Utilities.
- virtualbmc
- Virtual BMC components that start up IPMI and Redfish server.
- vm
- Virtual Machine configuration components using QEMU.
- dcnet
- Use go libraries to configure networks instead of running ip command, making it easy to handle from Go program.
- Removed dependency on an external IPMI Server library and implemented an embedded IPMI server that supports RMCP+ authentication.
- Use gin-gonic/gin HTTP web framework for Redfish server and Placemat API server.
- Use QMP, a machine-friendly JSON based protocol, to control QEMU instances instead of Monitor console.