Fixes issue with loading default settings.yaml
fuelmenu fails to start with its default /etc/fuel/astute.yaml. For now if some indexes failed to load just a warning message will be printed. Change-Id: I83c0f90c66944c225ce7642df3a3a2e7b9b83371 Closes-Bug: #1513719 Signed-off-by: Ruslan Aliev <raliev@mirantis.com> Co-Authored-By: Fedor Zhadaev <fzhadaev@mirantis.com>
This commit is contained in:
parent
680b720291
commit
12d8313b31
|
@ -13,6 +13,7 @@
|
|||
# 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 six
|
||||
|
||||
from fuelmenu.common import dialog
|
||||
from fuelmenu.common import network
|
||||
|
@ -63,16 +64,21 @@ class ModuleHelper(object):
|
|||
defaultsettings = Settings().read(modobj.parent.defaultsettingsfile)
|
||||
usersettings = Settings().read(modobj.parent.settingsfile)
|
||||
oldsettings = dict_merge(defaultsettings, usersettings)
|
||||
for setting in modobj.defaults.keys():
|
||||
if "label" in setting:
|
||||
continue
|
||||
elif ignoredparams and setting in ignoredparams:
|
||||
continue
|
||||
elif "/" in setting:
|
||||
part1, part2 = setting.split("/")
|
||||
modobj.defaults[setting]["value"] = oldsettings[part1][part2]
|
||||
else:
|
||||
modobj.defaults[setting]["value"] = oldsettings[setting]
|
||||
|
||||
types_to_skip = (WidgetType.BUTTON, WidgetType.LABEL)
|
||||
for setting, setting_def in six.iteritems(modobj.defaults):
|
||||
if (setting_def.get('type') in types_to_skip or
|
||||
ignoredparams and setting in ignoredparams):
|
||||
continue
|
||||
try:
|
||||
if "/" in setting:
|
||||
part1, part2 = setting.split("/")
|
||||
new_value = oldsettings[part1][part2]
|
||||
else:
|
||||
new_value = oldsettings[setting]
|
||||
setting_def["value"] = new_value
|
||||
except KeyError:
|
||||
log.warning("Failed to load %s value from settings", setting)
|
||||
return oldsettings
|
||||
|
||||
@classmethod
|
||||
|
|
Loading…
Reference in New Issue