Configuring Systems for use with Calico
When running Calico with OpenStack, you also need to configure various OpenStack components, as follows.
Calico uses the Nova metadata service to provide metadata to VMs, without any proxying by Neutron. To make that work:
- An instance of the Nova metadata API must run on every compute node.
/etc/nova/nova.confmust not set
True. (The default
Falsevalue is correct for a Calico cluster.)
Neutron server (/etc/neutron/neutron.conf)
/etc/neutron/neutron.conf you need the following settings to
configure the Neutron service.
|core_plugin||calico||Use the Calico core plugin|
Calico can operate either as a core plugin or as an ML2 mechanism driver. The function is the same both ways, except that floating IPs are only supported when operating as a core plugin; hence the recommended setting here.
However, if you don’t need floating IPs and have other reasons for using ML2, you can, instead, set
|core_plugin||neutron.plugins.ml2.plugin.ML2Plugin||Use ML2 plugin|
and then the further ML2-specific configuration as covered below.
With OpenStack releases earlier than Liberty you will also need:
|dhcp_agents_per_network||9999||Allow unlimited DHCP agents per network|
Optionally – depending on how you want the Calico mechanism driver to
connect to the Etcd cluster – you can also set the following options in
[calico] section of
|etcd_host||localhost||The hostname or IP of the etcd node/proxy|
|etcd_port||4001||The port to use for the etcd node/proxy|
/etc/neutron/plugins/ml2/ml2_conf.ini you need the following
settings to configure the ML2 plugin.
|type_drivers||local, flat||Allow ‘local’ and ‘flat’ networks|
|tenant_network_types||local, flat||Allow ‘local’ and ‘flat’ networks|
DHCP agent (…/dhcp_agent.ini)
With OpenStack releases earlier than Liberty, in
/etc/neutron/dhcp_agent.ini you need the following setting to
configure the Neutron DHCP agent.
|interface_driver||RoutedInterfaceDriver||Use Calico’s modified DHCP agent support for TAP interfaces that are routed instead of being bridged|