I spent some time on automating Radware Alteon load balancer. I started with simple python scripts which I planned to use through ansible AWX (custom modules), but got radware ansible module working. My python scripts were using update/delete functions with python requests. It is important to include indent=4 because of an awful json deserializer.

alteon update/delete in python

Radware ansible playbook using modules should be run in virtual environment with alteon-sdk installed.

Using radware alteon_config_server in playbook

It is easier to do in AWX

AWX job using alteon playbook

Alteon-sdk can be used similar to how I used my own python scripts because it uses API to interact with Alteon tables (i.e.SlbNewCfgEnhRealServerTable) plus it abstract configuration model. Below is an short example of configuration manager:

from radware.sdk.configurator import DeviceConfigurator, DeviceConfigurationManager
from radware.alteon.sdk.configurators.ssl_key import SSLKeyConfigurator

ssl_key_configurator = SSLKeyConfigurator(**alteon_client_params)
cfg_mng = DeviceConfigurationManager()
result = cfg_mng.execute(ssl_key_configurator, DeviceConfigurator.READ_ALL, None, passphrase=passphrase)

I am also developing terraform-provider-alteon which so far includes only servers and groups.

Sample terraform configuration with alteon provider

Terraform provider for alteon is using my alteon-client-go

Here are my NNs ‘nanonotes’, excuse the brevity and typos. I’m based in RI, working as security and automation engineer for a fin-tech company in Boston.