Merge "Stop using neutron PLURALS dict"

This commit is contained in:
Jenkins 2017-06-15 16:03:23 +00:00 committed by Gerrit Code Review
commit 074ea874bb
5 changed files with 18 additions and 23 deletions

View File

@ -0,0 +1,10 @@
GBP_PLURALS = {}
def register_plurals(plural_mappings):
for plural, single in plural_mappings.items():
GBP_PLURALS[single] = plural
def get_plural(single):
return GBP_PLURALS.get(single)

View File

@ -27,7 +27,7 @@ from oslo_log import log as logging
from oslo_utils import uuidutils
import six
import gbpservice.neutron.extensions
from gbpservice.neutron import extensions as gbp_extensions
from gbpservice.neutron.extensions import patch # noqa
from gbpservice.neutron.services.grouppolicy.common import (
constants as gp_constants)
@ -36,7 +36,7 @@ from gbpservice.neutron.services.grouppolicy.common import (
# The code below is a monkey patch of key Neutron's modules. This is needed for
# the GBP service to be loaded correctly. GBP extensions' path is added
# to Neutron's so that it's found at extension scanning time.
extensions.append_api_extensions_path(gbpservice.neutron.extensions.__path__)
extensions.append_api_extensions_path(gbp_extensions.__path__)
LOG = logging.getLogger(__name__)
@ -995,7 +995,7 @@ class Group_policy(extensions.ExtensionDescriptor):
'external_policies': 'external_policy'}
plural_mappings = resource_helper.build_plural_mappings(
special_mappings, RESOURCE_ATTRIBUTE_MAP)
attr.PLURALS.update(plural_mappings)
gbp_extensions.register_plurals(plural_mappings)
return resource_helper.build_resource_info(plural_mappings,
RESOURCE_ATTRIBUTE_MAP,
constants.GROUP_POLICY,

View File

@ -24,7 +24,7 @@ from oslo_config import cfg
from oslo_log import log as logging
import six
import gbpservice.neutron.extensions
from gbpservice.neutron import extensions as gbp_extensions
import gbpservice.neutron.extensions.group_policy # noqa
from gbpservice.neutron.services.servicechain.common import constants as scc
@ -32,7 +32,7 @@ from gbpservice.neutron.services.servicechain.common import constants as scc
# The code below is a monkey patch of key Neutron's modules. This is needed for
# the GBP service to be loaded correctly. GBP extensions' path is added
# to Neutron's so that it's found at extension scanning time.
extensions.append_api_extensions_path(gbpservice.neutron.extensions.__path__)
extensions.append_api_extensions_path(gbp_extensions.__path__)
LOG = logging.getLogger(__name__)
@ -294,7 +294,7 @@ class Servicechain(extensions.ExtensionDescriptor):
def get_resources(cls):
plural_mappings = resource_helper.build_plural_mappings(
{}, RESOURCE_ATTRIBUTE_MAP)
attr.PLURALS.update(plural_mappings)
gbp_extensions.register_plurals(plural_mappings)
return resource_helper.build_resource_info(plural_mappings,
RESOURCE_ATTRIBUTE_MAP,
constants.SERVICECHAIN,

View File

@ -13,7 +13,6 @@
import netaddr
import six
from neutron.api.v2 import attributes as nattr
from neutron import context as n_ctx
from neutron.db import api as db_api
from neutron.extensions import portbindings
@ -30,6 +29,7 @@ from gbpservice._i18n import _LW
from gbpservice.common import utils as gbp_utils
from gbpservice.neutron.db.grouppolicy import group_policy_db as gpdb
from gbpservice.neutron.db.grouppolicy import group_policy_mapping_db
from gbpservice.neutron import extensions as gbp_extensions
from gbpservice.neutron.extensions import group_policy as gpex
from gbpservice.neutron.services.grouppolicy import (
extension_manager as ext_manager)
@ -119,13 +119,6 @@ class GroupPolicyPlugin(group_policy_mapping_db.GroupPolicyMappingDbPlugin):
'policy_target_group'},
'application_policy_group': {}
}
_plurals = None
@property
def plurals(self):
if not self._plurals:
self._plurals = dict((nattr.PLURALS[k], k) for k in nattr.PLURALS)
return self._plurals
@staticmethod
def _validate_shared_create(self, context, obj, identity):
@ -138,7 +131,7 @@ class GroupPolicyPlugin(group_policy_mapping_db.GroupPolicyMappingDbPlugin):
ids = [ids]
ref_type = links[attr]
linked_objects = getattr(
self, 'get_%s' % self.plurals[ref_type])(
self, 'get_%s' % gbp_extensions.get_plural(ref_type))(
context, filters={'id': ids})
link_ids = set()
for linked in linked_objects:

View File

@ -10,7 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
from neutron.api.v2 import attributes as nattr
from neutron import manager as n_manager
from neutron.plugins.common import constants as pconst
from oslo_log import log as logging
@ -36,13 +35,6 @@ class SharingMixin(object):
'servicechain_instance': {},
'service_profile': {},
}
_plurals = None
@property
def plurals(self):
if not self._plurals:
self._plurals = dict((nattr.PLURALS[k], k) for k in nattr.PLURALS)
return self._plurals
@property
def gbp_plugin(self):