openstack-ansible-os_neutron/doc/source/app-calico.rst
Logan V a0b5c6bfe5 Project Calico integration
Integrate deployment for Project Calico's Neutron networking
plugin into the os_neutron role.

See http://docs.openstack.org/developer/networking-calico/
for more information about Calico.

Change-Id: I80546b6deefe0878398716d173b7dcc36c3bef3a
2016-08-22 14:47:25 -05:00

94 lines
2.6 KiB
ReStructuredText

=====================================================
Scenario - Using the networking-calico Neutron plugin
=====================================================
Introduction
~~~~~~~~~~~~
This document describes the steps required to deploy Project Calico Neutron
networking with OpenStack-Ansible (OSA). These steps include:
- Configure OSA environment overrides.
- Configure OSA user variables.
- Execute the playbooks.
For additional configuration about Project Calico and its architecture, please
reference the `networking-calico`_ and `Project Calico`_ documentation.
.. _networking-calico: http://docs.openstack.org/developer/networking-calico/
.. _Project Calico: http://docs.projectcalico.org/en/latest/index.html
Prerequisites
~~~~~~~~~~~~~
#. The deployment environment has been configured according to OSA
best-practices. This includes cloning OSA software and bootstrapping
Ansible. See `OpenStack-Ansible Install Guide <index.html>`_
#. BGP peers configured to accept routing announcements from your hypervisors.
By default, the hypervisor's default router is set as the BGP peer.
Configure OSA Environment for Project Calico
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copy the etcd container definition to ``/etc/openstack_deploy/env.d/etcd.yml``
to enable the creation of the etcd cluster.
.. code-block:: yaml
component_skel:
etcd:
belongs_to:
- etcd_all
container_skel:
etcd_container:
belongs_to:
- infra_containers
- shared-infra_containers
contains:
- etcd
properties:
service_name: etcd
Copy the neutron environment overrides to
``/etc/openstack_deploy/env.d/neutron.yml`` to disable the creation of the
neutron agents container, and implement the calico-dhcp-agent hosts group
containing all compute hosts.
.. code-block:: yaml
component_skel:
neutron_calico_dhcp_agent:
belongs_to:
- neutron_all
container_skel:
neutron_agents_container:
contains: {}
neutron_calico_dhcp_agent_container:
belongs_to:
- compute_containers
contains:
- neutron_calico_dhcp_agent
properties:
is_metal: true
service_name: neutron
Configure networking-calico Neutron Plugin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set the following in ``/etc/openstack_deploy/user_variables.yml``.
.. code-block:: yaml
neutron_plugin_type: ml2.calico
nova_network_type: calico
Installation
~~~~~~~~~~~~
After multi-node OpenStack cluster is configured as detailed above; start
the OpenStack deployment as listed in the OpenStack-Ansible Install guide by
running all playbooks in sequence on the deployment host