Ryan Barry has uploaded a new change for review. Change subject: Clean up the autoinstaller ......................................................................
Clean up the autoinstaller Don't use wildcard imports, make it pass linters. Move all imports from the old codebase away from the top, and try to limit what they pull in, so there's less magic and unseen logic in the code Change-Id: I52f19c251500ac2a75fa3cc4b0edbf7640fc5249 Signed-off-by: Ryan Barry <[email protected]> --- M scripts/ovirt-auto-install.py 1 file changed, 29 insertions(+), 31 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-node refs/changes/29/36229/1 diff --git a/scripts/ovirt-auto-install.py b/scripts/ovirt-auto-install.py index 66f6c9e..44b2aaf 100755 --- a/scripts/ovirt-auto-install.py +++ b/scripts/ovirt-auto-install.py @@ -18,21 +18,18 @@ # MA 02110-1301, USA. A copy of the GNU General Public License is # also available at http://www.gnu.org/copyleft/gpl.html. -from ovirtnode.ovirtfunctions import * -from ovirtnode.storage import * -from ovirtnode.install import * -from ovirtnode.network import * -from ovirtnode.log import * from ovirt.node.utils.console import TransactionProgress -from ovirt.node.utils import system -from ovirt.node.utils import security, storage, hooks +from ovirt.node.utils import hooks, process, Transaction from ovirt.node.config import defaults from ovirt.node.utils.system import which, kernel_cmdline_arguments, \ SystemRelease +from ovirt.node.utils.fs import Config, File import logging import sys import os import time + +OVIRT_VARS = defaults.NodeConfigFile().get_dict() class PrepareInstallation(Transaction.Element): @@ -46,6 +43,7 @@ title = "Configuring network" def commit(self): + from ovirtnode.network import build_network_auto_transaction build_network_auto_transaction().run() @@ -53,16 +51,15 @@ title = "Performing automatic disk partitioning" def commit(self): + from ovirtnode.storage import storage_auto if storage_auto(): # store /etc/shadow if adminpw/rootpw are set, # handled already in ovirt-early - file = open("/proc/cmdline") - args = file.read() + args = File("/proc/cmdline").read() if "adminpw" in args or "rootpw" in args: print "Storing /etc/shadow" - ovirt_store_config("/etc/passwd") - ovirt_store_config("/etc/shadow") - file.close() + Config().persist("/etc/passwd") + Config().persist("/etc/shadow") else: raise RuntimeError("Automatic installation failed. " + "Please review /var/log/ovirt.log") @@ -72,16 +69,16 @@ title = "Enabling SSH password authentication" def commit(self): + from ovirt.node.utils import AugeasWrapper + aug = AugeasWrapper() if OVIRT_VARS["OVIRT_SSH_PWAUTH"] == "yes": - augtool("set", - "/files/etc/ssh/sshd_config/PasswordAuthentication", + aug.set("/files/etc/ssh/sshd_config/PasswordAuthentication", "yes") elif OVIRT_VARS["OVIRT_SSH_PWAUTH"] == "no": - augtool("set", - "/files/etc/ssh/sshd_config/PasswordAuthentication", + aug.set("/files/etc/ssh/sshd_config/PasswordAuthentication", "no") - ovirt_store_config("/etc/ssh/sshd_config") - system_closefds("service sshd restart &> /dev/null") + Config().persist("/etc/ssh/sshd_config") + process.call("service sshd restart &> /dev/null", shell=True) class SetKeyboardLayout(Transaction.Element): @@ -94,7 +91,7 @@ tx = model.transaction() tx() except: - logger.warning("Unknown keyboard layout: %s" % \ + logger.warning("Unknown keyboard layout: %s" % OVIRT_VARS["OVIRT_KEYBOARD_LAYOUT"]) @@ -108,7 +105,7 @@ tx = model.transaction() tx() except: - logger.warning("Unknown ssh strong RNG: %s" % \ + logger.warning("Unknown ssh strong RNG: %s" % OVIRT_VARS["OVIRT_USE_STRONG_RNG"]) @@ -122,7 +119,7 @@ tx = model.transaction() tx() except: - logger.warning("Unknown ssh AES NI: %s" % \ + logger.warning("Unknown ssh AES NI: %s" % OVIRT_VARS["OVIRT_DISABLE_AES_NI"]) @@ -136,7 +133,7 @@ tx = model.transaction() tx() except: - logger.warning("Unknown NFSv4 domain: %s" % \ + logger.warning("Unknown NFSv4 domain: %s" % OVIRT_VARS["OVIRT_NFSV4_DOMAIN"]) @@ -144,7 +141,8 @@ title = "Configuring Logging" def commit(self): - logging_auto() + from ovirtnode import log + log.logging_auto() class ConfigureCollectd(Transaction.Element): @@ -189,9 +187,9 @@ except: kdump_args = ["OVIRT_KDUMP_SSH", "OVIRT_KDUMP_SSH_KEY", "OVIRT_KDUMP_NFS", "OVIRT_KDUMP_LOCAL"] - logger.warning("Unknown kdump configuration: %s" % \ - " ".join([x for x in kdump_args if \ - x in OVIRT_VARS])) + logger.warning("Unknown kdump configuration: %s" % + " ".join([x for x in kdump_args if + x in OVIRT_VARS])) class InstallBootloader(Transaction.Element): @@ -241,26 +239,26 @@ if not is_iscsi_install(): tx.append(ConfigureNetworking()) - #set ssh_passwd_auth + # set ssh_passwd_auth if "OVIRT_SSH_PWAUTH" in OVIRT_VARS: tx.append(EnableSshPasswordAuthentication()) - #set keyboard_layout + # set keyboard_layout if "OVIRT_KEYBOARD_LAYOUT" in OVIRT_VARS and \ not OVIRT_VARS["OVIRT_KEYBOARD_LAYOUT"] is "": tx.append(SetKeyboardLayout()) - #set ssh strong RHG + # set ssh strong RHG if "OVIRT_USE_STRONG_RNG" in OVIRT_VARS and \ not OVIRT_VARS["OVIRT_USE_STRONG_RNG"] is "": tx.append(ConfigureStrongRNG()) - #set ssh AES NI + # set ssh AES NI if "OVIRT_DISABLE_AES_NI" in OVIRT_VARS and \ OVIRT_VARS["OVIRT_DISABLE_AES_NI"] == "true": tx.append(ConfigureAESNI()) - #set NFSv4 domain + # set NFSv4 domain if "OVIRT_NFSV4_DOMAIN" in OVIRT_VARS and \ not OVIRT_VARS["OVIRT_NFSV4_DOMAIN"] is "": tx.append(ConfigureNfsv4()) -- To view, visit http://gerrit.ovirt.org/36229 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I52f19c251500ac2a75fa3cc4b0edbf7640fc5249 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-node Gerrit-Branch: master Gerrit-Owner: Ryan Barry <[email protected]> _______________________________________________ node-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/node-patches
