Avi SDK and Migration Tools Release Notes

This article describes packaging changes, new features, and fixes in Avi SDK and Migration Tools.

On GitHub, see here.

Installation of Avi Migration Tools 17.1.1.post1


pip install avimigrationtools==17.1.1.post1 avisdk==17.1.1.post1

New Features

Full support for F5 partitions

F5 partitions are mapped into Avi Vantage tenants. All the virtual services, pools, etc. are created in the context of an Avi tenant.

Option to print tool version and Controller version

--version Print product version

All migration tools, such as f5_converter.py and netscaler_converter.py show version of the tool being used. For example:


SDK Version: 17.1.1
Controller Version: 17.1

Option to add prefix to all objects


--prefix PREFIX Prefix for objects

Adding a prefix to all the Avi Vantage objects created during migration is useful when multiple F5 or NetScaler load balancers are being consolidated into a single Avi Controller and they have virtual services with same name. It is also useful when the profiles with same name have different settings across F5 or NetScaler devices.

Option to patch Avi configuration objects based on the side care patch file


--patch PATCH Run config_patch please provide location of patch.yaml

This option allows user overrides to migrated Avi objects such as updating the cloud settings for all pools that match the pattern public-cloud. For example, the patch file below changes the cloud for all pools that match p1 or public-cloud.


  - match_name: p1
    patch:
      name: coolpool
      cloud_ref: /api/cloud/?name=AWS

  - match_regex_name: "*public-cloud*"
    patch:
      enabled: False
      tenant_ref: /api/tenant/?name=awesome
      cloud_ref: /api/cloud/?name=AWS

Option to choose conversion output compatible with specific Avi Controller version

This conversion utility can be used for migration to either 16.4.x or 17.1.x Controllers based on the target Avi Controller version.


--controller_version CONTROLLER_VERSION
   Target Avi controller version. E.g., --controller_version 16.4.4

Option to ignore settings to be ignored during conversion


--ignore_config IGNORE_CONFIG config JSON to skip the config in conversion

This option is useful to ignore unused or undesired settings in F5 or NetScaler that should not be migrated to Avi. The default ignore-config.yaml is located in the test directory of each tool.

Enhancements to the conversion summary and status


AVI sdk version: 17.1.1 Controller Version: 17.1.1
SKIPPED: 0
SUCCESSFUL: 103
INDIRECT: 50
NOT APPLICABLE: 92
PARTIAL: 4
DATASCRIPT: 0
EXTERNAL MONITOR: 3
NOT SUPPORTED: 14
INCOMPLETE CONFIGURATION: 11
MISSING FILE: 3
Total Objects of PoolGroup : 5
Total Objects of HTTPPolicySet : 0
Total Objects of SSLProfile : 2 (5/7 profile merged)
Total Objects of SSLKeyAndCertificate : 2
Total Objects of NetworkProfile : 1 (0/1 profile merged)
Total Objects of VsVip : 5
Total Objects of ApplicationProfile : 1 (0/1 profile merged)
Total Objects of HealthMonitor : 4
Total Objects of VirtualService : 5 (5 full conversions)
Total Objects of StringGroup : 0
Total Objects of ApplicationPersistenceProfile : 0
Total Objects of Pool : 9
Total Objects of PKIProfile : 0

This version adds several enhancements to the conversion status:

  1. It provides number of Avi objects created.
  2. It reports number of virtual services that were fully converted. Full conversion status indicates all settings of virtualservice, its referenced objects like pool, ssl key etc, were all fully converted without any setting being skipped.
  3. Avi configuration includes the prefix of the input file. This makes it easy to keep track of output configurations when multiple migrations are being done.
  4. Additional column “VS reference” added. This shows the virtual service each Netscaler command maps to. In case there are settings not used by any virtualservice then status “NOT IN USE” is reported.

    Avi SDK is Python 3 compatible with Python 2.7 as well as Python 3+

    SSL certificates enhancements

The migration tool checks whether the SSL key and certificate has a passphrase. In such cases it will create a dummy self-signed certificate as use that as Avi Controller would have failed the import.

Issues Fixed

  • AV-16585: F5 conversion script wrongly puts server response data into maintenance server
  • AV-21346: Config import is failing when trying to import multiple virtual services with the same IP

Downloads

pip-package-avimigrationtools-17.1.1.post1 (2.19 MB)

debian-package-avisdk-17.1.1.post1 (44.3 KB)

debian-package-avisdk-17.1.1.post1 (115 KB)

rpm–package-avisdk-17.1.1.post1 (48.2 KB)

pip-package-avisdk-17.1.1.post1

Source code (zip)

Source code (tar.gz)