Provider external networks (in an appropriate amount of detail)

In Quantum in Too Much Detail, I discussed the architecture of a Neutron deployment in detail. Since that article was published, Neutron gained the ability to handle multiple external networks with a single L3 agent. While I wrote about that back in 2014, I covered the configuration side of it in much more detail than I discussed the underlying network architecture. This post addresses the architecture side. The players This document describes the architecture that results from a particular OpenStack configuration, specifically:
read more →

OpenStack Networking without DHCP

In an OpenStack environment, cloud-init generally fetches information from the metadata service provided by Nova. It also has support for reading this information from a configuration drive, which under OpenStack means a virtual CD-ROM device attached to your instance containing the same information that would normally be available via the metadata service. It is possible to generate your network configuration from this configuration drive, rather than relying on the DHCP server provided by your OpenStack environment.
read more →

Cloud-init and the case of the changing hostname

Setting the stage I ran into a problem earlier this week deploying RDO Icehouse under RHEL 6. My target systems were a set of libvirt guests deployed from the RHEL 6 KVM guest image, which includes cloud-init in order to support automatic configuration in cloud environments. I take advantage of this when using libvirt by attaching a configuration drive so that I can pass in ssh keys and a user-data script.
read more →

Booting an instance with multiple fixed addresses

This article expands on my answer to Add multiple specific IPs to instance, a question posted to ask.openstack.org. In order to serve out SSL services from an OpenStack instance, you will generally want one local ip address for each SSL virtual host you support. It is possible to create an instance with multiple fixed addresses, but there are a few complications to watch out for. Assumptions This article assumes that the following resources exist:
read more →

Multiple external networks with a single L3 agent

In the old days (so, like, last year), Neutron supported a single external network per L3 agent. You would run something like this… $ neutron net-create external –router:external=true …and neutron would map this to the bridge defined in external_network_bridge in /etc/neutron/l3_agent.ini. If you wanted to support more than a single external network, you would need to run multiple L3 agents, each with a unique value for external_network_bridge. There is now a better option available.
read more →