From 17d1cf535a93931856d7ee8cf234dbd21e5a271d Mon Sep 17 00:00:00 2001 From: Douglas Viroel Date: Wed, 7 May 2025 15:10:48 -0300 Subject: [PATCH] Deprecated Noisy Neighbor strategy Noisy neighbor strategy is a proof of concept strategy that was built based on LLC metric, which is not available in Nova since Victoria release[1]. This patch marks this strategy as deprecated, to be removed in future releases. [1] https://docs.openstack.org/releasenotes/nova/victoria.html#relnotes-22-0-0-unmaintained-victoria-upgrade-notes Change-Id: I940b88555007312c76a86706bd44a38fbcf7701e --- .../deprecate-noisy-neighbor-strat-7da910837ae8fa80.yaml | 6 ++++++ requirements.txt | 1 + .../decision_engine/strategy/strategies/noisy_neighbor.py | 6 ++++++ 3 files changed, 13 insertions(+) create mode 100644 releasenotes/notes/deprecate-noisy-neighbor-strat-7da910837ae8fa80.yaml diff --git a/releasenotes/notes/deprecate-noisy-neighbor-strat-7da910837ae8fa80.yaml b/releasenotes/notes/deprecate-noisy-neighbor-strat-7da910837ae8fa80.yaml new file mode 100644 index 000000000..772e1e427 --- /dev/null +++ b/releasenotes/notes/deprecate-noisy-neighbor-strat-7da910837ae8fa80.yaml @@ -0,0 +1,6 @@ +--- +deprecations: + - | + Noisy Neighbor strategy is deprecated and will be removed in a future release. + This strategy relies on Last Level Cache metrics that are not available in Nova + since `Victoria release `_. diff --git a/requirements.txt b/requirements.txt index ae53ed092..bdf5fc803 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ # date but we do not test them so no guarantee of having them all correct. If # you find any incorrect lower bounds, let us know or propose a fix. apscheduler>=3.5.1 # MIT License +debtcollector>=1.2.0 # Apache-2.0 eventlet>=0.27.0 # MIT jsonpatch>=1.21 # BSD keystoneauth1>=3.4.0 # Apache-2.0 diff --git a/watcher/decision_engine/strategy/strategies/noisy_neighbor.py b/watcher/decision_engine/strategy/strategies/noisy_neighbor.py index cf9137a14..5f2fd8bfe 100644 --- a/watcher/decision_engine/strategy/strategies/noisy_neighbor.py +++ b/watcher/decision_engine/strategy/strategies/noisy_neighbor.py @@ -16,8 +16,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from debtcollector import removals from oslo_config import cfg from oslo_log import log +import warnings from watcher._i18n import _ from watcher.decision_engine.strategy.strategies import base @@ -25,7 +27,11 @@ from watcher.decision_engine.strategy.strategies import base LOG = log.getLogger(__name__) CONF = cfg.CONF +warnings.simplefilter('always') + +@removals.removed_class("NoisyNeighbor", version="2025.2", + removal_version="2026.2") class NoisyNeighbor(base.NoisyNeighborBaseStrategy): """Noisy Neighbor strategy using live migration