Configuring Systems for use with Calico
When running Calico with OpenStack, you also need to configure various OpenStack components, as follows.
Nova (/etc/nova/nova.conf)
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.conf
must not setservice_neutron_metadata_proxy
orservice_metadata_proxy
toTrue
. (The defaultFalse
value is correct for a Calico cluster.)
Neutron server (/etc/neutron/neutron.conf)
In /etc/neutron/neutron.conf
you need the following settings to
configure the Neutron service.
Setting | Value | Meaning |
---|---|---|
core_plugin | neutron.plugins.ml2.plugin.ML2Plugin | Use ML2 plugin |
With OpenStack releases earlier than Liberty you will also need:
Setting | Value | Meaning |
---|---|---|
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
the [calico]
section of /etc/neutron/neutron.conf
.
Setting | Default Value | Meaning |
---|---|---|
etcd_host | localhost | The hostname or IP of the etcd node/proxy |
etcd_port | 4001 | The port to use for the etcd node/proxy |
ML2 (…/ml2_conf.ini)
In /etc/neutron/plugins/ml2/ml2_conf.ini
you need the following
settings to configure the ML2 plugin.
Setting | Value | Meaning |
---|---|---|
mechanism_drivers | calico | Use Calico |
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.
Setting | Value | Meaning |
---|---|---|
interface_driver | RoutedInterfaceDriver | Use Calico’s modified DHCP agent support for TAP interfaces that are routed instead of being bridged |