The vmware_nsx.nsxlib.v3.ns_group_manager Module

class vmware_nsx.nsxlib.v3.ns_group_manager.NSGroupManager(nsxlib, size)

Bases: object

This class assists with NSX integration for Neutron security-groups, Each Neutron security-group is associated with NSX NSGroup object. Some specific security policies are the same across all security-groups, i.e - Default drop rule, DHCP. In order to bind these rules to all NSGroups (security-groups), we create a nested NSGroup (which its members are also of type NSGroups) to group the other NSGroups and associate it with these rules. In practice, one NSGroup (nested) can’t contain all the other NSGroups, as it has strict size limit. To overcome the limited space challenge, we create several nested groups instead of just one, and we evenly distribute NSGroups (security-groups) between them. By using an hashing function on the NSGroup uuid we determine in which group it should be added, and when deleting an NSGroup (security-group) we use the same procedure to find which nested group it was added.

NESTED_GROUP_DESCRIPTION = 'OpenStack NSGroup. Do not delete.'
NESTED_GROUP_NAME = 'OS Nested Group'
add_nsgroup(nsgroup_id)
nested_groups
remove_nsgroup(nsgroup_id)
size

Previous topic

The vmware_nsx.nsxlib.v3.native_dhcp Module

Next topic

The vmware_nsx.nsxlib.v3.nsx_constants Module

This Page