OpenStack Heat, LBaaS, and the VMware NSX Edge Router

The OpenStack orchestration service, also known as Heat, can simplify the application infrastructure deployment process for developers and IT operations teams.

If you aren’t familiar with Heat, it allows you to define your application infrastructure resources (i.e. instances, networks, storage, etc.) in one or more YAML files.

These resources can then be stood up with appropriate dependencies automatically enforced. When it is time to retire the infrastructure, it can be deleted as a single unit instead of having to remember which resources were deployed where.

If you are using OpenStack Heat on VMware infrastructure and leveraging Neutron load balancing as a service (LBaaS), it is important to configure an exclusive router for the application as opposed to the default shared router.

At the command line, the syntax is fairly straightforward:

neutron router-create --router_type=exclusive lbaas_router

However, with Heat, there isn’t a router_type value explicitly defined for the OS::Neutron::Router resource. The good news is that you can leverage the value_specs property, which accepts the router type value in a JSON-formatted map.

#Create Router
lbaas_router:
  type: OS::Neutron::Router
  properties:
    external_gateway_info: { network: EXTNET }
    value_specs:
      {"router_type":"exclusive"}

Then, proceed to define your LBaaS resources as you normally would including the health monitor, pool, virtual ip, etc.

Do you have any other tips for using OpenStack on VMware infrastructure? If so, share them in the comments section below!

Leave a Reply

Your email address will not be published. Required fields are marked *