diff --git a/neutron/extensions/netmtu_writable.py b/neutron/extensions/netmtu_writable.py index 2a7641accdd..919e8377bb5 100644 --- a/neutron/extensions/netmtu_writable.py +++ b/neutron/extensions/netmtu_writable.py @@ -10,49 +10,11 @@ # License for the specific language governing permissions and limitations # under the License. -from neutron_lib.api import converters -from neutron_lib.api.definitions import network -from neutron_lib.api.definitions import network_mtu +from neutron_lib.api.definitions import network_mtu_writable as apidef from neutron_lib.api import extensions -#TODO(ihrachys) migrate api definition to neutron-lib - -MTU = 'mtu' - -RESOURCE_ATTRIBUTE_MAP = { - network.COLLECTION_NAME: { - MTU: {'allow_post': True, 'allow_put': True, 'is_visible': True, - 'validate': {'type:non_negative': None}, 'default': 0, - 'convert_to': converters.convert_to_int}, - }, -} - - -class Netmtu_writable(extensions.ExtensionDescriptor): +class Netmtu_writable(extensions.APIExtensionDescriptor): """Extension class supporting writable network MTU.""" - @classmethod - def get_name(cls): - return 'Network MTU (writable)' - - @classmethod - def get_alias(cls): - return 'net-mtu-writable' - - @classmethod - def get_description(cls): - return 'Provides a writable MTU attribute for a network resource.' - - @classmethod - def get_updated(cls): - return '2017-07-12T00:00:00-00:00' - - def get_extended_resources(self, version): - if version == "2.0": - return RESOURCE_ATTRIBUTE_MAP - else: - return {} - - def get_required_extensions(self): - return [network_mtu.ALIAS] + api_definition = apidef diff --git a/neutron/plugins/ml2/plugin.py b/neutron/plugins/ml2/plugin.py index 877441df2fa..6453fb137de 100644 --- a/neutron/plugins/ml2/plugin.py +++ b/neutron/plugins/ml2/plugin.py @@ -18,6 +18,7 @@ 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 extra_dhcp_opt as edo_ext from neutron_lib.api.definitions import network as net_def +from neutron_lib.api.definitions import network_mtu_writable as mtuw_apidef from neutron_lib.api.definitions import port as port_def from neutron_lib.api.definitions import port_security as psec from neutron_lib.api.definitions import portbindings @@ -79,7 +80,6 @@ from neutron.db import securitygroups_rpc_base as sg_db_rpc from neutron.db import segments_db from neutron.db import subnet_service_type_db_models as service_type_db from neutron.db import vlantransparent_db -from neutron.extensions import netmtu_writable as mtu_ext from neutron.extensions import providernet as provider from neutron.extensions import vlantransparent from neutron.plugins.common import utils as p_utils @@ -878,7 +878,7 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2, context.session.expire(db_network) if ( - mtu_ext.MTU in net_data or + mtuw_apidef.MTU in net_data or # NOTE(ihrachys) mtu may be null for existing networks, # calculate and update it as needed; the conditional can be # removed in Queens when we populate all mtu attributes and