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
hostis:Ubuntu1604Server.If the VM type is
routeris:Helium118.If the VM type is
switchis: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:
AbstractPluginAssign a default image to all
VMEndpoints.- __annotate_func__ = None
- __annotations_cache__ = {}
- __firstlineno__ = 10
- __static_attributes__ = ('image_store',)
- _assign_default_images()[source]
For every
VMEndpointin 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
ImageStoreand call_assign_default_images()which performs the main plugin logic.