mptools 2.3.0
Utility to create multipass virtual nodes
|
mpn
script insteadThe previous section showed how nodes could be manually created by giving a few parameters to the mkmpnode
script as well as the simplified method with mpn
using a strict naming convention of the nodes.
The makefile was the original method of creating nodes and for historic reason we finish with a short description of how the this method works.
The makefile method is functionally almost identical to the method with specifically named nodes with mpn
as described above.
This is done with the makefile target node
.
The makefile is used as the driver to create these named nodes. By default, the makefile have three nodes predefined which are created as so
the following three default nodes are then prepared:
In order to build all nodes in parallel use the usual -j
option to make. So for example to build up to four nodes in parallel call
As their names suggest these nodes are created with a full development environment based on the cloud init template fulldev-config.in
which installs a complete C/C++ development environment with some of the most commonly used libraries. All created machines are small.
In order to create a custom set of nodes the node names can either:
An example will clarify this.
Assume that we instead wanted to create two large Ubuntu 22 nodes with full development configuration and one X-Large Ubuntu 24 node with just the minimal dev environment. We can then override the $(NODES)
makefile variable on the command line as so
The makefile will "under the hood" then make the following three calls to the actual node creating script
Which will create two more large "jammy" (Ubuntu 22 LTS) nodes and one x-large "noble" (Ubuntu 24 LTS) node exactly as the node names specified.
Target | Purpose |
---|---|
all | The default target that will instantiate all *.yaml files from the corresponding *.in templates. |
node | Create the nodes specified by the $(NODES) makefile variable |
clean | Delete all generated files |
distclean | In addition to clean also remove any created distribution tar-ball. |
dist | Create a distribution tar ball |
install | Install the package (by default /usr/loca is used as prefix) |
uninstall | Uninstall the package |
_dbg | Print all Makefile variables |
docs | Generate documentation |