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.
Warning
The rest of this section no longer applies. Release 1.1.3 changed the image settings, see defaults page for details
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.
Provider Defaults¶
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
Ports Defaults¶
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 /etc/protocols
.
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.