From 1884c307a9502393d275e0d5c5b2e56343792908 Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Thu, 4 Oct 2018 15:29:36 -0400 Subject: [PATCH] python3: Ensure ConfigOpts __iter__ uses list(d.keys()) d.keys() no longer returns a copy of the keys in Python 3. This is part of PEP 3106. Change-Id: Ie4897109c87d6dc2952c2eb35b83fe368fb31803 Closes-Bug: #1796163 --- oslo_config/cfg.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/oslo_config/cfg.py b/oslo_config/cfg.py index e42e52e9..ca3f4d02 100644 --- a/oslo_config/cfg.py +++ b/oslo_config/cfg.py @@ -2649,7 +2649,8 @@ class ConfigOpts(collections.Mapping): def __iter__(self): """Iterate over all registered opt and group names.""" - for key in itertools.chain(self._opts.keys(), self._groups.keys()): + for key in itertools.chain(list(self._opts.keys()), + list(self._groups.keys())): yield key def __len__(self):