Clean imports in code
This patch set modifies lines which are importing objects instead of modules. As per openstack import guide lines, user should import modules in a file not objects. http://docs.openstack.org/developer/hacking/#imports Change-Id: I62e9a6d895685c07ec87a5cc910c5036e05b4906
This commit is contained in:
parent
1da4d4f45c
commit
22a7eaaf2d
|
@ -19,8 +19,7 @@ import os
|
||||||
import netaddr
|
import netaddr
|
||||||
import netifaces
|
import netifaces
|
||||||
|
|
||||||
from fuelmenu.common.errors import BadIPException
|
from fuelmenu.common import errors
|
||||||
from fuelmenu.common.errors import NetworkException
|
|
||||||
from fuelmenu.common.utils import execute
|
from fuelmenu.common.utils import execute
|
||||||
|
|
||||||
log = logging.getLogger('fuelmenu.common.network')
|
log = logging.getLogger('fuelmenu.common.network')
|
||||||
|
@ -111,8 +110,8 @@ def list_host_ip_addresses(interfaces="all"):
|
||||||
# Skip if interface has no IP
|
# Skip if interface has no IP
|
||||||
continue
|
continue
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise NetworkException("Invalid specified interface: "
|
raise errors.NetworkException("Invalid specified interface: "
|
||||||
"{0}".format(iface))
|
"{0}".format(iface))
|
||||||
return ips
|
return ips
|
||||||
|
|
||||||
|
|
||||||
|
@ -121,7 +120,7 @@ def range(startip, endip):
|
||||||
try:
|
try:
|
||||||
return list(netaddr.iter_iprange(startip, endip))
|
return list(netaddr.iter_iprange(startip, endip))
|
||||||
except netaddr.AddrFormatError:
|
except netaddr.AddrFormatError:
|
||||||
raise BadIPException("Invalid IP address(es) specified.")
|
raise errors.BadIPException("Invalid IP address(es) specified.")
|
||||||
|
|
||||||
|
|
||||||
def intersects(range1, range2):
|
def intersects(range1, range2):
|
||||||
|
@ -186,13 +185,14 @@ def search_external_dhcp(iface, timeout):
|
||||||
log.debug('Unable to parse JSON.')
|
log.debug('Unable to parse JSON.')
|
||||||
return []
|
return []
|
||||||
except OSError:
|
except OSError:
|
||||||
raise NetworkException('Unable to check DHCP.')
|
raise errors.NetworkException('Unable to check DHCP.')
|
||||||
|
|
||||||
|
|
||||||
def upIface(iface):
|
def upIface(iface):
|
||||||
code, _, _ = execute(["ifconfig", iface, "up"])
|
code, _, _ = execute(["ifconfig", iface, "up"])
|
||||||
if code != 0:
|
if code != 0:
|
||||||
raise NetworkException("Failed to up interface {0}".format(iface))
|
raise errors.NetworkException(
|
||||||
|
"Failed to up interface {0}".format(iface))
|
||||||
|
|
||||||
|
|
||||||
def get_iface_info(iface, address_family=netifaces.AF_INET):
|
def get_iface_info(iface, address_family=netifaces.AF_INET):
|
||||||
|
|
|
@ -32,7 +32,7 @@ from fuelmenu import modules
|
||||||
from fuelmenu import settings as settings_module
|
from fuelmenu import settings as settings_module
|
||||||
|
|
||||||
|
|
||||||
from optparse import OptionParser
|
import optparse
|
||||||
import os
|
import os
|
||||||
import signal
|
import signal
|
||||||
import sys
|
import sys
|
||||||
|
@ -356,7 +356,7 @@ def main(*args, **kwargs):
|
||||||
default_iface = nic
|
default_iface = nic
|
||||||
break
|
break
|
||||||
|
|
||||||
parser = OptionParser()
|
parser = optparse.OptionParser()
|
||||||
parser.add_option("-s", "--save-only", dest="save_only",
|
parser.add_option("-s", "--save-only", dest="save_only",
|
||||||
action="store_true",
|
action="store_true",
|
||||||
help="Save default values and exit.")
|
help="Save default values and exit.")
|
||||||
|
|
|
@ -23,9 +23,7 @@ import urwid
|
||||||
import urwid.raw_display
|
import urwid.raw_display
|
||||||
import urwid.web_display
|
import urwid.web_display
|
||||||
|
|
||||||
from fuelmenu.common.modulehelper import BLANK_KEY
|
from fuelmenu.common import modulehelper
|
||||||
from fuelmenu.common.modulehelper import ModuleHelper
|
|
||||||
from fuelmenu.common.modulehelper import WidgetType
|
|
||||||
from fuelmenu.common import utils
|
from fuelmenu.common import utils
|
||||||
|
|
||||||
log = logging.getLogger('fuelmenu.mirrors')
|
log = logging.getLogger('fuelmenu.mirrors')
|
||||||
|
@ -52,15 +50,15 @@ class BootstrapImage(urwid.WidgetWrap):
|
||||||
self.header_content = ["Bootstrap image configuration"]
|
self.header_content = ["Bootstrap image configuration"]
|
||||||
|
|
||||||
self._common_fields = (
|
self._common_fields = (
|
||||||
BLANK_KEY,
|
modulehelper.BLANK_KEY,
|
||||||
BOOTSTRAP_SKIP_BUILD_KEY,
|
BOOTSTRAP_SKIP_BUILD_KEY,
|
||||||
)
|
)
|
||||||
|
|
||||||
self._repo_related_fields = (
|
self._repo_related_fields = (
|
||||||
BLANK_KEY,
|
modulehelper.BLANK_KEY,
|
||||||
BOOTSTRAP_HTTP_PROXY_KEY,
|
BOOTSTRAP_HTTP_PROXY_KEY,
|
||||||
BOOTSTRAP_HTTPS_PROXY_KEY,
|
BOOTSTRAP_HTTPS_PROXY_KEY,
|
||||||
BLANK_KEY,
|
modulehelper.BLANK_KEY,
|
||||||
BOOTSTRAP_REPOS_KEY,
|
BOOTSTRAP_REPOS_KEY,
|
||||||
ADD_REPO_BUTTON_KEY
|
ADD_REPO_BUTTON_KEY
|
||||||
)
|
)
|
||||||
|
@ -71,18 +69,18 @@ class BootstrapImage(urwid.WidgetWrap):
|
||||||
|
|
||||||
self.repo_value_scheme = {
|
self.repo_value_scheme = {
|
||||||
"name": {
|
"name": {
|
||||||
"type": WidgetType.TEXT_FIELD,
|
"type": modulehelper.WidgetType.TEXT_FIELD,
|
||||||
"label": "Name",
|
"label": "Name",
|
||||||
"tooltip": "Repository name"
|
"tooltip": "Repository name"
|
||||||
},
|
},
|
||||||
"uri": {
|
"uri": {
|
||||||
"type": WidgetType.TEXT_FIELD,
|
"type": modulehelper.WidgetType.TEXT_FIELD,
|
||||||
"label": "Deb repo",
|
"label": "Deb repo",
|
||||||
"tooltip": "Repo in format: "
|
"tooltip": "Repo in format: "
|
||||||
"deb uri distribution [component1] [...]"
|
"deb uri distribution [component1] [...]"
|
||||||
},
|
},
|
||||||
"priority": {
|
"priority": {
|
||||||
"type": WidgetType.TEXT_FIELD,
|
"type": modulehelper.WidgetType.TEXT_FIELD,
|
||||||
"label": "Priority",
|
"label": "Priority",
|
||||||
"tooltip": "Repository priority"
|
"tooltip": "Repository priority"
|
||||||
}
|
}
|
||||||
|
@ -92,7 +90,7 @@ class BootstrapImage(urwid.WidgetWrap):
|
||||||
BOOTSTRAP_SKIP_BUILD_KEY: {
|
BOOTSTRAP_SKIP_BUILD_KEY: {
|
||||||
"label": "Skip building bootstrap image",
|
"label": "Skip building bootstrap image",
|
||||||
"tooltip": "",
|
"tooltip": "",
|
||||||
"type": WidgetType.CHECKBOX,
|
"type": modulehelper.WidgetType.CHECKBOX,
|
||||||
"callback": self.skip_build_callback},
|
"callback": self.skip_build_callback},
|
||||||
BOOTSTRAP_HTTP_PROXY_KEY: {
|
BOOTSTRAP_HTTP_PROXY_KEY: {
|
||||||
"label": "HTTP proxy",
|
"label": "HTTP proxy",
|
||||||
|
@ -104,13 +102,13 @@ class BootstrapImage(urwid.WidgetWrap):
|
||||||
"value": ""},
|
"value": ""},
|
||||||
BOOTSTRAP_REPOS_KEY: {
|
BOOTSTRAP_REPOS_KEY: {
|
||||||
"label": "List of repositories",
|
"label": "List of repositories",
|
||||||
"type": WidgetType.LIST,
|
"type": modulehelper.WidgetType.LIST,
|
||||||
"value_scheme": self.repo_value_scheme,
|
"value_scheme": self.repo_value_scheme,
|
||||||
"value": self.repo_list
|
"value": self.repo_list
|
||||||
},
|
},
|
||||||
ADD_REPO_BUTTON_KEY: {
|
ADD_REPO_BUTTON_KEY: {
|
||||||
"label": "Add repository",
|
"label": "Add repository",
|
||||||
"type": WidgetType.BUTTON,
|
"type": modulehelper.WidgetType.BUTTON,
|
||||||
"callback": self.add_repo
|
"callback": self.add_repo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -121,7 +119,8 @@ class BootstrapImage(urwid.WidgetWrap):
|
||||||
def responses(self):
|
def responses(self):
|
||||||
ret = dict()
|
ret = dict()
|
||||||
for index, fieldname in enumerate(self.fields):
|
for index, fieldname in enumerate(self.fields):
|
||||||
if fieldname == BLANK_KEY or 'button' in fieldname.lower():
|
if (fieldname == modulehelper.BLANK_KEY or
|
||||||
|
'button' in fieldname.lower()):
|
||||||
pass
|
pass
|
||||||
elif fieldname == BOOTSTRAP_REPOS_KEY:
|
elif fieldname == BOOTSTRAP_REPOS_KEY:
|
||||||
ret[fieldname] = \
|
ret[fieldname] = \
|
||||||
|
@ -147,7 +146,7 @@ class BootstrapImage(urwid.WidgetWrap):
|
||||||
|
|
||||||
if errors:
|
if errors:
|
||||||
log.error("Errors: %s", errors)
|
log.error("Errors: %s", errors)
|
||||||
ModuleHelper.display_failed_check_dialog(self, errors)
|
modulehelper.ModuleHelper.display_failed_check_dialog(self, errors)
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
self.parent.footer.set_text("No errors found.")
|
self.parent.footer.set_text("No errors found.")
|
||||||
|
@ -202,7 +201,7 @@ class BootstrapImage(urwid.WidgetWrap):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def cancel(self, button):
|
def cancel(self, button):
|
||||||
ModuleHelper.cancel(self, button)
|
modulehelper.ModuleHelper.cancel(self, button)
|
||||||
|
|
||||||
def _get_repo_list_response(self, list_box):
|
def _get_repo_list_response(self, list_box):
|
||||||
# Here we assumed that we get object of WalkerStoredListBox
|
# Here we assumed that we get object of WalkerStoredListBox
|
||||||
|
@ -315,7 +314,8 @@ class BootstrapImage(urwid.WidgetWrap):
|
||||||
def _update_defaults(self, defaults, new_settings):
|
def _update_defaults(self, defaults, new_settings):
|
||||||
for setting in defaults:
|
for setting in defaults:
|
||||||
try:
|
try:
|
||||||
new_value = ModuleHelper.get_setting(new_settings, setting)
|
new_value = modulehelper.ModuleHelper.get_setting(
|
||||||
|
new_settings, setting)
|
||||||
if BOOTSTRAP_REPOS_KEY == setting:
|
if BOOTSTRAP_REPOS_KEY == setting:
|
||||||
defaults[setting]["value"] = \
|
defaults[setting]["value"] = \
|
||||||
self._parse_config_repo_list(new_value)
|
self._parse_config_repo_list(new_value)
|
||||||
|
@ -329,13 +329,14 @@ class BootstrapImage(urwid.WidgetWrap):
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
settings = self.parent.settings
|
settings = self.parent.settings
|
||||||
ModuleHelper.load_to_defaults(settings, self.defaults)
|
modulehelper.ModuleHelper.load_to_defaults(settings, self.defaults)
|
||||||
|
|
||||||
self._update_defaults(self.defaults, settings)
|
self._update_defaults(self.defaults, settings)
|
||||||
self._select_fields_to_show(self.defaults)
|
self._select_fields_to_show(self.defaults)
|
||||||
|
|
||||||
def save(self, responses):
|
def save(self, responses):
|
||||||
newsettings = ModuleHelper.make_settings_from_responses(responses)
|
newsettings = modulehelper.ModuleHelper.make_settings_from_responses(
|
||||||
|
responses)
|
||||||
self.parent.settings.merge(newsettings)
|
self.parent.settings.merge(newsettings)
|
||||||
|
|
||||||
# Update self.defaults
|
# Update self.defaults
|
||||||
|
@ -369,15 +370,16 @@ class BootstrapImage(urwid.WidgetWrap):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def _generate_screen_by_defaults(self, defaults):
|
def _generate_screen_by_defaults(self, defaults):
|
||||||
screen = ModuleHelper.screenUI(self, self.header_content, self.fields,
|
screen = modulehelper.ModuleHelper.screenUI(self, self.header_content,
|
||||||
defaults)
|
self.fields, defaults)
|
||||||
return screen
|
return screen
|
||||||
|
|
||||||
def _get_fresh_defaults(self):
|
def _get_fresh_defaults(self):
|
||||||
defaults = copy.copy(self.defaults)
|
defaults = copy.copy(self.defaults)
|
||||||
self._update_defaults(defaults,
|
self._update_defaults(
|
||||||
ModuleHelper.make_settings_from_responses(
|
defaults,
|
||||||
self.responses))
|
modulehelper.ModuleHelper.make_settings_from_responses(
|
||||||
|
self.responses))
|
||||||
return defaults
|
return defaults
|
||||||
|
|
||||||
def _redraw_screen(self, defaults=None, focus_position=None):
|
def _redraw_screen(self, defaults=None, focus_position=None):
|
||||||
|
|
|
@ -17,7 +17,7 @@ import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from fuelclient.cli import error
|
from fuelclient.cli import error
|
||||||
from fuelclient.objects import NetworkGroup
|
from fuelclient import objects
|
||||||
import netaddr
|
import netaddr
|
||||||
import urwid
|
import urwid
|
||||||
import urwid.raw_display
|
import urwid.raw_display
|
||||||
|
@ -25,9 +25,8 @@ import urwid.web_display
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from fuelmenu.common import dialog
|
from fuelmenu.common import dialog
|
||||||
from fuelmenu.common.errors import BadIPException
|
from fuelmenu.common import errors as f_errors
|
||||||
from fuelmenu.common.modulehelper import ModuleHelper
|
from fuelmenu.common import modulehelper
|
||||||
from fuelmenu.common.modulehelper import WidgetType
|
|
||||||
from fuelmenu.common import network
|
from fuelmenu.common import network
|
||||||
from fuelmenu.common import puppet
|
from fuelmenu.common import puppet
|
||||||
import fuelmenu.common.urwidwrapper as widget
|
import fuelmenu.common.urwidwrapper as widget
|
||||||
|
@ -80,7 +79,7 @@ to advertise via DHCP to nodes",
|
||||||
"value": "10.0.0.2"},
|
"value": "10.0.0.2"},
|
||||||
"dynamic_label": {"label": "DHCP pool for node discovery:",
|
"dynamic_label": {"label": "DHCP pool for node discovery:",
|
||||||
"tooltip": "",
|
"tooltip": "",
|
||||||
"type": WidgetType.LABEL},
|
"type": modulehelper.WidgetType.LABEL},
|
||||||
}
|
}
|
||||||
|
|
||||||
self.load()
|
self.load()
|
||||||
|
@ -182,9 +181,10 @@ interface first.")
|
||||||
dhcp_start = netaddr.IPAddress(
|
dhcp_start = netaddr.IPAddress(
|
||||||
responses["ADMIN_NETWORK/dhcp_pool_start"])
|
responses["ADMIN_NETWORK/dhcp_pool_start"])
|
||||||
if not dhcp_start:
|
if not dhcp_start:
|
||||||
raise BadIPException("Not a valid IP address")
|
raise f_errors.BadIPException(
|
||||||
|
"Not a valid IP address")
|
||||||
else:
|
else:
|
||||||
raise BadIPException("Not a valid IP address")
|
raise f_errors.BadIPException("Not a valid IP address")
|
||||||
except Exception:
|
except Exception:
|
||||||
errors.append("Invalid IP address for DHCP Pool Start")
|
errors.append("Invalid IP address for DHCP Pool Start")
|
||||||
try:
|
try:
|
||||||
|
@ -193,9 +193,11 @@ interface first.")
|
||||||
dhcp_gateway = netaddr.IPAddress(
|
dhcp_gateway = netaddr.IPAddress(
|
||||||
responses["ADMIN_NETWORK/dhcp_gateway"])
|
responses["ADMIN_NETWORK/dhcp_gateway"])
|
||||||
if not dhcp_gateway:
|
if not dhcp_gateway:
|
||||||
raise BadIPException("Not a valid IP address")
|
raise f_errors.BadIPException(
|
||||||
|
"Not a valid IP address")
|
||||||
else:
|
else:
|
||||||
raise BadIPException("Not a valid IP address")
|
raise f_errors.BadIPException(
|
||||||
|
"Not a valid IP address")
|
||||||
except Exception:
|
except Exception:
|
||||||
errors.append("Invalid IP address for DHCP Gateway")
|
errors.append("Invalid IP address for DHCP Gateway")
|
||||||
|
|
||||||
|
@ -205,9 +207,11 @@ interface first.")
|
||||||
dhcp_end = netaddr.IPAddress(
|
dhcp_end = netaddr.IPAddress(
|
||||||
responses["ADMIN_NETWORK/dhcp_pool_end"])
|
responses["ADMIN_NETWORK/dhcp_pool_end"])
|
||||||
if not dhcp_end:
|
if not dhcp_end:
|
||||||
raise BadIPException("Not a valid IP address")
|
raise f_errors.BadIPException(
|
||||||
|
"Not a valid IP address")
|
||||||
else:
|
else:
|
||||||
raise BadIPException("Not a valid IP address")
|
raise f_errors.BadIPException(
|
||||||
|
"Not a valid IP address")
|
||||||
except Exception:
|
except Exception:
|
||||||
errors.append("Invalid IP address for DHCP Pool end")
|
errors.append("Invalid IP address for DHCP Pool end")
|
||||||
|
|
||||||
|
@ -276,7 +280,7 @@ interface first.")
|
||||||
|
|
||||||
if len(errors) > 0:
|
if len(errors) > 0:
|
||||||
log.error("Errors: %s %s" % (len(errors), errors))
|
log.error("Errors: %s %s" % (len(errors), errors))
|
||||||
ModuleHelper.display_failed_check_dialog(self, errors)
|
modulehelper.ModuleHelper.display_failed_check_dialog(self, errors)
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
self.parent.footer.set_text("No errors found.")
|
self.parent.footer.set_text("No errors found.")
|
||||||
|
@ -302,7 +306,7 @@ interface first.")
|
||||||
else:
|
else:
|
||||||
result = self._update_dnsmasq(settings)
|
result = self._update_dnsmasq(settings)
|
||||||
if not result:
|
if not result:
|
||||||
ModuleHelper.display_dialog(
|
modulehelper.ModuleHelper.display_dialog(
|
||||||
self, error_msg=self.apply_dialog_message["message"],
|
self, error_msg=self.apply_dialog_message["message"],
|
||||||
title=self.apply_dialog_message["title"])
|
title=self.apply_dialog_message["title"])
|
||||||
return False
|
return False
|
||||||
|
@ -310,7 +314,7 @@ interface first.")
|
||||||
code, out, err = utils.execute(cobbler_sync)
|
code, out, err = utils.execute(cobbler_sync)
|
||||||
if code != 0:
|
if code != 0:
|
||||||
log.error(err)
|
log.error(err)
|
||||||
ModuleHelper.display_dialog(
|
modulehelper.ModuleHelper.display_dialog(
|
||||||
self, error_msg=self.apply_dialog_message["message"],
|
self, error_msg=self.apply_dialog_message["message"],
|
||||||
title=self.apply_dialog_message["title"])
|
title=self.apply_dialog_message["title"])
|
||||||
return False
|
return False
|
||||||
|
@ -326,7 +330,7 @@ interface first.")
|
||||||
# groups). Need to combine this calls
|
# groups). Need to combine this calls
|
||||||
result, msg = puppet.puppetApplyManifest(consts.PUPPET_NAILGUN)
|
result, msg = puppet.puppetApplyManifest(consts.PUPPET_NAILGUN)
|
||||||
if not result:
|
if not result:
|
||||||
ModuleHelper.display_dialog(
|
modulehelper.ModuleHelper.display_dialog(
|
||||||
self, error_msg=self.apply_dialog_message["message"],
|
self, error_msg=self.apply_dialog_message["message"],
|
||||||
title=self.apply_dialog_message["title"])
|
title=self.apply_dialog_message["title"])
|
||||||
return False
|
return False
|
||||||
|
@ -338,10 +342,10 @@ interface first.")
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
try:
|
try:
|
||||||
NetworkGroup(consts.ADMIN_NETWORK_ID).set(data)
|
objects.NetworkGroup(consts.ADMIN_NETWORK_ID).set(data)
|
||||||
except error.HTTPError as e:
|
except error.HTTPError as e:
|
||||||
log.error(e.message)
|
log.error(e.message)
|
||||||
ModuleHelper.display_dialog(
|
modulehelper.ModuleHelper.display_dialog(
|
||||||
self, error_msg=self.apply_dialog_message["message"],
|
self, error_msg=self.apply_dialog_message["message"],
|
||||||
title=self.apply_dialog_message["title"])
|
title=self.apply_dialog_message["title"])
|
||||||
return False
|
return False
|
||||||
|
@ -393,19 +397,20 @@ interface first.")
|
||||||
return puppet.puppetApply(puppet_classes)
|
return puppet.puppetApply(puppet_classes)
|
||||||
|
|
||||||
def cancel(self, button):
|
def cancel(self, button):
|
||||||
ModuleHelper.cancel(self, button)
|
modulehelper.ModuleHelper.cancel(self, button)
|
||||||
self.setNetworkDetails()
|
self.setNetworkDetails()
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
settings = self.parent.settings
|
settings = self.parent.settings
|
||||||
ModuleHelper.load_to_defaults(settings, self.defaults)
|
modulehelper.ModuleHelper.load_to_defaults(settings, self.defaults)
|
||||||
|
|
||||||
iface = settings.get("ADMIN_NETWORK", {}).get("interface")
|
iface = settings.get("ADMIN_NETWORK", {}).get("interface")
|
||||||
if iface in self.netsettings.keys():
|
if iface in self.netsettings.keys():
|
||||||
self.activeiface = iface
|
self.activeiface = iface
|
||||||
|
|
||||||
def save(self, responses):
|
def save(self, responses):
|
||||||
newsettings = ModuleHelper.make_settings_from_responses(responses)
|
newsettings = modulehelper.ModuleHelper.make_settings_from_responses(
|
||||||
|
responses)
|
||||||
|
|
||||||
# Need to calculate and netmask
|
# Need to calculate and netmask
|
||||||
newsettings['ADMIN_NETWORK']['netmask'] = \
|
newsettings['ADMIN_NETWORK']['netmask'] = \
|
||||||
|
@ -421,13 +426,13 @@ interface first.")
|
||||||
self.parent.footer.set_text("Changes saved successfully.")
|
self.parent.footer.set_text("Changes saved successfully.")
|
||||||
|
|
||||||
def getNetwork(self):
|
def getNetwork(self):
|
||||||
ModuleHelper.getNetwork(self)
|
modulehelper.ModuleHelper.getNetwork(self)
|
||||||
|
|
||||||
def getDHCP(self, iface):
|
def getDHCP(self, iface):
|
||||||
return ModuleHelper.getDHCP(iface)
|
return modulehelper.ModuleHelper.getDHCP(iface)
|
||||||
|
|
||||||
def get_default_gateway_linux(self):
|
def get_default_gateway_linux(self):
|
||||||
return ModuleHelper.get_default_gateway_linux()
|
return modulehelper.ModuleHelper.get_default_gateway_linux()
|
||||||
|
|
||||||
def radioSelect(self, current, state, user_data=None):
|
def radioSelect(self, current, state, user_data=None):
|
||||||
"""Update network details and display information."""
|
"""Update network details and display information."""
|
||||||
|
@ -519,5 +524,5 @@ interface first.")
|
||||||
self.setNetworkDetails()
|
self.setNetworkDetails()
|
||||||
|
|
||||||
def screenUI(self):
|
def screenUI(self):
|
||||||
return ModuleHelper.screenUI(self, self.header_content, self.fields,
|
return modulehelper.ModuleHelper.screenUI(self, self.header_content,
|
||||||
self.defaults)
|
self.fields, self.defaults)
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
from ctypes import cdll
|
from ctypes import cdll
|
||||||
from fuelmenu.common import dialog
|
from fuelmenu.common import dialog
|
||||||
from fuelmenu.common.modulehelper import ModuleHelper
|
from fuelmenu.common import modulehelper
|
||||||
from fuelmenu.common import network
|
from fuelmenu.common import network
|
||||||
from fuelmenu.common import replace
|
from fuelmenu.common import replace
|
||||||
import fuelmenu.common.urwidwrapper as widget
|
import fuelmenu.common.urwidwrapper as widget
|
||||||
|
@ -198,7 +198,7 @@ is accessible"}
|
||||||
|
|
||||||
if len(errors) > 0:
|
if len(errors) > 0:
|
||||||
log.error("Errors: %s %s" % (len(errors), errors))
|
log.error("Errors: %s %s" % (len(errors), errors))
|
||||||
ModuleHelper.display_failed_check_dialog(self, errors)
|
modulehelper.ModuleHelper.display_failed_check_dialog(self, errors)
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
self.parent.footer.set_text("No errors found.")
|
self.parent.footer.set_text("No errors found.")
|
||||||
|
@ -284,7 +284,7 @@ is accessible"}
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def cancel(self, button):
|
def cancel(self, button):
|
||||||
ModuleHelper.cancel(self, button)
|
modulehelper.ModuleHelper.cancel(self, button)
|
||||||
|
|
||||||
def resolv_conf_settings(self):
|
def resolv_conf_settings(self):
|
||||||
# Parse /etc/resolv.conf if it contains data
|
# Parse /etc/resolv.conf if it contains data
|
||||||
|
@ -316,9 +316,9 @@ is accessible"}
|
||||||
if not self.parent.save_only:
|
if not self.parent.save_only:
|
||||||
oldsettings.update(self.resolv_conf_settings())
|
oldsettings.update(self.resolv_conf_settings())
|
||||||
|
|
||||||
ModuleHelper.load_to_defaults(oldsettings,
|
modulehelper.ModuleHelper.load_to_defaults(oldsettings,
|
||||||
self.defaults,
|
self.defaults,
|
||||||
ignoredparams=['TEST_DNS'])
|
ignoredparams=['TEST_DNS'])
|
||||||
|
|
||||||
def getDNS(self, resolver="/etc/resolv.conf"):
|
def getDNS(self, resolver="/etc/resolv.conf"):
|
||||||
nameservers = []
|
nameservers = []
|
||||||
|
@ -347,7 +347,8 @@ is accessible"}
|
||||||
return searches, domain, ",".join(nameservers)
|
return searches, domain, ",".join(nameservers)
|
||||||
|
|
||||||
def save(self, responses):
|
def save(self, responses):
|
||||||
newsettings = ModuleHelper.make_settings_from_responses(responses)
|
newsettings = modulehelper.ModuleHelper.make_settings_from_responses(
|
||||||
|
responses)
|
||||||
self.parent.settings.merge(newsettings)
|
self.parent.settings.merge(newsettings)
|
||||||
|
|
||||||
# Update self.defaults
|
# Update self.defaults
|
||||||
|
@ -365,13 +366,13 @@ is accessible"}
|
||||||
return code == 0
|
return code == 0
|
||||||
|
|
||||||
def getNetwork(self):
|
def getNetwork(self):
|
||||||
ModuleHelper.getNetwork(self)
|
modulehelper.ModuleHelper.getNetwork(self)
|
||||||
|
|
||||||
def getDHCP(self, iface):
|
def getDHCP(self, iface):
|
||||||
return ModuleHelper.getDHCP(iface)
|
return modulehelper.ModuleHelper.getDHCP(iface)
|
||||||
|
|
||||||
def get_default_gateway_linux(self):
|
def get_default_gateway_linux(self):
|
||||||
return ModuleHelper.get_default_gateway_linux()
|
return modulehelper.ModuleHelper.get_default_gateway_linux()
|
||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
if self.parent.dns_might_have_changed:
|
if self.parent.dns_might_have_changed:
|
||||||
|
@ -382,5 +383,6 @@ is accessible"}
|
||||||
self.parent.dns_might_have_changed = False
|
self.parent.dns_might_have_changed = False
|
||||||
|
|
||||||
def screenUI(self):
|
def screenUI(self):
|
||||||
return ModuleHelper.screenUI(self, self.header_content, self.fields,
|
return modulehelper.ModuleHelper.screenUI(self, self.header_content,
|
||||||
self.defaults, show_all_buttons=True)
|
self.fields, self.defaults,
|
||||||
|
show_all_buttons=True)
|
||||||
|
|
|
@ -17,8 +17,7 @@ import logging
|
||||||
|
|
||||||
import urwid
|
import urwid
|
||||||
|
|
||||||
from fuelmenu.common.modulehelper import ModuleHelper
|
from fuelmenu.common import modulehelper
|
||||||
from fuelmenu.common.modulehelper import WidgetType
|
|
||||||
from fuelmenu.common import puppet
|
from fuelmenu.common import puppet
|
||||||
from fuelmenu.common import utils
|
from fuelmenu.common import utils
|
||||||
from fuelmenu import consts
|
from fuelmenu import consts
|
||||||
|
@ -47,12 +46,12 @@ class FeatureGroups(urwid.WidgetWrap):
|
||||||
"FEATURE_GROUPS/experimental": {
|
"FEATURE_GROUPS/experimental": {
|
||||||
"label": "Experimental features",
|
"label": "Experimental features",
|
||||||
"tooltip": "(not thoroughly tested)",
|
"tooltip": "(not thoroughly tested)",
|
||||||
"type": WidgetType.CHECKBOX,
|
"type": modulehelper.WidgetType.CHECKBOX,
|
||||||
},
|
},
|
||||||
"FEATURE_GROUPS/advanced": {
|
"FEATURE_GROUPS/advanced": {
|
||||||
"label": "Advanced features",
|
"label": "Advanced features",
|
||||||
"tooltip": "",
|
"tooltip": "",
|
||||||
"type": WidgetType.CHECKBOX,
|
"type": modulehelper.WidgetType.CHECKBOX,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.load()
|
self.load()
|
||||||
|
@ -125,11 +124,12 @@ class FeatureGroups(urwid.WidgetWrap):
|
||||||
return newsettings
|
return newsettings
|
||||||
|
|
||||||
def cancel(self, button):
|
def cancel(self, button):
|
||||||
ModuleHelper.cancel(self, button)
|
modulehelper.ModuleHelper.cancel(self, button)
|
||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def screenUI(self):
|
def screenUI(self):
|
||||||
return ModuleHelper.screenUI(self, self.header_content, self.fields,
|
return modulehelper.ModuleHelper.screenUI(self, self.header_content,
|
||||||
self.defaults, show_all_buttons=True)
|
self.fields, self.defaults,
|
||||||
|
show_all_buttons=True)
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from fuelmenu.common.modulehelper import ModuleHelper
|
from fuelmenu.common import modulehelper
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
import urwid
|
import urwid
|
||||||
|
@ -110,7 +110,7 @@ class FuelUser(urwid.WidgetWrap):
|
||||||
|
|
||||||
if len(errors) > 0:
|
if len(errors) > 0:
|
||||||
log.error("Errors: %s %s" % (len(errors), errors))
|
log.error("Errors: %s %s" % (len(errors), errors))
|
||||||
ModuleHelper.display_failed_check_dialog(self, errors)
|
modulehelper.ModuleHelper.display_failed_check_dialog(self, errors)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if len(warnings) > 0:
|
if len(warnings) > 0:
|
||||||
|
@ -134,7 +134,8 @@ class FuelUser(urwid.WidgetWrap):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def save(self, responses):
|
def save(self, responses):
|
||||||
newsettings = ModuleHelper.make_settings_from_responses(responses)
|
newsettings = modulehelper.ModuleHelper.make_settings_from_responses(
|
||||||
|
responses)
|
||||||
self.parent.settings.merge(newsettings)
|
self.parent.settings.merge(newsettings)
|
||||||
|
|
||||||
self.parent.footer.set_text("Changes applied successfully.")
|
self.parent.footer.set_text("Changes applied successfully.")
|
||||||
|
@ -142,17 +143,17 @@ class FuelUser(urwid.WidgetWrap):
|
||||||
self.cancel(None)
|
self.cancel(None)
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
ModuleHelper.load_to_defaults(
|
modulehelper.ModuleHelper.load_to_defaults(
|
||||||
self.parent.settings,
|
self.parent.settings,
|
||||||
self.defaults,
|
self.defaults,
|
||||||
ignoredparams=['CONFIRM_PASSWORD'])
|
ignoredparams=['CONFIRM_PASSWORD'])
|
||||||
|
|
||||||
def cancel(self, button):
|
def cancel(self, button):
|
||||||
ModuleHelper.cancel(self, button)
|
modulehelper.ModuleHelper.cancel(self, button)
|
||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def screenUI(self):
|
def screenUI(self):
|
||||||
return ModuleHelper.screenUI(self, self.header_content, self.fields,
|
return modulehelper.ModuleHelper.screenUI(self, self.header_content,
|
||||||
self.defaults)
|
self.fields, self.defaults)
|
||||||
|
|
|
@ -20,10 +20,8 @@ import six
|
||||||
import socket
|
import socket
|
||||||
import urwid
|
import urwid
|
||||||
|
|
||||||
from fuelmenu.common.errors import BadIPException
|
from fuelmenu.common import errors as f_errors
|
||||||
from fuelmenu.common.errors import NetworkException
|
from fuelmenu.common import modulehelper
|
||||||
from fuelmenu.common.modulehelper import ModuleHelper
|
|
||||||
from fuelmenu.common.modulehelper import WidgetType
|
|
||||||
from fuelmenu.common import network
|
from fuelmenu.common import network
|
||||||
from fuelmenu.common import puppet
|
from fuelmenu.common import puppet
|
||||||
from fuelmenu.common import replace
|
from fuelmenu.common import replace
|
||||||
|
@ -68,11 +66,11 @@ class Interfaces(urwid.WidgetWrap):
|
||||||
"value": "locked"},
|
"value": "locked"},
|
||||||
"onboot": {"label": "Enable interface:",
|
"onboot": {"label": "Enable interface:",
|
||||||
"tooltip": "",
|
"tooltip": "",
|
||||||
"type": WidgetType.RADIO,
|
"type": modulehelper.WidgetType.RADIO,
|
||||||
"callback": self.radioSelect},
|
"callback": self.radioSelect},
|
||||||
"bootproto": {"label": "Configuration via DHCP:",
|
"bootproto": {"label": "Configuration via DHCP:",
|
||||||
"tooltip": "",
|
"tooltip": "",
|
||||||
"type": WidgetType.RADIO,
|
"type": modulehelper.WidgetType.RADIO,
|
||||||
"choices": ["Static", "DHCP"],
|
"choices": ["Static", "DHCP"],
|
||||||
"callback": self.radioSelect},
|
"callback": self.radioSelect},
|
||||||
"ipaddr": {"label": "IP address:",
|
"ipaddr": {"label": "IP address:",
|
||||||
|
@ -175,40 +173,42 @@ class Interfaces(urwid.WidgetWrap):
|
||||||
try:
|
try:
|
||||||
if netaddr.valid_ipv4(responses["ipaddr"]):
|
if netaddr.valid_ipv4(responses["ipaddr"]):
|
||||||
if not netaddr.IPAddress(responses["ipaddr"]):
|
if not netaddr.IPAddress(responses["ipaddr"]):
|
||||||
raise BadIPException("Not a valid IP address")
|
raise f_errors.BadIPException("Not a valid IP address")
|
||||||
else:
|
else:
|
||||||
raise BadIPException("Not a valid IP address")
|
raise f_errors.BadIPException("Not a valid IP address")
|
||||||
except (BadIPException, Exception):
|
except (f_errors.BadIPException, Exception):
|
||||||
errors.append("Not a valid IP address: %s" %
|
errors.append("Not a valid IP address: %s" %
|
||||||
responses["ipaddr"])
|
responses["ipaddr"])
|
||||||
try:
|
try:
|
||||||
if netaddr.valid_ipv4(responses["netmask"]):
|
if netaddr.valid_ipv4(responses["netmask"]):
|
||||||
netmask = netaddr.IPAddress(responses["netmask"])
|
netmask = netaddr.IPAddress(responses["netmask"])
|
||||||
if netmask.is_netmask is False:
|
if netmask.is_netmask is False:
|
||||||
raise BadIPException("Not a valid IP address")
|
raise f_errors.BadIPException("Not a valid IP address")
|
||||||
else:
|
else:
|
||||||
raise BadIPException("Not a valid IP address")
|
raise f_errors.BadIPException("Not a valid IP address")
|
||||||
except (BadIPException, Exception):
|
except (f_errors.BadIPException, Exception):
|
||||||
errors.append("Not a valid netmask: %s" % responses["netmask"])
|
errors.append("Not a valid netmask: %s" % responses["netmask"])
|
||||||
try:
|
try:
|
||||||
if len(responses["gateway"]) > 0:
|
if len(responses["gateway"]) > 0:
|
||||||
# Check if gateway is valid
|
# Check if gateway is valid
|
||||||
if netaddr.valid_ipv4(responses["gateway"]) is False:
|
if netaddr.valid_ipv4(responses["gateway"]) is False:
|
||||||
raise BadIPException("Gateway IP address is not valid")
|
raise f_errors.BadIPException(
|
||||||
|
"Gateway IP address is not valid")
|
||||||
# Check if gateway is in same subnet
|
# Check if gateway is in same subnet
|
||||||
if network.inSameSubnet(responses["ipaddr"],
|
if network.inSameSubnet(responses["ipaddr"],
|
||||||
responses["gateway"],
|
responses["gateway"],
|
||||||
responses["netmask"]) is False:
|
responses["netmask"]) is False:
|
||||||
raise BadIPException("Gateway IP is not in same "
|
raise f_errors.BadIPException(
|
||||||
"subnet as IP address")
|
"Gateway IP is not in same "
|
||||||
except (BadIPException, Exception) as e:
|
"subnet as IP address")
|
||||||
|
except (f_errors.BadIPException, Exception) as e:
|
||||||
errors.append(e)
|
errors.append(e)
|
||||||
self.parent.footer.set_text("Scanning for duplicate IP address..")
|
self.parent.footer.set_text("Scanning for duplicate IP address..")
|
||||||
if len(responses["ipaddr"]) > 0:
|
if len(responses["ipaddr"]) > 0:
|
||||||
if self.netsettings[self.activeiface]['link'].upper() != "UP":
|
if self.netsettings[self.activeiface]['link'].upper() != "UP":
|
||||||
try:
|
try:
|
||||||
network.upIface(self.activeiface)
|
network.upIface(self.activeiface)
|
||||||
except NetworkException as e:
|
except f_errors.NetworkException as e:
|
||||||
errors.append("Cannot activate {0} to check for "
|
errors.append("Cannot activate {0} to check for "
|
||||||
"duplicate IP.".format(self.activeiface))
|
"duplicate IP.".format(self.activeiface))
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ class Interfaces(urwid.WidgetWrap):
|
||||||
responses["ipaddr"]))
|
responses["ipaddr"]))
|
||||||
if len(errors) > 0:
|
if len(errors) > 0:
|
||||||
self.log.error("Errors: %s %s" % (len(errors), errors))
|
self.log.error("Errors: %s %s" % (len(errors), errors))
|
||||||
ModuleHelper.display_failed_check_dialog(self, errors)
|
modulehelper.ModuleHelper.display_failed_check_dialog(self, errors)
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
self.parent.footer.set_text("No errors found.")
|
self.parent.footer.set_text("No errors found.")
|
||||||
|
@ -308,7 +308,7 @@ class Interfaces(urwid.WidgetWrap):
|
||||||
result = puppet.puppetApply(puppetclasses)
|
result = puppet.puppetApply(puppetclasses)
|
||||||
if not result:
|
if not result:
|
||||||
raise Exception("Puppet apply failed")
|
raise Exception("Puppet apply failed")
|
||||||
ModuleHelper.getNetwork(self)
|
modulehelper.ModuleHelper.getNetwork(self)
|
||||||
gateway = self.get_default_gateway_linux()
|
gateway = self.get_default_gateway_linux()
|
||||||
if gateway is None:
|
if gateway is None:
|
||||||
gateway = ""
|
gateway = ""
|
||||||
|
@ -320,23 +320,23 @@ class Interfaces(urwid.WidgetWrap):
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
self.parent.footer.set_text("Error applying changes. Check logs "
|
self.parent.footer.set_text("Error applying changes. Check logs "
|
||||||
"for details.")
|
"for details.")
|
||||||
ModuleHelper.getNetwork(self)
|
modulehelper.ModuleHelper.getNetwork(self)
|
||||||
self.setNetworkDetails()
|
self.setNetworkDetails()
|
||||||
return False
|
return False
|
||||||
self.parent.footer.set_text("Changes successfully applied.")
|
self.parent.footer.set_text("Changes successfully applied.")
|
||||||
ModuleHelper.getNetwork(self)
|
modulehelper.ModuleHelper.getNetwork(self)
|
||||||
self.setNetworkDetails()
|
self.setNetworkDetails()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def getNetwork(self):
|
def getNetwork(self):
|
||||||
ModuleHelper.getNetwork(self)
|
modulehelper.ModuleHelper.getNetwork(self)
|
||||||
|
|
||||||
def getDHCP(self, iface):
|
def getDHCP(self, iface):
|
||||||
return ModuleHelper.getDHCP(iface)
|
return modulehelper.ModuleHelper.getDHCP(iface)
|
||||||
|
|
||||||
def get_default_gateway_linux(self):
|
def get_default_gateway_linux(self):
|
||||||
return ModuleHelper.get_default_gateway_linux()
|
return modulehelper.ModuleHelper.get_default_gateway_linux()
|
||||||
|
|
||||||
def radioSelectIface(self, current, state, user_data=None):
|
def radioSelectIface(self, current, state, user_data=None):
|
||||||
"""Update network details and display information."""
|
"""Update network details and display information."""
|
||||||
|
@ -350,7 +350,7 @@ class Interfaces(urwid.WidgetWrap):
|
||||||
if rb.base_widget.state is True:
|
if rb.base_widget.state is True:
|
||||||
self.activeiface = rb.base_widget.get_label()
|
self.activeiface = rb.base_widget.get_label()
|
||||||
break
|
break
|
||||||
ModuleHelper.getNetwork(self)
|
modulehelper.ModuleHelper.getNetwork(self)
|
||||||
self.setNetworkDetails()
|
self.setNetworkDetails()
|
||||||
|
|
||||||
def radioSelect(self, current, state, user_data=None):
|
def radioSelect(self, current, state, user_data=None):
|
||||||
|
@ -424,13 +424,15 @@ class Interfaces(urwid.WidgetWrap):
|
||||||
self.edits[index].set_edit_text("")
|
self.edits[index].set_edit_text("")
|
||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
ModuleHelper.getNetwork(self)
|
modulehelper.ModuleHelper.getNetwork(self)
|
||||||
self.setNetworkDetails()
|
self.setNetworkDetails()
|
||||||
|
|
||||||
def cancel(self, button):
|
def cancel(self, button):
|
||||||
ModuleHelper.cancel(self, button)
|
modulehelper.ModuleHelper.cancel(self, button)
|
||||||
self.setNetworkDetails()
|
self.setNetworkDetails()
|
||||||
|
|
||||||
def screenUI(self):
|
def screenUI(self):
|
||||||
return ModuleHelper.screenUI(self, self.header_content, self.fields,
|
return modulehelper.ModuleHelper.screenUI(self, self.header_content,
|
||||||
self.defaults, show_all_buttons=True)
|
self.fields,
|
||||||
|
self.defaults,
|
||||||
|
show_all_buttons=True)
|
||||||
|
|
|
@ -14,8 +14,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from fuelmenu.common import dialog
|
from fuelmenu.common import dialog
|
||||||
from fuelmenu.common.modulehelper import ModuleHelper
|
from fuelmenu.common import modulehelper
|
||||||
from fuelmenu.common.modulehelper import WidgetType
|
|
||||||
import fuelmenu.common.urwidwrapper as widget
|
import fuelmenu.common.urwidwrapper as widget
|
||||||
from fuelmenu.common import utils
|
from fuelmenu.common import utils
|
||||||
import logging
|
import logging
|
||||||
|
@ -45,7 +44,7 @@ class NtpSetup(urwid.WidgetWrap):
|
||||||
{
|
{
|
||||||
"ntpenabled": {"label": "Enable NTP:",
|
"ntpenabled": {"label": "Enable NTP:",
|
||||||
"tooltip": "",
|
"tooltip": "",
|
||||||
"type": WidgetType.RADIO,
|
"type": modulehelper.WidgetType.RADIO,
|
||||||
"callback": self.radioSelect},
|
"callback": self.radioSelect},
|
||||||
"NTP1": {"label": "NTP Server 1:",
|
"NTP1": {"label": "NTP Server 1:",
|
||||||
"tooltip": "NTP Server for time synchronization",
|
"tooltip": "NTP Server for time synchronization",
|
||||||
|
@ -124,7 +123,7 @@ class NtpSetup(urwid.WidgetWrap):
|
||||||
% self.defaults[ntpfield]['label'])
|
% self.defaults[ntpfield]['label'])
|
||||||
if len(errors) > 0:
|
if len(errors) > 0:
|
||||||
log.error("Errors: %s %s" % (len(errors), errors))
|
log.error("Errors: %s %s" % (len(errors), errors))
|
||||||
ModuleHelper.display_failed_check_dialog(self, errors)
|
modulehelper.ModuleHelper.display_failed_check_dialog(self, errors)
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
if len(warnings) > 0:
|
if len(warnings) > 0:
|
||||||
|
@ -160,18 +159,19 @@ class NtpSetup(urwid.WidgetWrap):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def cancel(self, button):
|
def cancel(self, button):
|
||||||
ModuleHelper.cancel(self, button)
|
modulehelper.ModuleHelper.cancel(self, button)
|
||||||
|
|
||||||
def get_default_gateway_linux(self):
|
def get_default_gateway_linux(self):
|
||||||
return ModuleHelper.get_default_gateway_linux()
|
return modulehelper.ModuleHelper.get_default_gateway_linux()
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
ModuleHelper.load_to_defaults(
|
modulehelper.ModuleHelper.load_to_defaults(
|
||||||
self.parent.settings, self.defaults, ignoredparams=['ntpenabled'])
|
self.parent.settings, self.defaults, ignoredparams=['ntpenabled'])
|
||||||
|
|
||||||
def save(self, responses):
|
def save(self, responses):
|
||||||
settings = self.parent.settings
|
settings = self.parent.settings
|
||||||
newsettings = ModuleHelper.make_settings_from_responses(responses)
|
newsettings = modulehelper.ModuleHelper.make_settings_from_responses(
|
||||||
|
responses)
|
||||||
settings.merge(newsettings)
|
settings.merge(newsettings)
|
||||||
|
|
||||||
# Update defaults
|
# Update defaults
|
||||||
|
@ -210,5 +210,5 @@ class NtpSetup(urwid.WidgetWrap):
|
||||||
break
|
break
|
||||||
|
|
||||||
def screenUI(self):
|
def screenUI(self):
|
||||||
return ModuleHelper.screenUI(self, self.header_content, self.fields,
|
return modulehelper.ModuleHelper.screenUI(self, self.header_content,
|
||||||
self.defaults)
|
self.fields, self.defaults)
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from fuelmenu.common.modulehelper import ModuleHelper
|
from fuelmenu.common import modulehelper
|
||||||
import fuelmenu.common.urwidwrapper as widget
|
import fuelmenu.common.urwidwrapper as widget
|
||||||
import time
|
import time
|
||||||
import urwid
|
import urwid
|
||||||
|
@ -66,5 +66,6 @@ class SaveAndQuit(object):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def screenUI(self):
|
def screenUI(self):
|
||||||
return ModuleHelper.screenUI(self, self.header_content, self.fields,
|
return modulehelper.ModuleHelper.screenUI(self, self.header_content,
|
||||||
self.defaults, buttons_visible=False)
|
self.fields, self.defaults,
|
||||||
|
buttons_visible=False)
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from fuelmenu.common.modulehelper import ModuleHelper
|
from fuelmenu.common import modulehelper
|
||||||
from fuelmenu.common import pwgen
|
from fuelmenu.common import pwgen
|
||||||
import logging
|
import logging
|
||||||
import urwid
|
import urwid
|
||||||
|
@ -142,10 +142,12 @@ class ServicePasswords(urwid.WidgetWrap):
|
||||||
self.save(responses)
|
self.save(responses)
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
ModuleHelper.load_to_defaults(self.parent.settings, self.defaults)
|
modulehelper.ModuleHelper.load_to_defaults(self.parent.settings,
|
||||||
|
self.defaults)
|
||||||
|
|
||||||
def save(self, responses):
|
def save(self, responses):
|
||||||
newsettings = ModuleHelper.make_settings_from_responses(responses)
|
newsettings = modulehelper.ModuleHelper.make_settings_from_responses(
|
||||||
|
responses)
|
||||||
self.parent.settings.merge(newsettings)
|
self.parent.settings.merge(newsettings)
|
||||||
log.debug('done saving servicepws')
|
log.debug('done saving servicepws')
|
||||||
|
|
||||||
|
@ -155,11 +157,11 @@ class ServicePasswords(urwid.WidgetWrap):
|
||||||
self.defaults[fieldname]['value'] = newsettings[fieldname]
|
self.defaults[fieldname]['value'] = newsettings[fieldname]
|
||||||
|
|
||||||
def cancel(self, button):
|
def cancel(self, button):
|
||||||
ModuleHelper.cancel(self, button)
|
modulehelper.ModuleHelper.cancel(self, button)
|
||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def screenUI(self):
|
def screenUI(self):
|
||||||
return ModuleHelper.screenUI(self, self.header_content, self.fields,
|
return modulehelper.ModuleHelper.screenUI(self, self.header_content,
|
||||||
self.defaults)
|
self.fields, self.defaults)
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from fuelmenu.common.modulehelper import ModuleHelper
|
from fuelmenu.common import modulehelper
|
||||||
import fuelmenu.common.urwidwrapper as widget
|
import fuelmenu.common.urwidwrapper as widget
|
||||||
import subprocess
|
import subprocess
|
||||||
import urwid
|
import urwid
|
||||||
|
@ -53,5 +53,6 @@ class Shell(object):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def screenUI(self):
|
def screenUI(self):
|
||||||
return ModuleHelper.screenUI(self, self.header_content, self.fields,
|
return modulehelper.ModuleHelper.screenUI(self, self.header_content,
|
||||||
self.defaults, buttons_visible=False)
|
self.fields, self.defaults,
|
||||||
|
buttons_visible=False)
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
import collections
|
import collections
|
||||||
import copy
|
import copy
|
||||||
import logging
|
import logging
|
||||||
from string import Template
|
import string
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
@ -130,7 +130,7 @@ class Settings(OrderedDict):
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
with open(settings_file) as infile:
|
with open(settings_file) as infile:
|
||||||
settings = yaml.load(Template(
|
settings = yaml.load(string.Template(
|
||||||
infile.read()).safe_substitute(template_kwargs or {}))
|
infile.read()).safe_substitute(template_kwargs or {}))
|
||||||
|
|
||||||
self.merge(settings)
|
self.merge(settings)
|
||||||
|
|
Loading…
Reference in New Issue