Package: radware_nlbaas_v2_rocky_driver
Neutron LBaaS Radware driver for Openstack RockyThis Radware driver is the LBaaS v2 service provider driver for openstack ROCKY release.Activate and configure Radware’s LBaaS v2 service provider:Install the radware_nlbaas_v2_rocky_driver package by executing the following command (use sudo if needed):pipinstallradware_nlbaas_v2_rocky_driverOpen the neutron configuration file named neutron_lbaas.conf. Under[service_providers]section, next to already defined providers, add a new line, declaring the Radware LOADBALANCER v2 provider. The neutron service provider configuration line format consists of three identifiers delimited by a colon:The service name, for LBaaS v2 service it’s LOADBALANCERV2.The service provider name, in the example we will use “rdwr”The service provider driver FQN.radware_nlbaas_v2_rocky_driver.radware_lbaas_driver.RadwareLBaaSV2Driveris the driver class FQNservice_provider=LOADBALANCERV2:rdwr:radware_nlbaas_v2_rocky_driver.radware_lbaas_driver.RadwareLBaaSV2DriverYou may add the “:default” at the end of the line for making this service provider a default service provider.
For a reference:service_provider=LOADBALANCERV2:rdwr:radware_nlbaas_v2_rocky_driver.radware_lbaas_driver.RadwareLBaaSV2Driver:defaultNote: There may be only one default service provider.In neutron_lbaas.conf file, add a new section where driver’s configuration parameters will be set.The name of the section should be radware_lbaas_driver, alike the driver’s python module name.
Add driver’s parameters under this section, for a reference:[radware_lbaas_driver]vdirect_address=192.168.10.20See all possible parameters description in this README.rst fileThe service provider configuation for Radware driver may also be defined in a proprietary configuration file.You may create this file under two possible locations: “/etc/radware” and “/etc/neutron”.
The order matters here. If configuration file was found under first location, second location will be skipped.
The name of the file should be like the driver python package name followed by “.conf”,
in our case - “radware_lbaas_driver.conf”.Note:Pay attention to the configuration file permissions and owner, the file should have read permissions for neutron user.The name of the section should be [DEFAULT].
Add driver’s parameters under the DEFAULT section, for a reference:[DEFAULT]vdirect_address=192.168.10.20See all possible parameters description in this README.rst fileRestart the neutron-server serviceUsing Radware’s LBaaS v2 provider:For LB creation with Radware provider specify the radware provider in lbaas-loadbalancer-create CLI command.
For example, if the name of the radware provider isrdwr, provider configuration
line in neutron configuration file will be:service_provider=LOADBALANCERV2:rdwr:radware_nlbaas_v2_rocky_driver.radware_lbaas_driver.RadwareLBaaSV2Driver:defaultCLI command will be:neutronlbaas-loadbalancer-create--providerrdwr...Driver’s configuration parameters specification:Following is a list of all driver configuration parameters.
The only mandatory parameter is vdirect_address. Other parameters have default valuesvdirect_address: The primary / standalone vDirect server IP address.This parameter is mandatory.ha_secondary_address:  The secondary vDirect server IP address when vDirect HA pair is used.vdirect_user: The vDirect server user name, the default is root.vdirect_password: The vDirect server user password, the default is radware.port: The vDirect server port. The default is the default vDirect server HTTPS port 2189.ssl: Use HTTPS for vDirect server connections, the default is True. If False is set, HTTP connections will be used.ssl_verify_context: Verify SSL certificates on HTTPS connections. the default is True.timeout: vDirect server HTTP[S] connection timeout, the default is 5000 milliseconds.base_uri: vDirect server REST API base uri, the default is ‘’.service_adc_type: ADC service type. Options are: VA or VX, the default is VA.service_ha_pair: Enables or disables ADC service HA-pair, the default is False.configure_allowed_address_pairs: configure specific allowed address pairs on VIP and PIP ports, in addition to a general CIDR allowed address pair configuration, the default is False.service_throughput: Service throughput, the default is 1000.service_ssl_throughput: Service SSL throughput, the default is 100.service_compression_throughput: Service compression throughput, the default is 100.service_cache: The size of ADC service cache, the default is 20.service_resource_pool_ids: The list of vDirect server’s resource pools to use for ADC service provissioning, the default is empty.service_isl_vlan: A required VLAN for the interswitch link to use, the default is -1.service_session_mirroring_enabled: Enable or disable Alteon interswitch link for stateful session failover the default is False.Creating another Radware service provider with different configuration:Since no flavoring mechanism is currently available for service providers and driver FQN is unique,
another Radware driver may be created and set as another LBAAS v2 service provider in neutron.This driver package already contains an example python module calledanother_lbaas_driver.
Those are the steps to create and configure another Radware LBaaS v2 service provider with different configuration:Theradware_nlbaas_v2_rocky_driverpackage contains following modules:__init__.pyconig.pyexceptions.pyrest_client.pybase_driver.pyradware_lbaas_driver.pyanother_lbaas_driver.pyCreate a new python module which will contain your new driver class.For example, the name will be“another_lbaas_driver”.
The driver class should be implemented by following rules:It should import theradware_lbaas_drivermodule and inherit fromradware_lbaas_driver.RadwareLBaaSV2Driverclass.the__init__function should get the plugin as parameter and call the base class__init__function with the plugin and the module__name__attribute.Example ofanother_lbaas_driver.pymodule file:importradware_lbaas_driverclassAnotherRadwareLBaaSV2Driver(radware_lbaas_driver.RadwareLBaaSV2Driver):def__init__(self,plugin):radware_lbaas_driver.RadwareLBaaSV2Driver.__init__(self,plugin,__name__)Configure the new driver as another LBaaS v2 service provider in neutron configuration fileThe service provider configuration line for this driver will be:service_provider=LOADBALANCERV2:another_rdwr:radware_nlbaas_v2_rocky_driver.another_lbaas_driver.AnotherRadwareLBaaSV2DriverThe service provider configuration parameter for this driver will be, for example:[another_lbaas_driver]vdirect_address=192.168.10.20service_adc_type=VXservice_ha_pair=truessl_verify_context=falseYou can, of course, define provider’s configuration in a proprietary configuration file like was described above.
The name of the file should be like the driver python package name followed by “.conf”,
in our case - “radware_lbaas_driver.conf”
In this case the name of the configuration file should be like the driver python package name followed by “.conf”,
- “another_lbaas_driver.conf”The LB creation CLI command for creating a new LB with this new provider will be:neutronlbaas-loadbalancer-create--provideranother_rdwr...After changing the service providers configuration in neutron configuration file, neutron server service restart is needed.