From 5315aa8fc0c9a6fb0129ccfd820b4e395ae03caa Mon Sep 17 00:00:00 2001 From: Slawek Kaplonski Date: Sat, 16 Feb 2019 22:06:50 +0100 Subject: [PATCH] Rehome base upgrade checks class Class neutron.cmd.upgrade_checks.base.BaseChecks can be used as base class for upgrade checks implemented in stadium or 3rd party projects (e.g. in [1]). It will be better to have it in neutron-lib rather than in neutron. [1] https://review.openstack.org/#/c/637203/ Change-Id: I6f9777358a33444fabd09e611a9cddd807827573 --- neutron_lib/utils/upgrade_checks.py | 36 +++++++++++++++++++ ...upgrade-checks-class-f6da1d501663d8c5.yaml | 6 ++++ 2 files changed, 42 insertions(+) create mode 100644 neutron_lib/utils/upgrade_checks.py create mode 100644 releasenotes/notes/add-base-upgrade-checks-class-f6da1d501663d8c5.yaml diff --git a/neutron_lib/utils/upgrade_checks.py b/neutron_lib/utils/upgrade_checks.py new file mode 100644 index 000000000..4263044de --- /dev/null +++ b/neutron_lib/utils/upgrade_checks.py @@ -0,0 +1,36 @@ +# Copyright 2018 Red Hat Inc. +# +# 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. + +import abc + +import six + + +@six.add_metaclass(abc.ABCMeta) +class BaseChecks(object): + + """Base class providing upgrade checks. + + Stadium projects which want to provide their own upgrade checks to + neutron-status CLI tool should inherit from this class. + + Each check method have to accept neutron.cmd.status.Checker + class as an argument because all checkes will be run in context of + this class. + """ + + @abc.abstractmethod + def get_checks(self): + """Get tuple with check methods and check names to run.""" + pass diff --git a/releasenotes/notes/add-base-upgrade-checks-class-f6da1d501663d8c5.yaml b/releasenotes/notes/add-base-upgrade-checks-class-f6da1d501663d8c5.yaml new file mode 100644 index 000000000..43606777c --- /dev/null +++ b/releasenotes/notes/add-base-upgrade-checks-class-f6da1d501663d8c5.yaml @@ -0,0 +1,6 @@ +--- +other: + - | + Base class for upgrade checks used in checks in + ``neutron-status upgrade check`` tool is now available in + ``neutron_lib.utils.upgrade_checks`` and can be reused by other projects.