minimega.resolve_vm_images
This MC ensures that all VMs have an image available.
That is, if any VMs have not had an image assigned explicitly, this MC will assign a default image.
Additionally, it will decorate all VMs with minimega.emulated_entities.MinimegaEmulatedVM
.
The default image types are:
If the VM type is
host
is:Ubuntu1604Server
.If the VM type is
router
is:Helium118
.If the VM type is
switch
is:Ubuntu1604Server
.
Note
Most Switches
are not decorated with VMEndpoint
and are not launched as a VM.
- Attribute Provides:
vm_image_details
- Attribute Depends:
topology
- Model Component Dependencies:
Plugin
- class minimega.resolve_vm_images_plugin.ResolveVMImages(graph, log)[source]
Bases:
AbstractPlugin
Assign a default image to all
VMEndpoints
.- __annotations__ = {}
- _assign_default_images()[source]
For every
VMEndpoint
in the experiment graph, assign an image if one hasn’t been assigned already. If a type is not specified for an endpoint, use"host"
. Default images are specified based on the type property.
- default_images = {'host': <class 'linux.ubuntu1604.Ubuntu1604Server'>, 'router': <class 'vyos.helium118.Helium118'>, 'switch': <class 'linux.ubuntu1604.Ubuntu1604Server'>}
- run()[source]
Create the
ImageStore
and call_assign_default_images()
which performs the main plugin logic.