Changes in Release 0.3¶
Selecting a virtualization provider¶
Release 0.3 added support for multiple virtualization providers. The provider is specified in the provider top-level element in the topology file, or as defaults.provider element. The default provider (specified in system-level
topology-defaults.yml) is libvirt.
You’ll find the up-to-date status of virtualization provider support in Supported Platforms
Explicit device images¶
In release 0.2, the default device images (Vagrant boxes) were hard-coded in device part of Vagrantfile templates.
Those defaults are gone, the default device image is specified in defaults.devices.device.image.provider.
You can override the defaults by specifying topology defaults. To change the default Vagrant box for CSR 1000v in libvirt environment use:
defaults: devices: csr1000v: image: libvirt: cisco/csr1000v-16.7
You can also specify device-specific image with the image or box parameter in node data.
providers element was added to the defaults data structure. It’s a dictionary listing all valid providers. The absolute minimum you have to specify for a provider is the name of the configuration file (in the config element), for example:
providers: libvirt: config: Vagrantfile virtualbox: config: Vagrantfile
Topology defaults also contain a ports dictionary mapping protocols (SSH, HTTP, NETCONF) to TCP port numbers. Call me lazy: it was simpler to add a dictionary than to deal with
ports: ssh: 22 http: 80 https: 443 netconf: 830
Protocol names must match names of forwarded ports in providers.provider.forwarded dictionary.
WARNING: These data structures are not checked. If you’re messing with them you better know what you’re doing.