normalize and use ALIAS in supported_extension_aliases

This patch:
- Addresses a few missed by https://review.openstack.org/#/c/637962/
- Updates all the vmware_nsx.extensions.* to use ALIAS for their
API extension alias variable rather than use a random or no constant
name for the alias.

Change-Id: Ice88f1d6a451fb0d82587a9fb6b1a6a7f285c8c6
This commit is contained in:
Boden R 2019-02-22 11:40:23 -07:00
parent c2b779d278
commit 11c6b535a1
36 changed files with 111 additions and 79 deletions

View File

@ -128,7 +128,7 @@ class DhcpMetadataAccess(object):
LOG.warning('network_auto_schedule has been disabled') LOG.warning('network_auto_schedule has been disabled')
notifier = combined.DhcpAgentNotifyAPI(weakref.proxy(self), notifier = combined.DhcpAgentNotifyAPI(weakref.proxy(self),
lsn_manager) lsn_manager)
self.supported_extension_aliases.append(lsn.EXT_ALIAS) self.supported_extension_aliases.append(lsn.ALIAS)
# Add the capability to migrate dhcp and metadata services over # Add the capability to migrate dhcp and metadata services over
self.migration_manager = ( self.migration_manager = (
migration.MigrationManager( migration.MigrationManager(
@ -136,7 +136,7 @@ class DhcpMetadataAccess(object):
return notifier return notifier
def _init_extensions(self): def _init_extensions(self):
extensions = (lsn.EXT_ALIAS, agent_apidef.ALIAS, extensions = (lsn.ALIAS, agent_apidef.ALIAS,
dhcpagentscheduler.ALIAS) dhcpagentscheduler.ALIAS)
for ext in extensions: for ext in extensions:
if ext in self.supported_extension_aliases: if ext in self.supported_extension_aliases:

View File

@ -44,7 +44,7 @@ def _dotted_domain(dns_domain):
# TODO(asarfaty) use dns-domain/nameserver from network az instead of global # TODO(asarfaty) use dns-domain/nameserver from network az instead of global
class DNSExtensionDriver(driver_api.ExtensionDriver): class DNSExtensionDriver(driver_api.ExtensionDriver):
_supported_extension_alias = 'dns-integration' _supported_extension_alias = dns.ALIAS
@property @property
def extension_alias(self): def extension_alias(self):

View File

@ -16,7 +16,7 @@ from neutron_lib.api import extensions
# Attribute Map # Attribute Map
ADV_SERVICE_PROVIDERS = 'advanced_service_providers' ADV_SERVICE_PROVIDERS = 'advanced_service_providers'
ALIAS = 'advanced-service-providers'
EXTENDED_ATTRIBUTES_2_0 = { EXTENDED_ATTRIBUTES_2_0 = {
'subnets': { 'subnets': {
@ -34,7 +34,7 @@ class Advancedserviceproviders(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "advanced-service-providers" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -18,6 +18,9 @@
from neutron_lib.api import extensions from neutron_lib.api import extensions
from neutron_lib.db import constants as db_const from neutron_lib.db import constants as db_const
ALIAS = 'api-replay'
# The attributes map is here for 2 reasons: # The attributes map is here for 2 reasons:
# 1) allow posting id for the different objects we are importing # 1) allow posting id for the different objects we are importing
# 2) make sure security-group named 'default' is also copied # 2) make sure security-group named 'default' is also copied
@ -61,7 +64,7 @@ class Api_replay(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return 'api-replay' return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -16,6 +16,7 @@ from neutron_lib.api import extensions
from neutron_lib import constants from neutron_lib import constants
DHCP_MTU = 'dhcp_mtu' DHCP_MTU = 'dhcp_mtu'
ALIAS = 'dhcp-mtu'
EXTENDED_ATTRIBUTES_2_0 = { EXTENDED_ATTRIBUTES_2_0 = {
'subnets': { 'subnets': {
DHCP_MTU: { DHCP_MTU: {
@ -37,7 +38,7 @@ class Dhcp_mtu(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "dhcp-mtu" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -66,6 +66,7 @@ def _validate_dns_search_domain(data, max_len=db_const.NAME_FIELD_SIZE):
validators.add_validator('dns_search_domain', _validate_dns_search_domain) validators.add_validator('dns_search_domain', _validate_dns_search_domain)
ALIAS = 'dns-search-domain'
DNS_SEARCH_DOMAIN = 'dns_search_domain' DNS_SEARCH_DOMAIN = 'dns_search_domain'
EXTENDED_ATTRIBUTES_2_0 = { EXTENDED_ATTRIBUTES_2_0 = {
'subnets': { 'subnets': {
@ -87,7 +88,7 @@ class Dns_search_domain(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "dns-search-domain" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -22,7 +22,7 @@ from vmware_nsx._i18n import _
EDGE_SERVICE_GW = 'esg_id' EDGE_SERVICE_GW = 'esg_id'
EDGE_ID_MAX_LEN = 15 EDGE_ID_MAX_LEN = 15
ESG_BGP_PEER_EXT_ALIAS = 'edge-service-gateway-bgp-peer' ALIAS = 'edge-service-gateway-bgp-peer'
def _validate_edge_service_gw_id(esg_id, valid_values=None): def _validate_edge_service_gw_id(esg_id, valid_values=None):
@ -87,7 +87,7 @@ class Edge_service_gateway_bgp_peer(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return ESG_BGP_PEER_EXT_ALIAS return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -24,6 +24,7 @@ from vmware_nsx._i18n import _
HOUSEKEEPER_RESOURCE_NAME = "housekeeper" HOUSEKEEPER_RESOURCE_NAME = "housekeeper"
HOUSEKEEPERS = "housekeepers" HOUSEKEEPERS = "housekeepers"
ALIAS = 'housekeeper'
# The housekeeper tasks table is read only # The housekeeper tasks table is read only
RESOURCE_ATTRIBUTE_MAP = { RESOURCE_ATTRIBUTE_MAP = {
@ -53,7 +54,7 @@ class Housekeeper(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return HOUSEKEEPER_RESOURCE_NAME return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -21,8 +21,8 @@ from neutron_lib.api import extensions as api_extensions
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
EXT_ALIAS = 'lsn' ALIAS = 'lsn'
COLLECTION_NAME = "%ss" % EXT_ALIAS COLLECTION_NAME = "%ss" % ALIAS
RESOURCE_ATTRIBUTE_MAP = { RESOURCE_ATTRIBUTE_MAP = {
COLLECTION_NAME: { COLLECTION_NAME: {
@ -47,7 +47,7 @@ class Lsn(api_extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return EXT_ALIAS return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):
@ -62,7 +62,7 @@ class Lsn(api_extensions.ExtensionDescriptor):
"""Returns Ext Resources.""" """Returns Ext Resources."""
exts = [] exts = []
plugin = directory.get_plugin() plugin = directory.get_plugin()
resource_name = EXT_ALIAS resource_name = ALIAS
collection_name = resource_name.replace('_', '-') + "s" collection_name = resource_name.replace('_', '-') + "s"
params = RESOURCE_ATTRIBUTE_MAP.get(COLLECTION_NAME, dict()) params = RESOURCE_ATTRIBUTE_MAP.get(COLLECTION_NAME, dict())
controller = base.create_resource(collection_name, controller = base.create_resource(collection_name,

View File

@ -17,6 +17,7 @@ from neutron_lib.api import extensions
from neutron_lib import constants from neutron_lib import constants
ALIAS = 'mac-learning'
MAC_LEARNING = 'mac_learning_enabled' MAC_LEARNING = 'mac_learning_enabled'
EXTENDED_ATTRIBUTES_2_0 = { EXTENDED_ATTRIBUTES_2_0 = {
'ports': { 'ports': {
@ -37,7 +38,7 @@ class Maclearning(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "mac-learning" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -29,8 +29,8 @@ from vmware_nsx._i18n import _
GATEWAY_RESOURCE_NAME = "network_gateway" GATEWAY_RESOURCE_NAME = "network_gateway"
DEVICE_RESOURCE_NAME = "gateway_device" DEVICE_RESOURCE_NAME = "gateway_device"
# Use dash for alias and collection name # Use dash for alias and collection name
EXT_ALIAS = GATEWAY_RESOURCE_NAME.replace('_', '-') ALIAS = GATEWAY_RESOURCE_NAME.replace('_', '-')
NETWORK_GATEWAYS = "%ss" % EXT_ALIAS NETWORK_GATEWAYS = "%ss" % ALIAS
GATEWAY_DEVICES = "%ss" % DEVICE_RESOURCE_NAME.replace('_', '-') GATEWAY_DEVICES = "%ss" % DEVICE_RESOURCE_NAME.replace('_', '-')
DEVICE_ID_ATTR = 'id' DEVICE_ID_ATTR = 'id'
IFACE_NAME_ATTR = 'interface_name' IFACE_NAME_ATTR = 'interface_name'
@ -173,7 +173,7 @@ class Networkgw(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return EXT_ALIAS return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -23,7 +23,7 @@ from vmware_nsx._i18n import _
POLICY_RESOURCE_NAME = "nsx_policy" POLICY_RESOURCE_NAME = "nsx_policy"
# Use dash for alias and collection name # Use dash for alias and collection name
EXT_ALIAS = POLICY_RESOURCE_NAME.replace('_', '-') ALIAS = POLICY_RESOURCE_NAME.replace('_', '-')
NSX_POLICIES = "nsx_policies" NSX_POLICIES = "nsx_policies"
# The nsx-policies table is read only # The nsx-policies table is read only
@ -48,7 +48,7 @@ class Nsxpolicy(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return EXT_ALIAS return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -24,7 +24,7 @@ from vmware_nsx._i18n import _
PROJECT_PLUGIN_RESOURCE_NAME = "project_plugin_map" PROJECT_PLUGIN_RESOURCE_NAME = "project_plugin_map"
# Use dash for alias and collection name # Use dash for alias and collection name
EXT_ALIAS = PROJECT_PLUGIN_RESOURCE_NAME.replace('_', '-') ALIAS = PROJECT_PLUGIN_RESOURCE_NAME.replace('_', '-')
PROJECT_PLUGINS = "project_plugin_maps" PROJECT_PLUGINS = "project_plugin_maps"
@ -69,7 +69,7 @@ class Projectpluginmap(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return EXT_ALIAS return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -20,6 +20,7 @@ from neutron_lib import exceptions as nexception
from vmware_nsx._i18n import _ from vmware_nsx._i18n import _
ALIAS = 'provider-security-group'
PROVIDER = 'provider' PROVIDER = 'provider'
PROVIDER_SECURITYGROUPS = 'provider_security_groups' PROVIDER_SECURITYGROUPS = 'provider_security_groups'
@ -75,7 +76,7 @@ class Providersecuritygroup(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "provider-security-group" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -27,6 +27,7 @@ from neutron_lib.plugins import directory
from vmware_nsx._i18n import _ from vmware_nsx._i18n import _
ALIAS = 'qos-queue'
# For policy.json/Auth # For policy.json/Auth
qos_queue_create = "create_qos_queue" qos_queue_create = "create_qos_queue"
qos_queue_delete = "delete_qos_queue" qos_queue_delete = "delete_qos_queue"
@ -176,7 +177,7 @@ class Qos_queue(api_extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "qos-queue" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -16,6 +16,7 @@ from neutron_lib.api import extensions
from neutron_lib import constants from neutron_lib import constants
ALIAS = 'nsxv-router-size'
ROUTER_SIZE = 'router_size' ROUTER_SIZE = 'router_size'
VALID_EDGE_SIZES = ['compact', 'large', 'xlarge', 'quadlarge'] VALID_EDGE_SIZES = ['compact', 'large', 'xlarge', 'quadlarge']
EXTENDED_ATTRIBUTES_2_0 = { EXTENDED_ATTRIBUTES_2_0 = {
@ -37,7 +38,7 @@ class Routersize(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "nsxv-router-size" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -16,6 +16,7 @@ from neutron_lib.api import extensions
from neutron_lib import constants from neutron_lib import constants
ALIAS = 'nsxv-router-type'
ROUTER_TYPE = 'router_type' ROUTER_TYPE = 'router_type'
VALID_TYPES = ['shared', 'exclusive'] VALID_TYPES = ['shared', 'exclusive']
EXTENDED_ATTRIBUTES_2_0 = { EXTENDED_ATTRIBUTES_2_0 = {
@ -37,7 +38,7 @@ class Routertype(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "nsxv-router-type" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -17,6 +17,8 @@ from neutron.extensions import securitygroup
from neutron_lib.api import extensions from neutron_lib.api import extensions
from neutron_lib import constants from neutron_lib import constants
ALIAS = 'secgroup-rule-local-ip-prefix'
LOCAL_IP_PREFIX = 'local_ip_prefix' LOCAL_IP_PREFIX = 'local_ip_prefix'
RESOURCE_ATTRIBUTE_MAP = { RESOURCE_ATTRIBUTE_MAP = {
@ -43,7 +45,7 @@ class Secgroup_rule_local_ip_prefix(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "secgroup-rule-local-ip-prefix" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -15,6 +15,7 @@
from neutron_lib.api import converters from neutron_lib.api import converters
from neutron_lib.api import extensions from neutron_lib.api import extensions
ALIAS = 'security-group-logging'
LOGGING = 'logging' LOGGING = 'logging'
RESOURCE_ATTRIBUTE_MAP = { RESOURCE_ATTRIBUTE_MAP = {
@ -39,7 +40,7 @@ class Securitygrouplogging(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "security-group-logging" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -17,6 +17,8 @@ from neutron_lib import exceptions as nexception
from vmware_nsx._i18n import _ from vmware_nsx._i18n import _
ALIAS = 'security-group-policy'
POLICY = 'policy' POLICY = 'policy'
RESOURCE_ATTRIBUTE_MAP = { RESOURCE_ATTRIBUTE_MAP = {
@ -45,7 +47,7 @@ class Securitygrouppolicy(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "security-group-policy" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -17,7 +17,7 @@ from neutron_lib.api import extensions
# Attribute Map # Attribute Map
VNIC_INDEX = 'vnic_index' VNIC_INDEX = 'vnic_index'
ALIAS = 'vnic-index'
EXTENDED_ATTRIBUTES_2_0 = { EXTENDED_ATTRIBUTES_2_0 = {
'ports': { 'ports': {
@ -36,7 +36,7 @@ class Vnicindex(extensions.ExtensionDescriptor):
@classmethod @classmethod
def get_alias(cls): def get_alias(cls):
return "vnic-index" return ALIAS
@classmethod @classmethod
def get_description(cls): def get_description(cls):

View File

@ -89,7 +89,7 @@ class NsxTVDPlugin(agentschedulers_db.AZDhcpAgentSchedulerDbMixin,
nsx_com_az.NSXAvailabilityZonesPluginCommon, nsx_com_az.NSXAvailabilityZonesPluginCommon,
projectpluginmap.ProjectPluginMapPluginBase): projectpluginmap.ProjectPluginMapPluginBase):
supported_extension_aliases = ['project-plugin-map'] supported_extension_aliases = [projectpluginmap.ALIAS]
__native_bulk_support = True __native_bulk_support = True
__native_pagination_support = True __native_pagination_support = True
@ -173,7 +173,7 @@ class NsxTVDPlugin(agentschedulers_db.AZDhcpAgentSchedulerDbMixin,
raise nsx_exc.NsxPluginException(err_msg=msg) raise nsx_exc.NsxPluginException(err_msg=msg)
for k, val in self.plugins.items(): for k, val in self.plugins.items():
if "advanced-service-providers" in val.supported_extension_aliases: if as_providers.ALIAS in val.supported_extension_aliases:
self.as_providers[k] = val self.as_providers[k] = val
LOG.info("NSX-TVD plugin will use %s as the default plugin", LOG.info("NSX-TVD plugin will use %s as the default plugin",
self.default_plugin) self.default_plugin)

View File

@ -128,12 +128,12 @@ class NsxPluginV2(addr_pair_db.AllowedAddressPairsMixin,
dvr_apidef.ALIAS, dvr_apidef.ALIAS,
"ext-gw-mode", "ext-gw-mode",
xroute_apidef.ALIAS, xroute_apidef.ALIAS,
"mac-learning", mac_ext.ALIAS,
"multi-provider", mpnet_apidef.ALIAS,
"network-gateway", networkgw.ALIAS,
psec.ALIAS, psec.ALIAS,
pnet.ALIAS, pnet.ALIAS,
"qos-queue", qos.ALIAS,
"quotas", "quotas",
extnet_apidef.ALIAS, extnet_apidef.ALIAS,
edo_ext.ALIAS, edo_ext.ALIAS,

View File

@ -30,6 +30,7 @@ from neutron.db import models_v2
from neutron.extensions import providernet from neutron.extensions import providernet
from neutron.extensions import securitygroup as ext_sg from neutron.extensions import securitygroup as ext_sg
from neutron.quota import resource_registry from neutron.quota import resource_registry
from neutron_lib.api.definitions import address_scope
from neutron_lib.api.definitions import agent as agent_apidef from neutron_lib.api.definitions import agent as agent_apidef
from neutron_lib.api.definitions import allowedaddresspairs as addr_apidef from neutron_lib.api.definitions import allowedaddresspairs as addr_apidef
from neutron_lib.api.definitions import availability_zone as az_apidef from neutron_lib.api.definitions import availability_zone as az_apidef
@ -121,7 +122,7 @@ class NsxPolicyPlugin(nsx_plugin_common.NsxPluginV3Base):
__native_sorting_support = True __native_sorting_support = True
supported_extension_aliases = [addr_apidef.ALIAS, supported_extension_aliases = [addr_apidef.ALIAS,
"address-scope", address_scope.ALIAS,
"quotas", "quotas",
pbin_apidef.ALIAS, pbin_apidef.ALIAS,
ext_edo.ALIAS, ext_edo.ALIAS,
@ -129,7 +130,7 @@ class NsxPolicyPlugin(nsx_plugin_common.NsxPluginV3Base):
dhcpagentscheduler.ALIAS, dhcpagentscheduler.ALIAS,
"ext-gw-mode", "ext-gw-mode",
"security-group", "security-group",
"secgroup-rule-local-ip-prefix", sg_prefix.ALIAS,
psec.ALIAS, psec.ALIAS,
pnet_apidef.ALIAS, pnet_apidef.ALIAS,
external_net.ALIAS, external_net.ALIAS,
@ -139,10 +140,10 @@ class NsxPolicyPlugin(nsx_plugin_common.NsxPluginV3Base):
network_availability_zone.ALIAS, network_availability_zone.ALIAS,
router_availability_zone.ALIAS, router_availability_zone.ALIAS,
"subnet_allocation", "subnet_allocation",
"security-group-logging", sg_logging.ALIAS,
"provider-security-group", provider_sg.ALIAS,
"port-security-groups-filtering", "port-security-groups-filtering",
'mac-learning'] mac_ext.ALIAS]
@resource_registry.tracked_resources( @resource_registry.tracked_resources(
network=models_v2.Network, network=models_v2.Network,

View File

@ -19,6 +19,7 @@ import xml.etree.ElementTree as et
import netaddr import netaddr
from neutron_lib.agent import topics from neutron_lib.agent import topics
from neutron_lib.api.definitions import address_scope
from neutron_lib.api.definitions import agent as agent_apidef from neutron_lib.api.definitions import agent as agent_apidef
from neutron_lib.api.definitions import allowedaddresspairs as addr_apidef from neutron_lib.api.definitions import allowedaddresspairs as addr_apidef
from neutron_lib.api.definitions import availability_zone as az_def from neutron_lib.api.definitions import availability_zone as az_def
@ -133,6 +134,7 @@ from vmware_nsx.extensions import nsxpolicy
from vmware_nsx.extensions import projectpluginmap from vmware_nsx.extensions import projectpluginmap
from vmware_nsx.extensions import providersecuritygroup as provider_sg from vmware_nsx.extensions import providersecuritygroup as provider_sg
from vmware_nsx.extensions import routersize from vmware_nsx.extensions import routersize
from vmware_nsx.extensions import routertype
from vmware_nsx.extensions import secgroup_rule_local_ip_prefix from vmware_nsx.extensions import secgroup_rule_local_ip_prefix
from vmware_nsx.extensions import securitygrouplogging as sg_logging from vmware_nsx.extensions import securitygrouplogging as sg_logging
from vmware_nsx.extensions import securitygrouppolicy as sg_policy from vmware_nsx.extensions import securitygrouppolicy as sg_policy
@ -215,9 +217,9 @@ class NsxVPluginV2(addr_pair_db.AllowedAddressPairsMixin,
supported_extension_aliases = [agent_apidef.ALIAS, supported_extension_aliases = [agent_apidef.ALIAS,
addr_apidef.ALIAS, addr_apidef.ALIAS,
"address-scope", address_scope.ALIAS,
pbin.ALIAS, pbin.ALIAS,
"dns-search-domain", ext_dns_search_domain.ALIAS,
dvr_apidef.ALIAS, dvr_apidef.ALIAS,
"ext-gw-mode", "ext-gw-mode",
mpnet_apidef.ALIAS, mpnet_apidef.ALIAS,
@ -229,21 +231,21 @@ class NsxVPluginV2(addr_pair_db.AllowedAddressPairsMixin,
extraroute.ALIAS, extraroute.ALIAS,
l3_apidef.ALIAS, l3_apidef.ALIAS,
"security-group", "security-group",
"secgroup-rule-local-ip-prefix", secgroup_rule_local_ip_prefix.ALIAS,
"security-group-logging", sg_logging.ALIAS,
"nsxv-router-type", routertype.ALIAS,
"nsxv-router-size", routersize.ALIAS,
"vnic-index", ext_vnic_idx.ALIAS,
"advanced-service-providers", as_providers.ALIAS,
"subnet_allocation", "subnet_allocation",
az_def.ALIAS, az_def.ALIAS,
network_availability_zone.ALIAS, network_availability_zone.ALIAS,
router_availability_zone.ALIAS, router_availability_zone.ALIAS,
l3_flavors.ALIAS, l3_flavors.ALIAS,
flavors_apidef.ALIAS, flavors_apidef.ALIAS,
"dhcp-mtu", ext_dhcp_mtu.ALIAS,
"mac-learning", mac_ext.ALIAS,
"housekeeper", hk_ext.ALIAS,
"port-security-groups-filtering"] "port-security-groups-filtering"]
__native_bulk_support = True __native_bulk_support = True
@ -318,8 +320,8 @@ class NsxVPluginV2(addr_pair_db.AllowedAddressPairsMixin,
# Support NSX policies in default security groups # Support NSX policies in default security groups
self._use_nsx_policies = True self._use_nsx_policies = True
# enable the extension # enable the extension
self.supported_extension_aliases.append("security-group-policy") self.supported_extension_aliases.append(sg_policy.ALIAS)
self.supported_extension_aliases.append("nsx-policy") self.supported_extension_aliases.append(nsxpolicy.ALIAS)
# Support transparent VLANS from 6.3.0 onwards. The feature is only # Support transparent VLANS from 6.3.0 onwards. The feature is only
# supported if the global configuration flag vlan_transparent is # supported if the global configuration flag vlan_transparent is
@ -352,7 +354,7 @@ class NsxVPluginV2(addr_pair_db.AllowedAddressPairsMixin,
resources.SUBNETPOOL_ADDRESS_SCOPE, events.AFTER_UPDATE) resources.SUBNETPOOL_ADDRESS_SCOPE, events.AFTER_UPDATE)
if c_utils.is_nsxv_version_6_2(self.nsx_v.vcns.get_version()): if c_utils.is_nsxv_version_6_2(self.nsx_v.vcns.get_version()):
self.supported_extension_aliases.append("provider-security-group") self.supported_extension_aliases.append(provider_sg.ALIAS)
# Bind QoS notifications # Bind QoS notifications
qos_driver.register(self) qos_driver.register(self)

View File

@ -18,6 +18,7 @@ import time
import mock import mock
import netaddr import netaddr
from neutron_lib.agent import topics from neutron_lib.agent import topics
from neutron_lib.api.definitions import address_scope
from neutron_lib.api.definitions import agent as agent_apidef from neutron_lib.api.definitions import agent as agent_apidef
from neutron_lib.api.definitions import allowedaddresspairs as addr_apidef from neutron_lib.api.definitions import allowedaddresspairs as addr_apidef
from neutron_lib.api.definitions import availability_zone from neutron_lib.api.definitions import availability_zone
@ -80,10 +81,12 @@ from vmware_nsx.common import nsx_constants
from vmware_nsx.common import utils from vmware_nsx.common import utils
from vmware_nsx.db import db as nsx_db from vmware_nsx.db import db as nsx_db
from vmware_nsx.dhcp_meta import rpc as nsx_rpc from vmware_nsx.dhcp_meta import rpc as nsx_rpc
from vmware_nsx.extensions import api_replay
from vmware_nsx.extensions import housekeeper as hk_ext from vmware_nsx.extensions import housekeeper as hk_ext
from vmware_nsx.extensions import maclearning as mac_ext from vmware_nsx.extensions import maclearning as mac_ext
from vmware_nsx.extensions import projectpluginmap from vmware_nsx.extensions import projectpluginmap
from vmware_nsx.extensions import providersecuritygroup as provider_sg from vmware_nsx.extensions import providersecuritygroup as provider_sg
from vmware_nsx.extensions import secgroup_rule_local_ip_prefix
from vmware_nsx.extensions import securitygrouplogging as sg_logging from vmware_nsx.extensions import securitygrouplogging as sg_logging
from vmware_nsx.plugins.common.housekeeper import housekeeper from vmware_nsx.plugins.common.housekeeper import housekeeper
from vmware_nsx.plugins.common_v3 import plugin as nsx_plugin_common from vmware_nsx.plugins.common_v3 import plugin as nsx_plugin_common
@ -139,7 +142,7 @@ class NsxV3Plugin(nsx_plugin_common.NsxPluginV3Base,
__native_sorting_support = True __native_sorting_support = True
supported_extension_aliases = [addr_apidef.ALIAS, supported_extension_aliases = [addr_apidef.ALIAS,
"address-scope", address_scope.ALIAS,
"quotas", "quotas",
pbin_apidef.ALIAS, pbin_apidef.ALIAS,
ext_edo.ALIAS, ext_edo.ALIAS,
@ -147,7 +150,7 @@ class NsxV3Plugin(nsx_plugin_common.NsxPluginV3Base,
dhcpagentscheduler.ALIAS, dhcpagentscheduler.ALIAS,
"ext-gw-mode", "ext-gw-mode",
"security-group", "security-group",
"secgroup-rule-local-ip-prefix", secgroup_rule_local_ip_prefix.ALIAS,
psec.ALIAS, psec.ALIAS,
provider_net.ALIAS, provider_net.ALIAS,
extnet_apidef.ALIAS, extnet_apidef.ALIAS,
@ -157,9 +160,9 @@ class NsxV3Plugin(nsx_plugin_common.NsxPluginV3Base,
network_availability_zone.ALIAS, network_availability_zone.ALIAS,
router_availability_zone.ALIAS, router_availability_zone.ALIAS,
"subnet_allocation", "subnet_allocation",
"security-group-logging", sg_logging.ALIAS,
"provider-security-group", provider_sg.ALIAS,
"housekeeper", hk_ext.ALIAS,
"port-security-groups-filtering"] "port-security-groups-filtering"]
@resource_registry.tracked_resources( @resource_registry.tracked_resources(
@ -242,7 +245,7 @@ class NsxV3Plugin(nsx_plugin_common.NsxPluginV3Base,
self._unsubscribe_callback_events() self._unsubscribe_callback_events()
if cfg.CONF.api_replay_mode: if cfg.CONF.api_replay_mode:
self.supported_extension_aliases.append('api-replay') self.supported_extension_aliases.append(api_replay.ALIAS)
# Support transparent VLANS from 2.2.0 onwards. The feature is only # Support transparent VLANS from 2.2.0 onwards. The feature is only
# supported if the global configuration flag vlan_transparent is # supported if the global configuration flag vlan_transparent is
@ -512,7 +515,7 @@ class NsxV3Plugin(nsx_plugin_common.NsxPluginV3Base,
try: try:
self._init_mac_learning_profile() self._init_mac_learning_profile()
# Only expose the extension if it is supported # Only expose the extension if it is supported
self.supported_extension_aliases.append('mac-learning') self.supported_extension_aliases.append(mac_ext.ALIAS)
except Exception as e: except Exception as e:
LOG.warning("Unable to initialize NSX v3 MAC Learning " LOG.warning("Unable to initialize NSX v3 MAC Learning "
"profile: %(name)s. Reason: %(reason)s", "profile: %(name)s. Reason: %(reason)s",

View File

@ -43,7 +43,7 @@ class NSXBgpPlugin(service_base.ServicePluginBase, bgp_db.BgpDbMixin):
""" """
supported_extension_aliases = [bgp_ext.BGP_EXT_ALIAS, supported_extension_aliases = [bgp_ext.BGP_EXT_ALIAS,
ext_esg.ESG_BGP_PEER_EXT_ALIAS] ext_esg.ALIAS]
def __init__(self): def __init__(self):
super(NSXBgpPlugin, self).__init__() super(NSXBgpPlugin, self).__init__()

View File

@ -83,7 +83,7 @@ class NetworkGatewayExtensionTestCase(base.BaseTestCase):
# Instantiate mock plugin and enable extensions # Instantiate mock plugin and enable extensions
self.plugin.return_value.supported_extension_aliases = ( self.plugin.return_value.supported_extension_aliases = (
[networkgw.EXT_ALIAS]) [networkgw.ALIAS])
directory.add_plugin(constants.CORE, self.plugin.return_value) directory.add_plugin(constants.CORE, self.plugin.return_value)
ext_mgr = TestExtensionManager() ext_mgr = TestExtensionManager()
extensions.PluginAwareExtensionManager._instance = ext_mgr extensions.PluginAwareExtensionManager._instance = ext_mgr
@ -1096,7 +1096,7 @@ class TestNetworkGatewayPlugin(db_base_plugin_v2.NeutronDbPluginV2,
networkgw_db.NetworkGatewayMixin): networkgw_db.NetworkGatewayMixin):
"""Simple plugin class for testing db support for network gateway ext.""" """Simple plugin class for testing db support for network gateway ext."""
supported_extension_aliases = ["network-gateway"] supported_extension_aliases = [networkgw.ALIAS]
def __init__(self, **args): def __init__(self, **args):
super(TestNetworkGatewayPlugin, self).__init__(**args) super(TestNetworkGatewayPlugin, self).__init__(**args)

View File

@ -42,7 +42,7 @@ class ProviderSecurityGroupTestPlugin(
securitygroups_db.SecurityGroupDbMixin): securitygroups_db.SecurityGroupDbMixin):
supported_extension_aliases = ["security-group", supported_extension_aliases = ["security-group",
"provider-security-group"] provider_sg.ALIAS]
def create_security_group(self, context, security_group, default_sg=False): def create_security_group(self, context, security_group, default_sg=False):
secgroup = security_group['security_group'] secgroup = security_group['security_group']

View File

@ -45,7 +45,7 @@ class ExtendedRuleTestPlugin(db_base_plugin_v2.NeutronDbPluginV2,
securitygroups_db.SecurityGroupDbMixin): securitygroups_db.SecurityGroupDbMixin):
supported_extension_aliases = ["security-group", supported_extension_aliases = ["security-group",
"secgroup-rule-local-ip-prefix"] ext_loip.ALIAS]
def create_security_group_rule(self, context, security_group_rule): def create_security_group_rule(self, context, security_group_rule):
rule = security_group_rule['security_group_rule'] rule = security_group_rule['security_group_rule']

View File

@ -38,7 +38,7 @@ _uuid = uuidutils.generate_uuid
class VnicIndexTestPlugin(db_base_plugin_v2.NeutronDbPluginV2, class VnicIndexTestPlugin(db_base_plugin_v2.NeutronDbPluginV2,
vnic_index_db.VnicIndexDbMixin): vnic_index_db.VnicIndexDbMixin):
supported_extension_aliases = ["vnic-index"] supported_extension_aliases = [vnicidx.ALIAS]
def update_port(self, context, id, port): def update_port(self, context, id, port):
p = port['port'] p = port['port']

View File

@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from vmware_nsx.extensions import api_replay
from vmware_nsx.tests.unit.nsx_v3 import test_plugin from vmware_nsx.tests.unit.nsx_v3 import test_plugin
from neutron_lib.api import attributes from neutron_lib.api import attributes
@ -34,7 +35,7 @@ class TestApiReplay(test_plugin.NsxV3PluginTestCaseMixin):
# remove the extension from the plugin # remove the extension from the plugin
directory.get_plugin().supported_extension_aliases.remove( directory.get_plugin().supported_extension_aliases.remove(
'api-replay') api_replay.ALIAS)
# Revert the attributes map back to normal # Revert the attributes map back to normal
for attr_name in ('ports', 'networks', 'security_groups', for attr_name in ('ports', 'networks', 'security_groups',

View File

@ -20,12 +20,15 @@ from openstackclient.tests.unit.network.v2 import fakes as network_fakes
from openstackclient.tests.unit.network.v2 import test_port from openstackclient.tests.unit.network.v2 import test_port
from openstackclient.tests.unit import utils as tests_utils from openstackclient.tests.unit import utils as tests_utils
from vmware_nsx.extensions import maclearning
from vmware_nsx.extensions import providersecuritygroup
from vmware_nsx.extensions import vnicindex
from vmware_nsx.osc.v2 import port from vmware_nsx.osc.v2 import port
supported_extensions = ('vnic-index', supported_extensions = (vnicindex.ALIAS,
'provider-security-group', providersecuritygroup.ALIAS,
'mac-learning') maclearning.ALIAS)
class TestCreatePort(test_port.TestCreatePort): class TestCreatePort(test_port.TestCreatePort):

View File

@ -24,7 +24,7 @@ from vmware_nsx.extensions import routertype
from vmware_nsx.osc.v2 import router from vmware_nsx.osc.v2 import router
supported_extensions = ('nsxv-router-size', 'nsxv-router-type') supported_extensions = (routersize.ALIAS, routertype.ALIAS)
class TestCreateRouter(test_router.TestCreateRouter): class TestCreateRouter(test_router.TestCreateRouter):

View File

@ -20,12 +20,16 @@ from openstackclient.tests.unit.network.v2 import (
test_security_group_network as test_security_group) test_security_group_network as test_security_group)
from openstackclient.tests.unit import utils as tests_utils from openstackclient.tests.unit import utils as tests_utils
from vmware_nsx.extensions import providersecuritygroup
from vmware_nsx.extensions import securitygrouplogging
from vmware_nsx.extensions import securitygrouppolicy
from vmware_nsx.osc.v2 import security_group from vmware_nsx.osc.v2 import security_group
supported_extensions = ('security-group-logging', supported_extensions = (securitygrouplogging.ALIAS,
'provider-security-group', providersecuritygroup.ALIAS,
'security-group-policy') securitygrouppolicy.ALIAS)
class TestCreateSecurityGroup( class TestCreateSecurityGroup(

View File

@ -19,10 +19,12 @@ import mock
from openstackclient.tests.unit.network.v2 import test_subnet from openstackclient.tests.unit.network.v2 import test_subnet
from openstackclient.tests.unit import utils as tests_utils from openstackclient.tests.unit import utils as tests_utils
from vmware_nsx.extensions import dhcp_mtu
from vmware_nsx.extensions import dns_search_domain
from vmware_nsx.osc.v2 import subnet from vmware_nsx.osc.v2 import subnet
supported_extensions = ('dhcp-mtu', 'dns-search-domain') supported_extensions = (dhcp_mtu.ALIAS, dns_search_domain.ALIAS)
class TestCreateSubnet(test_subnet.TestCreateSubnet): class TestCreateSubnet(test_subnet.TestCreateSubnet):