Usability and Performance enhancements for Openstack Environments

Overview

This guide explains the tagging NSX Advanced Load Balancer resources to OpenStack.

Note: This feature is available starting with NSX Advanced Load Balancer version 21.1.5 in the 21.x train.

Adding Tags to OpenStack

The following are the NSX Advanced Load Balancer tags to be added to OpenStack resources.

  • Service Engine virtual machines
  • Service Engine virtual machine ports (management and data vNICs)
  • VIP ports
  • Floating IP objects in OpenStack if NSX Advanced Load Balancer allocates it.
  • Security groups created by NSX Advanced Load Balancer.
  • Tagging server groups is not supported, not tagging them.

Note: The tags are added only for the newly created resources.

Enabling the Tag using the CLI

You can enable the tag to be added to OpenStack cloud using the following CLI:


[admin:controller]: > configure cloud openstack
Updating an existing object. Currently, the object is:
+------------------------------+--------------------------------------------+
| Field                        | Value                                      |
+------------------------------+--------------------------------------------+
| uuid                         | cloud-61ea3e9f-da5d-484c-9a2d-3052fdf058d3 |
| name                         | openstack                                  |
| vtype                        | CLOUD_OPENSTACK                            |
| openstack_configuration      |                                            |
|   username                   | aviuser                                    |
|   password                   | <sensitive>                                |
|   admin_tenant               | avilbaas                                   |
|   mgmt_network_name          | mgmt                                       |
|   privilege                  | WRITE_ACCESS                               |
|   use_keystone_auth          | True                                       |
|   region                     | RegionOne                                  |
|   hypervisor                 | KVM                                        |
|   tenant_se                  | True                                       |
|   import_keystone_tenants    | True                                       |
|   anti_affinity              | True                                       |
|   security_groups            | True                                       |
|   allowed_address_pairs      | True                                       |
|   free_floatingips           | False                                      |
|   img_format                 | OS_IMG_FMT_AUTO                            |
|   use_admin_url              | False                                      |
|   role_mapping[1]            |                                            |
|     os_role                  | aviadmin                                   |
|     avi_role                 | System-Admin                               |
|   role_mapping[2]            |                                            |
|     os_role                  |  a                                         |
|     avi_role                 | Application-Admin                          |
|   use_internal_endpoints     | False                                      |
|   config_drive               | True                                       |
|   auth_url                   | http://10.50.66.249:5000/v3                |
|   insecure                   | False                                      |
|   external_networks          | False                                      |
|   neutron_rbac               | True                                       |
|   map_admin_to_cloudadmin    | True                                       |
|   contrail_plugin            | False                                      |
|   name_owner                 | True                                       |
|   contrail_disable_policy    | False                                      |
|   enable_os_object_caching   | True                                       |
|   enable_tagging             | False                                      |
|   vip_port_in_admin_tenant   | False                                      |
| dhcp_enabled                 | True                                       |
| mtu                          | 1500 bytes                                 |
| prefer_static_routes         | False                                      |
| enable_vip_static_routes     | False                                      |
| license_type                 | LIC_CORES                                  |
| state_based_dns_registration | True                                       |
| ip6_autocfg_enabled          | True                                       |
| dns_resolution_on_se         | False                                      |
| enable_vip_on_all_interfaces | False                                      |
| maintenance_mode             | False                                      |
| tenant_ref                   | admin                                      |
| license_tier                 | ENTERPRISE                                 |
| autoscale_polling_interval   | 60 seconds                                 |
| vmc_deployment               | False                                      |
+------------------------------+--------------------------------------------+
[admin:controller]: cloud> openstack_configuration
[admin:controller]: cloud:openstack_configuration> enable_tagging
Overwriting the previously entered value for enable_tagging
[admin:controller]: cloud:openstack_configuration> save
[admin:controller]: cloud> save

Minimize API requests from Avi to OpenStack Controllers

You can enable enable_os_object_caching and disable cloud_reconcile to reduce the number of API requests to OpenStack Controllers.

You can enable caching of OpenStack resources using the following CLI :


[admin:controller]: > configure cloud openstack            

Updating an existing object. Currently, the object is:

# Output omitted for brevity...

[admin:controller]: cloud> openstack_configuration
[admin:controller]: cloud:openstack_configuration> enable_os_object_caching
Overwriting the previously entered value for enable_os_object_caching
[admin:controller]: cloud:openstack_configuration> save
[admin:controller]: cloud> save

The following is the CLI to disable polling from the Controller to OpenStack:


[admin:controller]: > configure controller properties
[admin:controller]: controllerproperties> no cloud_reconcile
[admin:controller]: controllerproperties> save

After deactivating cloud reconcile, it is recommended to manually run the reconcile once in day when there is less load on OpenStack Controllers.

The following is the CLI to manually run cloud reconcile:


[admin:controller]: > exec cloud openstack gc
[admin:controller]: >

where, openstack is the name of the cloud.