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:

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.