---
title: "Configure systems for use with Calico"
description: "Configure Nova, Neutron, and DHCP agent settings on OpenStack compute hosts to run Calico Open Source as either a core plugin or an ML2 mechanism driver."
product: "Calico Open Source"
version: "3.32 (latest)"
section: "Networking"
canonical_url: "https://docs.tigera.io/calico/latest/networking/openstack/configuration"
---

# Configure 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 set `service_neutron_metadata_proxy` or `service_metadata_proxy` to `True`. (The default `False` 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 | calico | Use the Calico core plugin |

The following options in the `[calico]` section of `/etc/neutron/neutron.conf` govern how the Calico plugin and DHCP agent connect to the Calico etcd datastore. You should set `etcd_host` to the IP of your etcd server, and `etcd_port` if that server is using a non-standard port. If the etcd server is TLS-secured, also set:

- `etcd_cert_file` to a client certificate, which must be signed by a Certificate Authority that the server trusts

- `etcd_key_file` to the corresponding private key file

- `etcd_ca_cert_file` to a file containing data for the Certificate Authorities that you trust to sign the etcd server's certificate.

| Setting              | Default Value | Meaning                                                      |
| -------------------- | ------------- | ------------------------------------------------------------ |
| etcd\_host           | 127.0.0.1     | The hostname or IP of the etcd server                        |
| etcd\_port           | 2379          | The port to use for the etcd node/proxy                      |
| etcd\_key\_file      |               | The path to the TLS key file to use with etcd                |
| etcd\_cert\_file     |               | The path to the TLS client certificate file to use with etcd |
| etcd\_ca\_cert\_file |               | The path to the TLS CA certificate file to use with etcd     |

In a [multi-region deployment](https://docs.tigera.io/calico/latest/networking/openstack/multiple-regions.md), `[calico] openstack_region` configures the name of the region that the local compute or controller node belongs to.

| Setting           | Default Value | Meaning                                                                      |
| ----------------- | ------------- | ---------------------------------------------------------------------------- |
| openstack\_region | none          | The name of the region that the local compute of controller node belongs to. |

When specified, the value of `openstack_region` must be a string of lower case alphanumeric characters or '-', starting and ending with an alphanumeric character, and must match the value of [`OpenStackRegion`](https://docs.tigera.io/calico/latest/reference/felix/configuration.md#data-plane-openstack-support) configured for the Felixes in the same region.
