Jump to: navigation, search

Neutron/LBaaS/Provisioning/proposal

< Neutron‎ | LBaaS
Revision as of 15:57, 24 October 2012 by Ilya (talk)

Overview

This document describes how the particular VIP is provisioned to load-balancing device. There can be several options of doing this with full-automation on one hand and manual mode on the other. The proposal introduces small extension to Tenant API.

Use Cases

Auto mode

This use case describes user who just need load balancing, but don't have any preference on what will be behind the scene.

  • `Req`: There are some load-balancing devices registered in LBaaS, they may be shared or dedicated to particular tenant.
  • User creates VIP, pool, specifies health monitoring or session persistence parameters.
  • LBaaS filters devices according to their capabilities and deploys VIP to one of them.
  • Any change of parameter (like balancing algorithms) may result in re-deploying VIP to another device, however this procedure runs transparently for user.
  • If user asks for a combination of parameters that don't fit into any available device, s/he gets error.

Semi-manual mode

This use case describes users who have load balancers of different types and want to more precise control over deployment.

  • `Req`: There are some load-balancing devices registered in LBaaS, they may be shared or dedicated to particular tenant.
  • User creates VIP and specifies set of requirements for it. This may be specific health monitoring option or performance numbers (like number of connections)
  • LBaaS deploys VIP to one of suitable devices. If device is not found an error is returned.

Manual mode

This use case describes users who have stages (development, QA, production) and want to control what device is responsible for balancing.

  • `Req`: There are some load-balancing devices registered in LBaaS, they may be shared or dedicated to particular tenant.
  • User lists available devices.
  • User creates VIP and specifies device_id.
  • LBaaS deploys VIP to the specified device.
  • If any unsupported option is requested LBaaS returns error.

(!) Need to extend REST API with command 'get list of devices (tenant_id)'.