From 775c2c8f165b8aff8a108ea3f8373bb81b45e253 Mon Sep 17 00:00:00 2001 From: Boden R Date: Fri, 22 Mar 2019 14:52:42 -0600 Subject: [PATCH] rehome neutron.objects.logapi.event_types This patch rehomes neutron.objects.logapi.event_types into neutron-lib. In addition the neutron.services.logapi.common.constants are rehomed into neutron_lib.services.logapi.constants as they are used in the former. Also see: https://bugs.launchpad.net/neutron/+bug/1815827 Change-Id: I2a8717d3644fc333f4d940245b264a8aea471426 --- neutron_lib/objects/logapi/__init__.py | 0 neutron_lib/objects/logapi/event_types.py | 38 ++++++++++++ neutron_lib/services/logapi/__init__.py | 0 neutron_lib/services/logapi/constants.py | 59 +++++++++++++++++++ ...me-obj-logeventtypes-b31e7c6492ca6615.yaml | 6 ++ 5 files changed, 103 insertions(+) create mode 100644 neutron_lib/objects/logapi/__init__.py create mode 100644 neutron_lib/objects/logapi/event_types.py create mode 100644 neutron_lib/services/logapi/__init__.py create mode 100644 neutron_lib/services/logapi/constants.py create mode 100644 releasenotes/notes/rehome-obj-logeventtypes-b31e7c6492ca6615.yaml diff --git a/neutron_lib/objects/logapi/__init__.py b/neutron_lib/objects/logapi/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/neutron_lib/objects/logapi/event_types.py b/neutron_lib/objects/logapi/event_types.py new file mode 100644 index 000000000..d62f89e78 --- /dev/null +++ b/neutron_lib/objects/logapi/event_types.py @@ -0,0 +1,38 @@ +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from oslo_versionedobjects import fields as obj_fields + +from neutron_lib._i18n import _ +from neutron_lib.services.logapi import constants as log_const + + +class SecurityEvent(obj_fields.String): + def __init__(self, valid_values, **kwargs): + self._valid_values = valid_values + super(SecurityEvent, self).__init__(**kwargs) + + def coerce(self, obj, attr, value): + if value not in self._valid_values: + msg = ( + _("Field value %(value)s is not in the list " + "of valid values: %(values)s") % + {'value': value, 'values': self._valid_values} + ) + raise ValueError(msg) + return super(SecurityEvent, self).coerce(obj, attr, value) + + +class SecurityEventField(obj_fields.AutoTypedField): + AUTO_TYPE = SecurityEvent(valid_values=log_const.LOG_EVENTS) diff --git a/neutron_lib/services/logapi/__init__.py b/neutron_lib/services/logapi/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/neutron_lib/services/logapi/constants.py b/neutron_lib/services/logapi/constants.py new file mode 100644 index 000000000..84ee9d620 --- /dev/null +++ b/neutron_lib/services/logapi/constants.py @@ -0,0 +1,59 @@ +# Copyright 2017 Fujitsu Limited. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +ACCEPT_EVENT = 'ACCEPT' +DROP_EVENT = 'DROP' +ALL_EVENT = 'ALL' +LOG_EVENTS = [ACCEPT_EVENT, DROP_EVENT, ALL_EVENT] +LOGGING_PLUGIN = 'logging-plugin' + +# supported logging types +SECURITY_GROUP = 'security_group' +SNAT = 'snat' + +# target resource types +PORT = 'port' + +RPC_NAMESPACE_LOGGING = 'logging-plugin' + +# Define for rpc_method_key +LOG_RESOURCE = 'log_resource' + +# String literal for identifying log resource +LOGGING = 'log' + +# Method names for Logging Driver +PRECOMMIT_POSTFIX = '_precommit' +CREATE_LOG = 'create_log' +CREATE_LOG_PRECOMMIT = CREATE_LOG + PRECOMMIT_POSTFIX +UPDATE_LOG = 'update_log' +UPDATE_LOG_PRECOMMIT = UPDATE_LOG + PRECOMMIT_POSTFIX +DELETE_LOG = 'delete_log' +DELETE_LOG_PRECOMMIT = DELETE_LOG + PRECOMMIT_POSTFIX +# Tell to agent when resources related log_objects update +RESOURCE_UPDATE = 'resource_update' + +LOG_CALL_METHODS = ( + CREATE_LOG, + CREATE_LOG_PRECOMMIT, + UPDATE_LOG, + UPDATE_LOG_PRECOMMIT, + DELETE_LOG, + DELETE_LOG_PRECOMMIT, + RESOURCE_UPDATE +) + +DIRECTION_IP_PREFIX = {'ingress': 'source_ip_prefix', + 'egress': 'dest_ip_prefix'} diff --git a/releasenotes/notes/rehome-obj-logeventtypes-b31e7c6492ca6615.yaml b/releasenotes/notes/rehome-obj-logeventtypes-b31e7c6492ca6615.yaml new file mode 100644 index 000000000..13316dea5 --- /dev/null +++ b/releasenotes/notes/rehome-obj-logeventtypes-b31e7c6492ca6615.yaml @@ -0,0 +1,6 @@ +--- +features: + - The ``neutron.objects.logapi.events_types`` module is now available as + ``neutron_lib.objects.logapi.events_types``. + - The ``neutron.services.logapi.common.constants`` module is now available as + ``neutron_lib.services.logapi.constants``.