Move raise_if_updates_provider_attributes in plugin
Do not leverage anymore the code from neutron extensions package. Change-Id: Ifc5e19e8eb7276f4b24d26c30b0c5300c59c7463
This commit is contained in:
parent
a064a02fba
commit
ef6cb79f46
|
@ -27,6 +27,7 @@ from neutron_lib.api.definitions import address_scope as ext_address_scope
|
||||||
from neutron_lib.api.definitions import availability_zone as az_def
|
from neutron_lib.api.definitions import availability_zone as az_def
|
||||||
from neutron_lib.api.definitions import network as net_def
|
from neutron_lib.api.definitions import network as net_def
|
||||||
from neutron_lib.api.definitions import port as port_def
|
from neutron_lib.api.definitions import port as port_def
|
||||||
|
from neutron_lib.api.definitions import provider_net as pnet
|
||||||
from neutron_lib.api.definitions import subnet as subnet_def
|
from neutron_lib.api.definitions import subnet as subnet_def
|
||||||
from neutron_lib.api import validators
|
from neutron_lib.api import validators
|
||||||
from neutron_lib.api.validators import availability_zone as az_validator
|
from neutron_lib.api.validators import availability_zone as az_validator
|
||||||
|
@ -382,6 +383,16 @@ class NsxPluginBase(db_base_plugin_v2.NeutronDbPluginV2,
|
||||||
"Default security group already created", tenant_id)
|
"Default security group already created", tenant_id)
|
||||||
return self._get_default_sg_id(context, tenant_id)
|
return self._get_default_sg_id(context, tenant_id)
|
||||||
|
|
||||||
|
def _raise_if_updates_provider_attributes(self, attrs):
|
||||||
|
"""Raise exception if provider attributes are present.
|
||||||
|
|
||||||
|
This method is used for plugins that do not support
|
||||||
|
updating provider networks.
|
||||||
|
"""
|
||||||
|
if any(validators.is_attr_set(attrs.get(a)) for a in pnet.ATTRIBUTES):
|
||||||
|
msg = _("Plugin does not support updating provider attributes")
|
||||||
|
raise n_exc.InvalidInput(error_message=msg)
|
||||||
|
|
||||||
|
|
||||||
# Register the callback
|
# Register the callback
|
||||||
def _validate_network_has_subnet(resource, event, trigger, **kwargs):
|
def _validate_network_has_subnet(resource, event, trigger, **kwargs):
|
||||||
|
|
|
@ -38,7 +38,6 @@ from neutron.db import portbindings_db
|
||||||
from neutron.db import portsecurity_db
|
from neutron.db import portsecurity_db
|
||||||
from neutron.db import securitygroups_db
|
from neutron.db import securitygroups_db
|
||||||
from neutron.db import vlantransparent_db as vlan_ext_db
|
from neutron.db import vlantransparent_db as vlan_ext_db
|
||||||
from neutron.extensions import providernet
|
|
||||||
from neutron.extensions import securitygroup as ext_sg
|
from neutron.extensions import securitygroup as ext_sg
|
||||||
from neutron.plugins.common import utils
|
from neutron.plugins.common import utils
|
||||||
from neutron.quota import resource_registry
|
from neutron.quota import resource_registry
|
||||||
|
@ -339,7 +338,7 @@ class NsxDvsV2(addr_pair_db.AllowedAddressPairsMixin,
|
||||||
|
|
||||||
def update_network(self, context, id, network):
|
def update_network(self, context, id, network):
|
||||||
net_attrs = network['network']
|
net_attrs = network['network']
|
||||||
providernet._raise_if_updates_provider_attributes(net_attrs)
|
self._raise_if_updates_provider_attributes(net_attrs)
|
||||||
|
|
||||||
with db_api.context_manager.writer.using(context):
|
with db_api.context_manager.writer.using(context):
|
||||||
net_res = super(NsxDvsV2, self).update_network(context, id,
|
net_res = super(NsxDvsV2, self).update_network(context, id,
|
||||||
|
|
|
@ -60,7 +60,6 @@ from neutron.db import portbindings_db
|
||||||
from neutron.db import portsecurity_db
|
from neutron.db import portsecurity_db
|
||||||
from neutron.db import quota_db # noqa
|
from neutron.db import quota_db # noqa
|
||||||
from neutron.db import securitygroups_db
|
from neutron.db import securitygroups_db
|
||||||
from neutron.extensions import providernet
|
|
||||||
from neutron.extensions import securitygroup as ext_sg
|
from neutron.extensions import securitygroup as ext_sg
|
||||||
from neutron.plugins.common import utils
|
from neutron.plugins.common import utils
|
||||||
from neutron.quota import resource_registry
|
from neutron.quota import resource_registry
|
||||||
|
@ -1068,8 +1067,18 @@ class NsxPluginV2(addr_pair_db.AllowedAddressPairsMixin,
|
||||||
[db_utils.resource_fields(network,
|
[db_utils.resource_fields(network,
|
||||||
fields) for network in networks])
|
fields) for network in networks])
|
||||||
|
|
||||||
|
def _raise_if_updates_provider_attributes(self, attrs):
|
||||||
|
"""Raise exception if provider attributes are present.
|
||||||
|
|
||||||
|
This method is used for plugins that do not support
|
||||||
|
updating provider networks.
|
||||||
|
"""
|
||||||
|
if any(validators.is_attr_set(attrs.get(a)) for a in pnet.ATTRIBUTES):
|
||||||
|
msg = _("Plugin does not support updating provider attributes")
|
||||||
|
raise n_exc.InvalidInput(error_message=msg)
|
||||||
|
|
||||||
def update_network(self, context, id, network):
|
def update_network(self, context, id, network):
|
||||||
providernet._raise_if_updates_provider_attributes(network['network'])
|
self._raise_if_updates_provider_attributes(network['network'])
|
||||||
if network["network"].get("admin_state_up") is False:
|
if network["network"].get("admin_state_up") is False:
|
||||||
raise NotImplementedError(_("admin_state_up=False networks "
|
raise NotImplementedError(_("admin_state_up=False networks "
|
||||||
"are not supported."))
|
"are not supported."))
|
||||||
|
|
|
@ -83,7 +83,6 @@ from neutron.db import portsecurity_db
|
||||||
from neutron.db import quota_db # noqa
|
from neutron.db import quota_db # noqa
|
||||||
from neutron.db import securitygroups_db
|
from neutron.db import securitygroups_db
|
||||||
from neutron.db import vlantransparent_db
|
from neutron.db import vlantransparent_db
|
||||||
from neutron.extensions import providernet
|
|
||||||
from neutron.extensions import securitygroup as ext_sg
|
from neutron.extensions import securitygroup as ext_sg
|
||||||
from neutron.objects import securitygroup
|
from neutron.objects import securitygroup
|
||||||
from neutron.plugins.common import utils
|
from neutron.plugins.common import utils
|
||||||
|
@ -1609,7 +1608,7 @@ class NsxVPluginV2(addr_pair_db.AllowedAddressPairsMixin,
|
||||||
and not validators.is_attr_set(
|
and not validators.is_attr_set(
|
||||||
attrs.get(pnet.SEGMENTATION_ID))):
|
attrs.get(pnet.SEGMENTATION_ID))):
|
||||||
return
|
return
|
||||||
providernet._raise_if_updates_provider_attributes(attrs)
|
super(NsxVPluginV2, self)._raise_if_updates_provider_attributes(attrs)
|
||||||
|
|
||||||
def _update_vlan_network_dvs_ids(self, context, network,
|
def _update_vlan_network_dvs_ids(self, context, network,
|
||||||
new_physical_network, az_dvs):
|
new_physical_network, az_dvs):
|
||||||
|
|
|
@ -59,7 +59,6 @@ from neutron.db import portbindings_db
|
||||||
from neutron.db import portsecurity_db
|
from neutron.db import portsecurity_db
|
||||||
from neutron.db import securitygroups_db
|
from neutron.db import securitygroups_db
|
||||||
from neutron.db import vlantransparent_db
|
from neutron.db import vlantransparent_db
|
||||||
from neutron.extensions import providernet
|
|
||||||
from neutron.extensions import securitygroup as ext_sg
|
from neutron.extensions import securitygroup as ext_sg
|
||||||
from neutron.plugins.common import utils as n_utils
|
from neutron.plugins.common import utils as n_utils
|
||||||
from neutron.plugins.ml2 import models as pbin_model
|
from neutron.plugins.ml2 import models as pbin_model
|
||||||
|
@ -1440,7 +1439,7 @@ class NsxV3Plugin(agentschedulers_db.AZDhcpAgentSchedulerDbMixin,
|
||||||
original_net = super(NsxV3Plugin, self).get_network(context, id)
|
original_net = super(NsxV3Plugin, self).get_network(context, id)
|
||||||
net_data = network['network']
|
net_data = network['network']
|
||||||
# Neutron does not support changing provider network values
|
# Neutron does not support changing provider network values
|
||||||
providernet._raise_if_updates_provider_attributes(net_data)
|
self._raise_if_updates_provider_attributes(net_data)
|
||||||
self._validate_qos_policy_id(
|
self._validate_qos_policy_id(
|
||||||
context, net_data.get(qos_consts.QOS_POLICY_ID))
|
context, net_data.get(qos_consts.QOS_POLICY_ID))
|
||||||
extern_net = self._network_is_external(context, id)
|
extern_net = self._network_is_external(context, id)
|
||||||
|
|
Loading…
Reference in New Issue