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