Difference between revisions of "Neutron/LBaaS/NetScaler"
m (NetScaler integration in Neutron LBaaS) |
|||
Line 1: | Line 1: | ||
== NetScaler LBaaS integration in Neutron LBaaS == | == NetScaler LBaaS integration in Neutron LBaaS == | ||
− | The NetScaler loadbalancer integration in Neutron LBaaS implements all the LBaaS driver CRUD APIs defined in the Havana release: It implements all the defined operations on VIPs, Pools, Pool Members and Health Monitors. The integration consists of | + | The NetScaler loadbalancer integration in Neutron LBaaS implements all the LBaaS driver CRUD APIs defined in the Havana release: It implements all the defined operations on VIPs, Pools, Pool Members and Health Monitors. The integration consists of a driver class configured in the Neutron config file (neutron.conf), and the accompanying unit tests. |
− | |||
− | |||
− | + | The integration support is available in OpenStack IceHouse release. | |
− | The integration support is | ||
== Integration Design == | == Integration Design == | ||
− | The NetScaler LBaaS integration | + | The NetScaler LBaaS integration consists of a driver class that implements the Neutron LBaaS driver which calls the NetScaler Control Center (NCC) service using NCC REST APIs. NCC is a separate service that runs outside of OpenStack infrastructure, and is deployed as a "virtual appliance" on supported hypervisor platforms (KVM/ESX/XenServer) for ease of setup. The NCC service is charged with NetScaler resource management, and NetScaler device configuration. |
The figure below outlines the NetScaler integration components in the Neutron framework: | The figure below outlines the NetScaler integration components in the Neutron framework: | ||
Line 17: | Line 14: | ||
− | As shown in the figure above, the NetScaler LBaaS driver forwards the driver calls to | + | As shown in the figure above, the NetScaler LBaaS driver forwards the driver calls to the NetScaler Control Center Service which implements the operations on vips/pools/members/monitors. The driver also periodically calls NCC on background task to update status of the different LB resources and collect statistics. |
== Products Supported == | == Products Supported == | ||
Line 26: | Line 23: | ||
* NetScaler multi-tenant hardware appliances (SDX series) | * NetScaler multi-tenant hardware appliances (SDX series) | ||
* NetScaler Control Center | * NetScaler Control Center | ||
+ | |||
+ | Please contact Citrix for availability information of NetScaler Control Center. | ||
== Product Versions supported == | == Product Versions supported == | ||
Line 46: | Line 45: | ||
All code contributed is in the form of python code, and was developed to adhere to the Neutron coding conventions. | All code contributed is in the form of python code, and was developed to adhere to the Neutron coding conventions. | ||
− | There are no changes made to Neutron LBaaS plugin. All the code contribution is in the driver class | + | There are no changes made to Neutron LBaaS plugin. All the code contribution is in the driver class. |
− | There are no changes to the Neutron LBaaS DB schema. The contributed driver | + | There are no changes to the Neutron LBaaS DB schema. The contributed driver does not write to the DB and does not need to extend the DB schema, and therefore they does not hold any extra state, besides what the LBaaS plugin already holds. |
For configuring the NetScaler LBaaS driver, the NetScaler driver class needs to be included in the neutron.conf file, so it can be loaded by the LBaaS plugin. When the user creates an LB pool, they will need to include a "provider" attribute that maps to the NetScaler driver class in the config file. | For configuring the NetScaler LBaaS driver, the NetScaler driver class needs to be included in the neutron.conf file, so it can be loaded by the LBaaS plugin. When the user creates an LB pool, they will need to include a "provider" attribute that maps to the NetScaler driver class in the config file. | ||
− | |||
− |
Revision as of 23:41, 11 June 2014
Contents
NetScaler LBaaS integration in Neutron LBaaS
The NetScaler loadbalancer integration in Neutron LBaaS implements all the LBaaS driver CRUD APIs defined in the Havana release: It implements all the defined operations on VIPs, Pools, Pool Members and Health Monitors. The integration consists of a driver class configured in the Neutron config file (neutron.conf), and the accompanying unit tests.
The integration support is available in OpenStack IceHouse release.
Integration Design
The NetScaler LBaaS integration consists of a driver class that implements the Neutron LBaaS driver which calls the NetScaler Control Center (NCC) service using NCC REST APIs. NCC is a separate service that runs outside of OpenStack infrastructure, and is deployed as a "virtual appliance" on supported hypervisor platforms (KVM/ESX/XenServer) for ease of setup. The NCC service is charged with NetScaler resource management, and NetScaler device configuration.
The figure below outlines the NetScaler integration components in the Neutron framework:
As shown in the figure above, the NetScaler LBaaS driver forwards the driver calls to the NetScaler Control Center Service which implements the operations on vips/pools/members/monitors. The driver also periodically calls NCC on background task to update status of the different LB resources and collect statistics.
Products Supported
The NetScaler LBaaS driver for Neutron targets the following Citrix products:
- NetScaler hardware appliances (MPX series)
- NetScaler Virtual appliances (VPX series) – Supported on KVM, Xen, VMware ESX and Microsoft HyperV
- NetScaler multi-tenant hardware appliances (SDX series)
- NetScaler Control Center
Please contact Citrix for availability information of NetScaler Control Center.
Product Versions supported
The following versions are supported by this integration:
- NetScaler MPX 10.1
- NetScaler VPX 10.1
- NetScaler SDX 10.1
- NetScaler Control Center 1.0 (to be release in Q4 2013)
Virtual Networking support
For the MPX and SDX hardware appliances, we intend to support all the Neutron L2/L3 plugins that support VLAN-backed virtual networks in Neutron. The LBaaS driver and agent will configure the hardware appliances with the vlans corresponding to vip and pool networks.
For the VPX virtual appliances, we are agnostic to the type of virtual networking used: The NetScaler VPX is running as a normal VM in Nova and can be launched and networked into the pool and vip networks like any VM in Nova, by leveraging the L2/L3 plugin/agent configured in Neutron and Nova setup.
Further information on the code contribution
All code contributed is in the form of python code, and was developed to adhere to the Neutron coding conventions.
There are no changes made to Neutron LBaaS plugin. All the code contribution is in the driver class.
There are no changes to the Neutron LBaaS DB schema. The contributed driver does not write to the DB and does not need to extend the DB schema, and therefore they does not hold any extra state, besides what the LBaaS plugin already holds.
For configuring the NetScaler LBaaS driver, the NetScaler driver class needs to be included in the neutron.conf file, so it can be loaded by the LBaaS plugin. When the user creates an LB pool, they will need to include a "provider" attribute that maps to the NetScaler driver class in the config file.