Files
neutron/doc/source/devref/index.rst
Kevin Benton b672c26cb4 Add provisioning blocks to status ACTIVE transition
Sometimes an object requires multiple disjoint actors to complete
a set of tasks before the status of the object should be transitioned
to ACTIVE. The main example of this is when a port is being created.
The L2 agent has to do its business to wire up the VIF, but at the same
time the DHCP agent has to setup the DHCP reservation. This led to
Nova booting the VM when the L2 agent was done even though the DHCP
agent may have been nowhere near ready.

This patch introduces a provisioning blocks mechansim that allows the
entities to be tracked that need to be involved to make a transition
to ACTIVE happen. See the devref in the dependent patch for a high-level
view of how this works.

The ML2 code is updated to use this new mechanism to prevent updating
the port status to ACTIVE without both the DHCP agent and L2 agent
reporting that the port is ready.

The DHCP RPC API required a version bump to allow the port ready
notification.

This also adds a devref doc for the provisioning_blocks
module with a high-level overview of how it works in addition
to a detailed description of how it is used specifically with
ML2, the L2 agents, and the DHCP agents.

Closes-Bug: #1453350
Change-Id: Id85ff6de1a14a550ab50baf4f79d3130af3680c8
2016-05-11 11:03:09 -07:00

2.5 KiB

Developer Guide

In the Developer Guide, you will find information on Neutron's lower level programming APIs. There are sections that cover the core pieces of Neutron, including its database, message queue, and scheduler components. There are also subsections that describe specific plugins inside Neutron. Finally, the developer guide includes information about Neutron testing infrastructure.

Programming HowTos and Tutorials

effective_neutron development.environment contribute neutron_api client_command_extensions alembic_migrations

Neutron Internals

services_and_agents api_layer ml2_ext_manager quota api_extensions plugin-api db_layer policy rpc_api rpc_callbacks layer3 l2_agents ovs_vhostuser quality_of_service service_extensions oslo-incubator callbacks dns_order external_dns_integration upgrade i18n address_scopes openvswitch_firewall network_ip_availability tag provisioning_blocks

Testing

fullstack_testing testing_coverage template_model_sync_test

Module Reference

Add in all the big modules as automodule indexes.

Indices and tables

  • genindex
  • modindex
  • search